diff --git a/docs/operator/CHANGELOG.md b/docs/operator/CHANGELOG.md index 490744d2f..e1e40b29c 100644 --- a/docs/operator/CHANGELOG.md +++ b/docs/operator/CHANGELOG.md @@ -1,5 +1,4 @@ --- -sort: 10 weight: 10 title: CHANGELOG menu: @@ -8,10 +7,33 @@ menu: weight: 10 identifier: operator-changelog aliases: - - /operator/CHANGELOG.html - - /operator/changelog.html + - /operator/changelog/ + - /operator/changelog/index.html --- -# CHANGELOG + +## [v0.47.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.0) - 15 Aug 2024 + +### Breaking changes + +- **Update note 1: operator now forbids cross VMAlertmanagerConfig or global receiver references. VMAlertmanagerConfig must include only local receivers .** +- **Update note 2: removed deprecated `mute_time_intervals` from `VMAlertmanagerConfig.spec`. Use `VMAlertmanagerConfig.spec.time_intervals` instead.** +- **Update note 3: operator adds `blackhole` as default route for `VMalertmanager` if root route receiver is empty. Previously it added a first VMAlertmanagerConfig receiver. Update global VMalertmanager configuration with proper route receiver if needed** + +- [config-reloader](https://docs.victoriametrics.com/operator/): adds new flags `tlsCaFile`, `tlsCertFile`,`tlsKeyFile`,`tlsServerName`,`tlsInsecureSkipVerify`. It allows to configure `tls` for reload endpoint. Related [issue](https://github.com/VictoriaMetrics/operator/issues/1033). +- [vmuser](https://docs.victoriametrics.com/operator/resources/vmuser/): adds `status.lastSyncError` field, adds server-side validation for `spec.targetRefs.crd.kind`. Adds small refactoring. +- [vmuser](https://docs.victoriametrics.com/operator/resources/vmuser/): allows to skip `VMUser` from `VMAuth` config generation if it has misconfigured fields. Such as references to non-exist `CRD` objects or missing fields. It's highly recommended to enable `Validation` webhook for `VMUsers`, it should reduce surface of potential misconfiguration. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1047) for details. +- [vmagent](https://docs.victoriametrics.com/operator/resources/vmagent/): adds `status` and `lastSyncError` status fields to all scrape objects - `VMServiceScrape`, `VMPodScrape`, `VMNodeScrape`,`VMPodScrape`, `VMStaticScrape` and `VMScrapeConfig`. It allows to track config generation for `vmagent` from scrape objects. +- [operator](https://docs.victoriametrics.com/operator/): refactors config builder for `VMAgent`. It fixes minor bug with incorrect skip of scrape object with incorrect references for secrets and configmaps. +- [operator](https://docs.victoriametrics.com/operator/): allows to secure `metrics-bind-address` webserver with `TLS` and `mTLS` protection via flags `tls.enable`,`tls.certDir`,`tls.certName`,`tls.key``,`mtls.enable`,`mtls.clietCA`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1033) for details. +- [operator](https://docs.victoriametrics.com/operator/): fixes bug with possible `tlsConfig` `SecretOrConfigmap` references clash. Operator adds `configmap` prefix to the configmap refrenced tls asset. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1067) for details. +- [operator](https://docs.victoriametrics.com/operator/): properly release `PodDisruptionBudget` object finalizer. Previously it could be kept due to typo. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1036) for details. +- [operator](https://docs.victoriametrics.com/operator/): refactors finalizers usage. Simplifies finalizer manipulation with helper functions +- [operator](https://docs.victoriametrics.com/operator/): adds `tls_config` and `authKey` settings to auto-created `VMServiceScrape` for CRD objects from `extraArgs`. See [this](https://github.com/VictoriaMetrics/operator/issues/1033) issue for details. +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig): Improves config validation. Now it properly tracks required fields and provides better feedback for misconfiguration. Adds new `status` fields - `status` and `lastSyncError`. Related [issue](https://github.com/VictoriaMetrics/operator/issues/825). +- [vmalertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager): adds `webConfig` that simplifies tls configuration for alertmanager and allows to properly build probes and access urls for alertmanager. See this [issue](https://github.com/VictoriaMetrics/operator/issues/994) for details. +- [vmalertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager): adds `gossipConfig` to setup client and server TLS configuration for alertmanager. +- [vmagent/vmsingle](https://docs.victoriametrics.com/operator/resources): sync stream aggregation options `dropInputLabels`, `ignoreFirstIntervals`, `ignoreOldSamples` from [upstream](https://docs.victoriametrics.com/stream-aggregation/), and support using configMap as the source of aggregation rules. +- [operator](https://docs.victoriametrics.com/operator/): added `-client.qps` and `-client.burst` flags to override default QPS and burst K8S params. Related [issue](https://github.com/VictoriaMetrics/operator/issues/1059). ## [v0.46.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.4) - 9 Jul 2024 @@ -21,14 +43,14 @@ aliases: - [manifests]: properly add webhook.enable for operatorhub deployments. See this commit 7a460b090dec018ea23ab8d9de414e2f7da1c513 for details. - [manifests]: removes exact user from `runAsUser` setting. It must be defined at `docker image` or `security profile` level. See this commit 1cc4a0e5334f254a771fa06e9c07dfa93fbb734a for details. -- [operator](./README.md): switches from distroless to scratch base image. See this commit 768bf76bdd1ce2080c214cf164f95711d836b960 for details. -- [config-reloader](./README.md): do not specify `command` for container. `command` configured at `docker image` level. See this commit 2192115488e6f2be16bde7ddd71426e305a16144 for details. +- [operator](https://docs.victoriametrics.com/operator/): switches from distroless to scratch base image. See this commit 768bf76bdd1ce2080c214cf164f95711d836b960 for details. +- [config-reloader](https://docs.victoriametrics.com/operator/): do not specify `command` for container. `command` configured at `docker image` level. See this commit 2192115488e6f2be16bde7ddd71426e305a16144 for details. ## [v0.46.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.3) - 5 Jul 2024 -- [operator](./README.md): fixes `config-reloader` image tag name after 0.46.0 release. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1017) for details. -- [prometheus-converter](./README.md): fixes panic at `PodMonitor` convertion with configured `tlsConfig`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1025) for details. -- [api](./api.md): return back `targetPort` for `VMPodScrape` definition. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1015) for details. +- [operator](https://docs.victoriametrics.com/operator/): fixes `config-reloader` image tag name after 0.46.0 release. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1017) for details. +- [prometheus-converter](https://docs.victoriametrics.com/operator/): fixes panic at `PodMonitor` convertion with configured `tlsConfig`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1025) for details. +- [api](https://docs.victoriametrics.com/operator/api): return back `targetPort` for `VMPodScrape` definition. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1015) for details. ## [v0.46.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.0) - 3 Jul 2024 @@ -37,43 +59,45 @@ aliases: - **Update note 1: the `--metrics-addr` command-line flag at `operator` was deprecated. Use `--metrics-bind-address` instead.** - **Update note 2: the `--enable-leader-election` command-line flag at `operator` was deprecated. Use `--leader-elect` instead.** - **Update note 3: the `--http.readyListenAddr` command-line flag at `operator` was deprecated. Use `--health-probe-bind-address` instead.** -- **Update note 4: multitenant endpoints suffix `/insert/multitenant/` needs to be added in `remoteWrite.url` if storage supports multitenancy when using `remoteWriteSettings.useMultiTenantMode`, as upstream [vmagent](https://docs.victoriametrics.com/vmagent/) has deprecated `-remoteWrite.multitenantURL` command-line flag since v1.102.0.** +- **Update note 4: multitenant endpoints suffix `/insert/multitenant/` needs to be added in `remoteWrite.url` if storage supports multitenancy when using `remoteWriteSettings.useMultiTenantMode`, as upstream [vmagent](https://docs.victoriametrics.com/vmagent) has deprecated `-remoteWrite.multitenantURL` command-line flag since v1.102.0.** ### Updates -- [operator](./README.md): adds `tls` flag check for `AsURL` method. It must allow to use `https` configuration for `VMUser` service discovery. See this [issue](https://github.com/VictoriaMetrics/operator/issues/994) for details. -- [operator](./README.md): kubebuilder v2 -> v4 upgrade -- [operator](./README.md): operator docker images are now distroless based -- [operator](./README.md): upgraded certificates.cert-manager.io/v1alpha2 to certificates.cert-manager.io/v1 -- [operator](./README.md): code-generator v0.27.11 -> v0.30.0 upgrade -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): adds missing `handleReconcileErr` callback to the reconcile loop. It must properly handle errors and deregister objects. -- [vmrule](./api.md#vmrule): sync group attributes `eval_offset`, `eval_delay` and `eval_alignment` from [upstream](https://docs.victoriametrics.com/vmalert/#groups). -- [operator](./README.md): fix VM CRs' `xxNamespaceSelector` and `xxSelector` options, previously they are inverted. See this [issue](https://github.com/VictoriaMetrics/operator/issues/980) for details. -- [vmnodescrape](./api.md#vmnodescrape): remove duplicated `series_limit` and `sample_limit` fields in generated scrape_config. See [this issue](https://github.com/VictoriaMetrics/operator/issues/986). +- [operator](https://docs.victoriametrics.com/operator/): adds `tls` flag check for `AsURL` method. It must allow to use `https` configuration for `VMUser` service discovery. See this [issue](https://github.com/VictoriaMetrics/operator/issues/994) for details. +- [operator](https://docs.victoriametrics.com/operator/): kubebuilder v2 -> v4 upgrade +- [operator](https://docs.victoriametrics.com/operator/): operator docker images are now distroless based +- [operator](https://docs.victoriametrics.com/operator/): upgraded certificates.cert-manager.io/v1alpha2 to certificates.cert-manager.io/v1 +- [operator](https://docs.victoriametrics.com/operator/): code-generator v0.27.11 -> v0.30.0 upgrade +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): adds missing `handleReconcileErr` callback to the reconcile loop. It must properly handle errors and deregister objects. +- [vmrule](https://docs.victoriametrics.com/operator/api#vmrule): sync group attributes `eval_offset`, `eval_delay` and `eval_alignment` from [upstream](https://docs.victoriametrics.com/vmalert#groups). +- [operator](https://docs.victoriametrics.com/operator/): fix VM CRs' `xxNamespaceSelector` and `xxSelector` options, previously they are inverted. See this [issue](https://github.com/VictoriaMetrics/operator/issues/980) for details. +- [vmnodescrape](https://docs.victoriametrics.com/operator/api#vmnodescrape): remove duplicated `series_limit` and `sample_limit` fields in generated scrape_config. See [this issue](https://github.com/VictoriaMetrics/operator/issues/986). + +- [vmscrapeconfig](https://docs.victoriametrics.com/operator/api#vmscrapeconfig) - added `max_scrape_size` parameter for scrape protocols configuration ## [v0.45.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.45.0) - 10 Jun 2024 -- [operator](#./README.md): expose only command-line flags related to the operator. Remove all transitive dependency flags. See this [issue](https://github.com/VictoriaMetrics/operator/issues/963) for details. -- [vmalertmanager](./api.md#vmalertmanager): ignores content of `cr.spec.configSecret` if it's name clashes with secret used by operator for storing alertmanager config. See this [issue](https://github.com/VictoriaMetrics/operator/issues/954) for details. -- [operator](./README.md): remove finalizer for child objects with non-empty `DeletetionTimestamp`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/953) for details. -- [operator](./README.md): skip storageClass check if there is no PVC size change. See this [issue](https://github.com/VictoriaMetrics/operator/issues/957) for details. -- [vmauth](./api.md#vmauth): fix url when default http port is changed in targetRef. See this [issue](https://github.com/VictoriaMetrics/operator/issues/960) for details. -- [vmauth](./api.html#vmauth): fix deployment when custom reloader is used. See [this pull request](https://github.com/VictoriaMetrics/operator/pull/964). -- [prometheus-converter](./README.md): removed dependence on getting the list of API resources for all API groups in the cluster (including those that are not used by the operator). Now API resources are requested only for the required groups (monitoring.coreos.com/*). -- [alertmanagerconfig-converter](./README.md): fix alertmanagerconfig converting with receiver `opsgenie_configs`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/968). +- [operator](#https://docs.victoriametrics.com/operator/): expose only command-line flags related to the operator. Remove all transitive dependency flags. See this [issue](https://github.com/VictoriaMetrics/operator/issues/963) for details. +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): ignores content of `cr.spec.configSecret` if it's name clashes with secret used by operator for storing alertmanager config. See this [issue](https://github.com/VictoriaMetrics/operator/issues/954) for details. +- [operator](https://docs.victoriametrics.com/operator/): remove finalizer for child objects with non-empty `DeletetionTimestamp`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/953) for details. +- [operator](https://docs.victoriametrics.com/operator/): skip storageClass check if there is no PVC size change. See this [issue](https://github.com/VictoriaMetrics/operator/issues/957) for details. +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): fix url when default http port is changed in targetRef. See this [issue](https://github.com/VictoriaMetrics/operator/issues/960) for details. +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): fix deployment when custom reloader is used. See [this pull request](https://github.com/VictoriaMetrics/operator/pull/964). +- [prometheus-converter](https://docs.victoriametrics.com/operator/): removed dependence on getting the list of API resources for all API groups in the cluster (including those that are not used by the operator). Now API resources are requested only for the required groups (monitoring.coreos.com/*). +- [alertmanagerconfig-converter](https://docs.victoriametrics.com/operator/): fix alertmanagerconfig converting with receiver `opsgenie_configs`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/968). ## [v0.44.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.44.0) - 9 May 2024 -- [vmagent](./api.md#vmagent): adds new fields into `streamAggrConfig`: `dedup_interval`, `ignore_old_samples`, `keep_metric_names`, `no_align_flush_to_interval`. It's only possible to use it with v1.100+ version of `vmagent`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/936) for details. -- [operator](./README.md): use `Patch` for `finalizers` set/unset operations. It must fix possible issues with `CRD` objects mutations. See this [issue](https://github.com/VictoriaMetrics/operator/issues/946) for details. -- [operator](./README.md): adds `spec.pause` field to `VMAgent`, `VMAlert`, `VMAuth`, `VMCluster`, `VMAlertmanager` and `VMSingle`. It allows to suspend object reconcile by operator. See this [issue](https://github.com/VictoriaMetrics/operator/issues/943) for details. Thanks @just1900 -- [vmagent](./api.md#vmagent): set `status.selector` field. It allows correctly use `VPA` with `vmagent`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/693) for details. -- [prometheus-converter](./README.md): fixes bug with prometheus-operator ScrapeConfig converter. Only copy `spec` field for it. See this [issue](https://github.com/VictoriaMetrics/operator/issues/942) for details. -- [vmscrapeconfig](./resources/vmscrapeconfig.md): `authorization` section in sd configs works properly with empty `type` field (default value for this field is `Bearer`). -- [prometheus-converter](./README.md): fixes owner reference type on VMScrapeConfig objects -- [vmauth&vmuser](./api.md#vmauth): sync config fields from [upstream](https://docs.victoriametrics.com/vmauth/), e.g., src_query_args, discover_backend_ips. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): adds new fields into `streamAggrConfig`: `dedup_interval`, `ignore_old_samples`, `keep_metric_names`, `no_align_flush_to_interval`. It's only possible to use it with v1.100+ version of `vmagent`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/936) for details. +- [operator](https://docs.victoriametrics.com/operator/): use `Patch` for `finalizers` set/unset operations. It must fix possible issues with `CRD` objects mutations. See this [issue](https://github.com/VictoriaMetrics/operator/issues/946) for details. +- [operator](https://docs.victoriametrics.com/operator/): adds `spec.pause` field to `VMAgent`, `VMAlert`, `VMAuth`, `VMCluster`, `VMAlertmanager` and `VMSingle`. It allows to suspend object reconcile by operator. See this [issue](https://github.com/VictoriaMetrics/operator/issues/943) for details. Thanks @just1900 +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): set `status.selector` field. It allows correctly use `VPA` with `vmagent`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/693) for details. +- [prometheus-converter](https://docs.victoriametrics.com/operator/): fixes bug with prometheus-operator ScrapeConfig converter. Only copy `spec` field for it. See this [issue](https://github.com/VictoriaMetrics/operator/issues/942) for details. +- [vmscrapeconfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig): `authorization` section in sd configs works properly with empty `type` field (default value for this field is `Bearer`). +- [prometheus-converter](https://docs.victoriametrics.com/operator/): fixes owner reference type on VMScrapeConfig objects +- [vmauth&vmuser](https://docs.victoriametrics.com/operator/api#vmauth): sync config fields from [upstream](https://docs.victoriametrics.com/vmauth), e.g., src_query_args, discover_backend_ips. @@ -85,59 +109,59 @@ aliases: ## [v0.43.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.4) - 25 Apr 2024 -- [operator](./README.md): properly set status to `expanding` for `VMCluster` during initial creation. Previously, it was always `operational`. -- [operator](./README.md): adds more context to `Deployment` and `Statefulset` watch ready functions. Now, it reports state of unhealthy pod. It allows to find issue with it faster. +- [operator](https://docs.victoriametrics.com/operator/): properly set status to `expanding` for `VMCluster` during initial creation. Previously, it was always `operational`. +- [operator](https://docs.victoriametrics.com/operator/): adds more context to `Deployment` and `Statefulset` watch ready functions. Now, it reports state of unhealthy pod. It allows to find issue with it faster. ## [v0.43.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.3) - 23 Apr 2024 -- [operator](./README.md): fix conversion from `ServiceMonitor` to `VMServiceScrape`, `bearerTokenSecret` is dropped mistakenly since [v0.43.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.0). See [this issue](https://github.com/VictoriaMetrics/operator/issues/932). -- [operator](./README.md): fix selector match for config resources like VMUser, VMRule... , before it could be ignored when update resource labels. +- [operator](https://docs.victoriametrics.com/operator/): fix conversion from `ServiceMonitor` to `VMServiceScrape`, `bearerTokenSecret` is dropped mistakenly since [v0.43.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.0). See [this issue](https://github.com/VictoriaMetrics/operator/issues/932). +- [operator](https://docs.victoriametrics.com/operator/): fix selector match for config resources like VMUser, VMRule... , before it could be ignored when update resource labels. ## [v0.43.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.2) - 22 Apr 2024 -- [vmagent](./api.md#vmagent): fixes bug with `ServiceAccount` not found with `ingestOnlyMode`. -- [vmagent](./api.md#vmagent): fixes `unknown long flag '--rules-dir'` for prometheus-config-reloader. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): fixes bug with `ServiceAccount` not found with `ingestOnlyMode`. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): fixes `unknown long flag '--rules-dir'` for prometheus-config-reloader. ## [v0.43.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.1) - 18 Apr 2024 -- [operator](./README.md): properly add `liveness` and `readiness` probes to `config-reloader`, if `VM_USECUSTOMCONFIGRELOADER=false`. +- [operator](https://docs.victoriametrics.com/operator/): properly add `liveness` and `readiness` probes to `config-reloader`, if `VM_USECUSTOMCONFIGRELOADER=false`. ## [v0.43.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.0) - 18 Apr 2024 -**Update note: [vmcluster](./api.md#vmcluster): remove fields `VMClusterSpec.VMInsert.Name`, `VMClusterSpec.VMStorage.Name`, `VMClusterSpec.VMSelect.Name`, they're marked as deprecated since v0.21.0. See [this pull request](https://github.com/VictoriaMetrics/operator/pull/907).** +**Update note: [vmcluster](https://docs.victoriametrics.com/operator/api#vmcluster): remove fields `VMClusterSpec.VMInsert.Name`, `VMClusterSpec.VMStorage.Name`, `VMClusterSpec.VMSelect.Name`, they're marked as deprecated since v0.21.0. See [this pull request](https://github.com/VictoriaMetrics/operator/pull/907).** **Update note: PodSecurityPolicy supports was deleted. Operator no long creates PSP related objects since it's no longer supported by Kubernetes actual versions. See this [doc](https://kubernetes.io/blog/2021/04/08/kubernetes-1-21-release-announcement/#podsecuritypolicy-deprecation) for details.** **Update note: PodDisruptionBudget at betav1 API is no longer supported. Operator uses v1 stable version. See this [doc](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#poddisruptionbudget-v125) for details.** **Update note: `Alertmanager` versions below `v0.22.0` are no longer supported. Version must upgraded - manually for resources or use default version bundled with operator config.** -- [operator](./README.md): properly reconcile `ServiceAccount` specified for `CRD`s. Previously operator didn't perform a check for actual owner of `ServiceAccount`. Now it creates and updates `ServiceAccount` only if this field is omitted at `CRD` definition. It fixes possible ownership race conditions. +- [operator](https://docs.victoriametrics.com/operator/): properly reconcile `ServiceAccount` specified for `CRD`s. Previously operator didn't perform a check for actual owner of `ServiceAccount`. Now it creates and updates `ServiceAccount` only if this field is omitted at `CRD` definition. It fixes possible ownership race conditions. - Update VictoriaMetrics image tags to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1). -- [operator](./README.md): reduce number of watched resources owned by `CRD`s. Operator no longer watches for `Service`, `Secret`, `Configmap` changes owned by CRD object. It must reduce logging output, CPU and memory usage for operator. -- [operator](./README.md): exposes `config-reloader-http` port with `8435` number for the customer config-reloader containers. Operator may use own config-reloader implementation for `VMAuth`, `VMAlertmanager` and `VMAgent`. -- [operator](./README.md): adds new field `configReloaderExtraArgs` for `VMAgent`, `VMAlert`, `VMAuth` and `VMAlertmanager` CRDs. It allows to configure config-reloader container. -- [config-reloader](./README.md): adds error metrics to the config-reloader container - `configreloader_last_reload_successful`, `configreloader_last_reload_errors_total`, `configreloader_config_last_reload_total`, `configreloader_k8s_watch_errors_total`, `configreloader_secret_content_update_errors_total`, `configreloader_last_reload_success_timestamp_seconds`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/916) for details. -- [operator](./README.md): Changes error handling for reconcile. Operator sends `Events` into kubernetes API, if any error happened during object reconcile. See this [issue](https://github.com/VictoriaMetrics/operator/issues/900) for details. -- [operator](./README.md): updates base Docker image and prometheus_client to versions with with CVE fixes -- [operator](./README.md): adds reconcile retries on conflicts. See this [issue](https://github.com/VictoriaMetrics/operator/issues/901) for details. -- [operator](./README.md): allows adjust `Service` generated by operator with `useAsDefault` option set to `true` for `serviceSpec` field. See this [issue](https://github.com/VictoriaMetrics/operator/issues/904) for details. -- [vmagent](./api.md#vmagent): allows to modify `serviceName` field for `vmagent` at `statefulMode` with custom service. See [this issue](https://github.com/VictoriaMetrics/operator/issues/917) for details. Thanks @yilmazo -- [vmagent](./api.md#vmagent): change service for `statefulMode` to the `headless` instead of `clusterIP`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/917) for details. -- [vmservicescrape&vmpodscrape](./api.md#vmservicescrape): add `attach_metadata` option under VMServiceScrapeSpec&VMPodScrapeSpec, the same way like prometheus serviceMonitor&podMonitor do. See [this issue](https://github.com/VictoriaMetrics/operator/issues/893) for details. -- [vmagent](./api.md#vmagent): allows multi-line `regex` at `relabelConfig`. See [this docs](https://docs.victoriametrics.com/vmagent/#relabeling-enhancements) and this [issue](https://github.com/VictoriaMetrics/operator/issues/740) for details. -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): fix struct field tags under `Sigv4Config`. -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): adds own `config-reloader` container. It must improve speed of config updates. See [this issue](https://github.com/VictoriaMetrics/operator/issues/915) for details. -- [vmalertmanager](./api.md#vmalertmanager): bump default alertmanager version to [v0.27.0](https://github.com/prometheus/alertmanager/releases/tag/v0.27.0), which supports new receivers like `msteams_configs`. -- [vmalertmanager](./api.md#vmalertmanager): supports alertmanager version v0.22.0 or higher. Previous versions are no longer supported and must be upgraded before using new operator release. -- [vmscrapeconfig](./api.md#vmscrapeconfig): add crd VMScrapeConfig, which can define a scrape config using any of the service discovery options supported in victoriametrics. -- [vmuser](./api.md#vmuser): adds `targetRefBasicAuth` field `targetRef`, which allow to configure basic authorization for `target_url`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/669) for details. Thanks @mohammadkhavari -- [vmprobe](./api.md#vmprobe): add field `proxy_url`, see [this issue](https://github.com/VictoriaMetrics/operator/issues/731) for details. +- [operator](https://docs.victoriametrics.com/operator/): reduce number of watched resources owned by `CRD`s. Operator no longer watches for `Service`, `Secret`, `Configmap` changes owned by CRD object. It must reduce logging output, CPU and memory usage for operator. +- [operator](https://docs.victoriametrics.com/operator/): exposes `config-reloader-http` port with `8435` number for the customer config-reloader containers. Operator may use own config-reloader implementation for `VMAuth`, `VMAlertmanager` and `VMAgent`. +- [operator](https://docs.victoriametrics.com/operator/): adds new field `configReloaderExtraArgs` for `VMAgent`, `VMAlert`, `VMAuth` and `VMAlertmanager` CRDs. It allows to configure config-reloader container. +- [config-reloader](https://docs.victoriametrics.com/operator/): adds error metrics to the config-reloader container - `configreloader_last_reload_successful`, `configreloader_last_reload_errors_total`, `configreloader_config_last_reload_total`, `configreloader_k8s_watch_errors_total`, `configreloader_secret_content_update_errors_total`, `configreloader_last_reload_success_timestamp_seconds`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/916) for details. +- [operator](https://docs.victoriametrics.com/operator/): Changes error handling for reconcile. Operator sends `Events` into kubernetes API, if any error happened during object reconcile. See this [issue](https://github.com/VictoriaMetrics/operator/issues/900) for details. +- [operator](https://docs.victoriametrics.com/operator/): updates base Docker image and prometheus_client to versions with with CVE fixes +- [operator](https://docs.victoriametrics.com/operator/): adds reconcile retries on conflicts. See this [issue](https://github.com/VictoriaMetrics/operator/issues/901) for details. +- [operator](https://docs.victoriametrics.com/operator/): allows adjust `Service` generated by operator with `useAsDefault` option set to `true` for `serviceSpec` field. See this [issue](https://github.com/VictoriaMetrics/operator/issues/904) for details. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): allows to modify `serviceName` field for `vmagent` at `statefulMode` with custom service. See [this issue](https://github.com/VictoriaMetrics/operator/issues/917) for details. Thanks @yilmazo +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): change service for `statefulMode` to the `headless` instead of `clusterIP`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/917) for details. +- [vmservicescrape&vmpodscrape](https://docs.victoriametrics.com/operator/api#vmservicescrape): add `attach_metadata` option under VMServiceScrapeSpec&VMPodScrapeSpec, the same way like prometheus serviceMonitor&podMonitor do. See [this issue](https://github.com/VictoriaMetrics/operator/issues/893) for details. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): allows multi-line `regex` at `relabelConfig`. See [this docs](https://docs.victoriametrics.com/vmagent#relabeling-enhancements) and this [issue](https://github.com/VictoriaMetrics/operator/issues/740) for details. +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): fix struct field tags under `Sigv4Config`. +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): adds own `config-reloader` container. It must improve speed of config updates. See [this issue](https://github.com/VictoriaMetrics/operator/issues/915) for details. +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): bump default alertmanager version to [v0.27.0](https://github.com/prometheus/alertmanager/releases/tag/v0.27.0), which supports new receivers like `msteams_configs`. +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): supports alertmanager version v0.22.0 or higher. Previous versions are no longer supported and must be upgraded before using new operator release. +- [vmscrapeconfig](https://docs.victoriametrics.com/operator/api#vmscrapeconfig): add crd VMScrapeConfig, which can define a scrape config using any of the service discovery options supported in victoriametrics. +- [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): adds `targetRefBasicAuth` field `targetRef`, which allow to configure basic authorization for `target_url`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/669) for details. Thanks @mohammadkhavari +- [vmprobe](https://docs.victoriametrics.com/operator/api#vmprobe): add field `proxy_url`, see [this issue](https://github.com/VictoriaMetrics/operator/issues/731) for details. - scrape CRDs: add field `series_limit`, which can be used to limit the number of unique time series a single scrape target can expose. - scrape CRDs: fix scrape_config filed `disable_keep_alive`, before it's misconfigured as `disable_keepalive` and won't work. - scrape CRDs: deprecated option `relabel_debug` and `metric_relabel_debug`, they were deprecated since [v1.85.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.85.0). @@ -146,41 +170,41 @@ aliases: ## [v0.43.](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.3) - 12 Mar 2024 -- [vmalert](./api.md#vmalert): do not add `notifiers.*` flags in case `notifier.blackhole` is provided via `spec.extraArgs`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/894) for details. -- [operator](./README.md): properly build liveness probe scheme with enabled `tls`. Previously it has hard-coded `HTTP` scheme. See this [issue](https://github.com/VictoriaMetrics/operator/issues/896) for details. -- [operator](./README.md): do not perform a PVC size check on `StatefulSet` with `0` replicas. It allows to creates CRDs with `0` replicas for later conditional resizing. -- [vmalertmanager](./api.html#vmalertmanager): properly print columns at CRD `replicaCount` and `version` status fields. +- [vmalert](https://docs.victoriametrics.com/operator/api#vmalert): do not add `notifiers.*` flags in case `notifier.blackhole` is provided via `spec.extraArgs`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/894) for details. +- [operator](https://docs.victoriametrics.com/operator/): properly build liveness probe scheme with enabled `tls`. Previously it has hard-coded `HTTP` scheme. See this [issue](https://github.com/VictoriaMetrics/operator/issues/896) for details. +- [operator](https://docs.victoriametrics.com/operator/): do not perform a PVC size check on `StatefulSet` with `0` replicas. It allows to creates CRDs with `0` replicas for later conditional resizing. +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): properly print columns at CRD `replicaCount` and `version` status fields. ## [v0.42.](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.2) - 6 Mar 2024 -- [operator](./README.md): fixes alertmanager args typo. -- [prometheus-converter](./README.md): adds new flag `controller.prometheusCRD.resyncPeriod` which allows to configure resync period of prometheus CRD objects. See this [issue](https://github.com/VictoriaMetrics/operator/issues/869) for details. +- [operator](https://docs.victoriametrics.com/operator/): fixes alertmanager args typo. +- [prometheus-converter](https://docs.victoriametrics.com/operator/): adds new flag `controller.prometheusCRD.resyncPeriod` which allows to configure resync period of prometheus CRD objects. See this [issue](https://github.com/VictoriaMetrics/operator/issues/869) for details. ## [v0.42.](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.1) - 5 Mar 2024 -- [operator](./README.md): properly watch for prometheus CRD objects. See this [issue](https://github.com/VictoriaMetrics/operator/issues/892) for details. +- [operator](https://docs.victoriametrics.com/operator/): properly watch for prometheus CRD objects. See this [issue](https://github.com/VictoriaMetrics/operator/issues/892) for details. ## [v0.42.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.0) - 4 Mar 2024 -- [operator](./README.md): adds more context to the log messages. It must greatly improve debugging process and log quality. +- [operator](https://docs.victoriametrics.com/operator/): adds more context to the log messages. It must greatly improve debugging process and log quality. - Update VictoriaMetrics image tags to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0). -- [operator](./README.md): allow multiple comma separated values for `WATCH_NAMESPACE` param. It adds multiple watch namespace mode without cluster-wide permission. See this [issue](https://github.com/VictoriaMetrics/operator/issues/557) for details. Need namspace RBAC permissions located at `config/examples/operator_rbac_for_single_namespace.yaml` -- [operator](./README.md): updates runtime dependencies (controller-runtime, controller-gen). See this [issue](https://github.com/VictoriaMetrics/operator/issues/878) for details. -- [operator](./README.md): updates runtime dependencies (controller-runtime, controller-gen). See this [issue](https://github.com/VictoriaMetrics/operator/issues/878) for details. -- [operator](./README.md): adds new `status.updateStatus` field to the all objects with pods. It helps to track rollout updates properly. -- [operator](./README.md): adds annotation `operator.victoriametrics/last-applied-spec` to all objects with pods. It helps to track changes and implements proper resource deletion later as part of [issue](https://github.com/VictoriaMetrics/operator/issues/758). -- [vmagent](./api.md#vmagent): adds `flush_on_shutdown` to the streamAggrConfig. See this [issue](https://github.com/VictoriaMetrics/operator/issues/860) for details. -- [vmagent](./api.md#vmagent): adds `spec.ingestOnlyMode` experimental field. It switches vmagent into special mode without scrape configuration and config-reloaders. Currently it also disables tls and auth options for remoteWrites, it must be addressed at the next releaes. -- [vmalertmanager](./api.html#vmalertmanager): use `blackhole` as default router if not configuration provided instead of dummy webhook. 9ee567ff9bc93f43dfedcf9361be1be54a5e7597 -- [vmalertmanager](./api.html#vmalertmanager): properly assign path for templates, if it's configured at config file and defined via `spec.templates`. 1128fa9e152a52c7a566fe7ac1375fefbfc6b276 -- [vmauth](./api.html#vmauth): adds new field `spec.configSecret`, which allows to use vmauth with external configuration stored at secret under `config.yaml` key. Configuration changes can be tracked with extraArgs: `configCheckInterval: 10s` or manually defined config-reloader container. -- [vmstorage](./api.html#vmcluster): properly disable `pvc` resizing with annotation `operator.victoriametrics.com/pvc-allow-volume-expansion`. Previously it was checked per pvc, now it's checked at statefulset storage spec. It also, allows to add pvc autoscaler. Related issues , . +- [operator](https://docs.victoriametrics.com/operator/): allow multiple comma separated values for `WATCH_NAMESPACE` param. It adds multiple watch namespace mode without cluster-wide permission. See this [issue](https://github.com/VictoriaMetrics/operator/issues/557) for details. Need namspace RBAC permissions located at `config/examples/operator_rbac_for_single_namespace.yaml` +- [operator](https://docs.victoriametrics.com/operator/): updates runtime dependencies (controller-runtime, controller-gen). See this [issue](https://github.com/VictoriaMetrics/operator/issues/878) for details. +- [operator](https://docs.victoriametrics.com/operator/): updates runtime dependencies (controller-runtime, controller-gen). See this [issue](https://github.com/VictoriaMetrics/operator/issues/878) for details. +- [operator](https://docs.victoriametrics.com/operator/): adds new `status.updateStatus` field to the all objects with pods. It helps to track rollout updates properly. +- [operator](https://docs.victoriametrics.com/operator/): adds annotation `operator.victoriametrics/last-applied-spec` to all objects with pods. It helps to track changes and implements proper resource deletion later as part of [issue](https://github.com/VictoriaMetrics/operator/issues/758). +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): adds `flush_on_shutdown` to the streamAggrConfig. See this [issue](https://github.com/VictoriaMetrics/operator/issues/860) for details. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): adds `spec.ingestOnlyMode` experimental field. It switches vmagent into special mode without scrape configuration and config-reloaders. Currently it also disables tls and auth options for remoteWrites, it must be addressed at the next release. +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): use `blackhole` as default router if not configuration provided instead of dummy webhook. 9ee567ff9bc93f43dfedcf9361be1be54a5e7597 +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): properly assign path for templates, if it's configured at config file and defined via `spec.templates`. 1128fa9e152a52c7a566fe7ac1375fefbfc6b276 +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): adds new field `spec.configSecret`, which allows to use vmauth with external configuration stored at secret under `config.yaml` key. Configuration changes can be tracked with extraArgs: `configCheckInterval: 10s` or manually defined config-reloader container. +- [vmstorage](https://docs.victoriametrics.com/operator/api#vmcluster): properly disable `pvc` resizing with annotation `operator.victoriametrics.com/pvc-allow-volume-expansion`. Previously it was checked per pvc, now it's checked at statefulset storage spec. It also, allows to add pvc autoscaler. Related issues , . ## [v0.41.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.41.2) - 21 Feb 2024 @@ -199,26 +223,26 @@ aliases: ## [v0.41.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.41.0) - 31 Jan 2024 - update VictoriaMetrics image tags to [v1.97.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.0). -- [vmauth](./api.html#vmauth): add new fields for `unauthorized_user` like `src_hosts`, `headers`, `retry_status_codes` and `load_balancing_policy`. See [vmauth docs](https://docs.victoriametrics.com/vmauth/) for more details. +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): add new fields for `unauthorized_user` like `src_hosts`, `headers`, `retry_status_codes` and `load_balancing_policy`. See [vmauth docs](https://docs.victoriametrics.com/vmauth) for more details. ## [v0.40.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.40.0) - 23 Jan 2024 -- [vmalertmanager](./api.html#vmalertmanagerconfig): fix `VMAlertmanagerConfig` discovery according to [the docs](https://docs.victoriametrics.com/operator/resources/vmalertmanager.html#using-vmalertmanagerconfig). -- [vmoperator](./README.md): add alerting rules for operator itself. See [this issue](https://github.com/VictoriaMetrics/operator/issues/526) for details. -- [vmoperator](./README.md): add `revisionHistoryLimitCount` field for victoriametrics workload CRDs. See [this issue](https://github.com/VictoriaMetrics/operator/pull/834) for details. Thanks [@gidesh](https://github.com/gidesh) -- [vmuser](./api.md#vmuser): add new fields to VMUser: `drop_src_path_prefix_parts`, `tls_insecure_skip_verify`, `metric_labels` and `load_balancing_policy`. See [specifications](https://docs.victoriametrics.com/operator/api.html#vmuserspec) and [vmauth docs](https://docs.victoriametrics.com/vmauth/) for more details. **Field `metric_labels` will work only with VMAuth version >= v1.97.0!** -- [vmoperator](./README.md): add CRD support for `discord_configs`, `msteams_configs`, `sns_configs` and `webex_configs` receiver types in [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig.html). See [this issue](https://github.com/VictoriaMetrics/operator/issues/808) -- [vmoperator](./README.md): add MinReadySeconds param for all CRDs. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/608) and [this PR](https://github.com/VictoriaMetrics/operator/pull/846). +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): fix `VMAlertmanagerConfig` discovery according to [the docs](https://docs.victoriametrics.com/operator/resources/vmalertmanager#using-vmalertmanagerconfig). +- [vmoperator](https://docs.victoriametrics.com/operator/): add alerting rules for operator itself. See [this issue](https://github.com/VictoriaMetrics/operator/issues/526) for details. +- [vmoperator](https://docs.victoriametrics.com/operator/): add `revisionHistoryLimitCount` field for victoriametrics workload CRDs. See [this issue](https://github.com/VictoriaMetrics/operator/pull/834) for details. Thanks [@gidesh](https://github.com/gidesh) +- [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): add new fields to VMUser: `drop_src_path_prefix_parts`, `tls_insecure_skip_verify`, `metric_labels` and `load_balancing_policy`. See [specifications](https://docs.victoriametrics.com/operator/api#vmuserspec) and [vmauth docs](https://docs.victoriametrics.com/operator/resources/vmauth) for more details. **Field `metric_labels` will work only with VMAuth version >= v1.97.0!** +- [vmoperator](https://docs.victoriametrics.com/operator/): add CRD support for `discord_configs`, `msteams_configs`, `sns_configs` and `webex_configs` receiver types in [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig). See [this issue](https://github.com/VictoriaMetrics/operator/issues/808) +- [vmoperator](https://docs.victoriametrics.com/operator/): add MinReadySeconds param for all CRDs. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/608) and [this PR](https://github.com/VictoriaMetrics/operator/pull/846). ## [v0.39.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.4) - 13 Dec 2023 - update VictoriaMetrics image tags to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0). -- [vmalertmanagerconfig](./api.html#vmalertmanagerconfig): add fields `entity`, `actions` and `update_alerts` for opsgenie_configs according to . -- [vmoperator](./README.md): remove vmalert notifier null check, since `-notifier.url` is optional and is needed only if there are alerting rules. +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): add fields `entity`, `actions` and `update_alerts` for opsgenie_configs according to . +- [vmoperator](https://docs.victoriametrics.com/operator/): remove vmalert notifier null check, since `-notifier.url` is optional and is needed only if there are alerting rules. @@ -232,17 +256,17 @@ aliases: ### Features -- [vmoperator](./README.md): properly compare difference for `statefulSet` claimTemplate metadata. See [this commit](https://github.com/VictoriaMetrics/operator/commit/49f9c72b504582b06f72eda94055fd964a11d342) for details. -- [vmoperator](./README.md): sort `statefulSet` pods by id for rolling update order. See [this commit](https://github.com/VictoriaMetrics/operator/commit/e73b03acd073ec3eda34231083a48c6f79a6757b) for details. -- [vmoperator](./README.md): optimize statefulset update logic, that should reduce some unneeded operations. See [this PR](https://github.com/VictoriaMetrics/operator/pull/801) for details. +- [vmoperator](https://docs.victoriametrics.com/operator/): properly compare difference for `statefulSet` claimTemplate metadata. See [this commit](https://github.com/VictoriaMetrics/operator/commit/49f9c72b504582b06f72eda94055fd964a11d342) for details. +- [vmoperator](https://docs.victoriametrics.com/operator/): sort `statefulSet` pods by id for rolling update order. See [this commit](https://github.com/VictoriaMetrics/operator/commit/e73b03acd073ec3eda34231083a48c6f79a6757b) for details. +- [vmoperator](https://docs.victoriametrics.com/operator/): optimize statefulset update logic, that should reduce some unneeded operations. See [this PR](https://github.com/VictoriaMetrics/operator/pull/801) for details. ## [v0.39.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.1) - 1 Nov 2023 -- [vmuser](./api.md#vmuser): adds new paths for vminsert/vmselect routing with enabled dynamic discovery feature for `VMUser`. See [this PR](https://github.com/VictoriaMetrics/operator/pull/791) for details. -- [vmcluster](./api.md#vmcluster): from now on operator passes `-replicationFactor` (if it set in `vmcluster`) for `vmselect`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/778). -- [vmagent](./api.md#vmagent): updated dependency for properly parsing chained `if` expressions in validation webhook. +- [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): adds new paths for vminsert/vmselect routing with enabled dynamic discovery feature for `VMUser`. See [this PR](https://github.com/VictoriaMetrics/operator/pull/791) for details. +- [vmcluster](https://docs.victoriametrics.com/operator/api#vmcluster): from now on operator passes `-replicationFactor` (if it set in `vmcluster`) for `vmselect`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/778). +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): updated dependency for properly parsing chained `if` expressions in validation webhook. @@ -250,19 +274,19 @@ aliases: ### Features -- [vmoperator](./README.md): upgrade vmagent/vmauth's default config-reloader image. -- [vmuser](./api.md#vmuser): adds `retry_status_codes` , `max_concurrent_requests` and `response_headers` settings. It's supported since `v1.94.0` release of [vmauth](https://docs.victoriametrics.com/vmauth.html) -- [vmoperator](./README.md): adds `useStrictSecurity` for all components. It allows to migrate from insecure to strictly secured deployments per component without breaking changes. See [this issue](https://github.com/VictoriaMetrics/operator/issues/762#issuecomment-1735061532) for details. -- [vmoperator](./README.md): add ability to provide license key for VictoriaMetrics enterprise components. See [this doc](https://docs.victoriametrics.com/enterprise.html) for the details. +- [vmoperator](https://docs.victoriametrics.com/operator/): upgrade vmagent/vmauth's default config-reloader image. +- [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): adds `retry_status_codes` , `max_concurrent_requests` and `response_headers` settings. It's supported since `v1.94.0` release of [vmauth](https://docs.victoriametrics.com/vmauth) +- [vmoperator](https://docs.victoriametrics.com/operator/): adds `useStrictSecurity` for all components. It allows to migrate from insecure to strictly secured deployments per component without breaking changes. See [this issue](https://github.com/VictoriaMetrics/operator/issues/762#issuecomment-1735061532) for details. +- [vmoperator](https://docs.victoriametrics.com/operator/): add ability to provide license key for VictoriaMetrics enterprise components. See [this doc](https://docs.victoriametrics.com/enterprise) for the details. ### Fixes -- [vmcluster](./api.html#vmcluster): remove redundant annotation `operator.victoriametrics/last-applied-spec` from created workloads like vmstorage statefulset. -- [vmoperator](./README.md): properly resize statefulset's multiple pvc when needed and allowable, before they could be updated with wrong size. -- [vmoperator](./README.md): fix wrong api group of endpointsices, before vmagent won't able to access endpointsices resources with default rbac rule. -- [vmauth/vmagent](./README.md): adds default resources for init container with configuration download. See [this issue](https://github.com/VictoriaMetrics/operator/issues/767) for details. -- [vmauth/vmagent](./README.md): correctly set flag for custom config reloader image during config initialisation. See [this issue](https://github.com/VictoriaMetrics/operator/issues/770) for details. -- [vmauth](./api.md#vmauth): correctly set config reloader image for init container. +- [vmcluster](https://docs.victoriametrics.com/operator/api#vmcluster): remove redundant annotation `operator.victoriametrics/last-applied-spec` from created workloads like vmstorage statefulset. +- [vmoperator](https://docs.victoriametrics.com/operator/): properly resize statefulset's multiple pvc when needed and allowable, before they could be updated with wrong size. +- [vmoperator](https://docs.victoriametrics.com/operator/): fix wrong api group of endpointsices, before vmagent won't able to access endpointsices resources with default rbac rule. +- [vmauth/vmagent](https://docs.victoriametrics.com/operator/): adds default resources for init container with configuration download. See [this issue](https://github.com/VictoriaMetrics/operator/issues/767) for details. +- [vmauth/vmagent](https://docs.victoriametrics.com/operator/): correctly set flag for custom config reloader image during config initialisation. See [this issue](https://github.com/VictoriaMetrics/operator/issues/770) for details. +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): correctly set config reloader image for init container. @@ -272,13 +296,13 @@ aliases: ### Fixes -- [vmuser](./api.md#vmuser): [Enterprise] fixes ip_filters indent for url_prefix. Previously it wasn't possible to use ip_filters with multiple target refs -- [vmoperator](./README.md): turn off `EnableStrictSecurity` by default. Before, upgrade operator to v0.36.0+ could fail components with volume attached, see [this issue](https://github.com/VictoriaMetrics/operator/issues/749) for details. -- [vmoperator](./README.md): bump default version of VictoriaMetrics components to [1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4). +- [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): [Enterprise] fixes ip_filters indent for url_prefix. Previously it wasn't possible to use ip_filters with multiple target refs +- [vmoperator](https://docs.victoriametrics.com/operator/): turn off `EnableStrictSecurity` by default. Before, upgrade operator to v0.36.0+ could fail components with volume attached, see [this issue](https://github.com/VictoriaMetrics/operator/issues/749) for details. +- [vmoperator](https://docs.victoriametrics.com/operator/): bump default version of VictoriaMetrics components to [1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4). ### Features -- [vmoperator](./README.md) add ability to print default values for all [operator variables](./vars.md). See [this issue](https://github.com/VictoriaMetrics/operator/issues/675) for details. +- [vmoperator](https://docs.victoriametrics.com/operator/) add ability to print default values for all [operator variables](https://docs.victoriametrics.com/operator/vars). See [this issue](https://github.com/VictoriaMetrics/operator/issues/675) for details. @@ -296,11 +320,11 @@ aliases: ### Fixes -- [vmagent](./api.md#vmagent): fix unmarshalling for streaming aggregation `match` field. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): fix unmarshalling for streaming aggregation `match` field. ### Features -- [vmagent](./api.md#vmagent): support [multiple if conditions](https://docs.victoriametrics.com/vmagent.html#relabeling:~:text=the%20if%20option%20may%20contain%20more%20than%20one%20filter) for relabeling. See [this issue](https://github.com/VictoriaMetrics/operator/issues/730) for details. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): support [multiple if conditions](https://docs.victoriametrics.com/vmagent#relabeling:~:text=the%20if%20option%20may%20contain%20more%20than%20one%20filter) for relabeling. See [this issue](https://github.com/VictoriaMetrics/operator/issues/730) for details. @@ -308,7 +332,7 @@ aliases: ### Fixes -- [vmselect](./api.md#vmcluster): fix cache directory when `cacheDataPath` not specified, before it will use `/tmp` which is protect by default strict securityContext. +- [vmselect](https://docs.victoriametrics.com/operator/api#vmcluster): fix cache directory when `cacheDataPath` not specified, before it will use `/tmp` which is protect by default strict securityContext. ### Features @@ -318,7 +342,7 @@ aliases: ### Breaking changes -- **[vmalert](./api.md#vmalert): Field `OAuth2` was renamed to `oauth2` due to compatibility issue. If you defined `OAuth2` with below fields in vmalert objects using operator before v0.36.0, these fields must be reapplied with new tag `oauth2` after upgrading. See [this issue](https://github.com/VictoriaMetrics/operator/issues/522) and [this PR](https://github.com/VictoriaMetrics/operator/pull/689) for details.** +- **[vmalert](https://docs.victoriametrics.com/operator/api#vmalert): Field `OAuth2` was renamed to `oauth2` due to compatibility issue. If you defined `OAuth2` with below fields in vmalert objects using operator before v0.36.0, these fields must be reapplied with new tag `oauth2` after upgrading. See [this issue](https://github.com/VictoriaMetrics/operator/issues/522) and [this PR](https://github.com/VictoriaMetrics/operator/pull/689) for details.** - **Affected fields:** - **`VMAlert.spec.datasource.OAuth2` -> `VMAlert.spec.datasource.oauth2`,** - **`VMAlert.spec.notifier.OAuth2` -> `VMAlert.spec.notifier.oauth2`,** @@ -326,7 +350,7 @@ aliases: - **`VMAlert.spec.remoteRead.OAuth2` -> `VMAlert.spec.remoteRead.oauth2`,** - **`VMAlert.spec.remoteWrite.OAuth2` -> `VMAlert.spec.remoteWrite.oauth2`,** -- **[vmalert](./api.md#vmalert): Field `bearerTokenFilePath` was renamed to `bearerTokenFile` due to compatibility issue. If you defined `bearerTokenFilePath` with below fields in vmalert objects using operator before v0.36.0, these fields must be reapplied with new tag `bearerTokenFile` after upgrading. See [this issue](https://github.com/VictoriaMetrics/operator/issues/522) and [this PR](https://github.com/VictoriaMetrics/operator/pull/688/) for details.** +- **[vmalert](https://docs.victoriametrics.com/operator/api#vmalert): Field `bearerTokenFilePath` was renamed to `bearerTokenFile` due to compatibility issue. If you defined `bearerTokenFilePath` with below fields in vmalert objects using operator before v0.36.0, these fields must be reapplied with new tag `bearerTokenFile` after upgrading. See [this issue](https://github.com/VictoriaMetrics/operator/issues/522) and [this PR](https://github.com/VictoriaMetrics/operator/pull/688/) for details.** - **Affected fields:** - **`VMAlert.spec.datasource.bearerTokenFilePath` --> `VMAlert.spec.datasource.bearerTokenFile`,** - **`VMAlert.spec.notifier.bearerTokenFilePath` --> `VMAlert.spec.notifier.bearerTokenFile`,** @@ -339,22 +363,22 @@ aliases: - operator set resource requests for config-reloader container by default. See [this PR](https://github.com/VictoriaMetrics/operator/pull/695/) for details. - fix `attachMetadata` value miscovert for scrape objects. See [this issue](https://github.com/VictoriaMetrics/operator/issues/697) and [this PR](https://github.com/VictoriaMetrics/operator/pull/698) for details. - fix volumeClaimTemplates change check for objects that generate statefulset, like vmstorage, vmselect. Before, the statefulset won't be recreated if additional `claimTemplates` object changed. See [this issue](https://github.com/VictoriaMetrics/operator/issues/507) and [this PR](https://github.com/VictoriaMetrics/operator/pull/719) for details. -- [vmalert](./api.md#vmalert): fix `tlsCAFile` argument value generation when using secret or configMap. See [this issue](https://github.com/VictoriaMetrics/operator/issues/699) and [this PR](https://github.com/VictoriaMetrics/operator/issues/699) for details. -- [vmalertmanager](./api.md#vmalertmanager): fix default request memory and apply default resources if not set. See [this issue](https://github.com/VictoriaMetrics/operator/issues/706) and [this PR](https://github.com/VictoriaMetrics/operator/pull/710) for details. -- [vmagent](./api.md#vmagent): fix missing additional VolumeClaimTemplates when using `ClaimTemplates` under StatefulMode. +- [vmalert](https://docs.victoriametrics.com/operator/api#vmalert): fix `tlsCAFile` argument value generation when using secret or configMap. See [this issue](https://github.com/VictoriaMetrics/operator/issues/699) and [this PR](https://github.com/VictoriaMetrics/operator/issues/699) for details. +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): fix default request memory and apply default resources if not set. See [this issue](https://github.com/VictoriaMetrics/operator/issues/706) and [this PR](https://github.com/VictoriaMetrics/operator/pull/710) for details. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): fix missing additional VolumeClaimTemplates when using `ClaimTemplates` under StatefulMode. ### Features -- [vmagent](./api.md#vmagent): add [example config](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmagent_stateful_with_sharding.yaml) for vmagent statefulmode. -- [vmagent](./api.md#vmagent)/[vmsingle](./api.md#vmsingle): adapt new features in streaming aggregation: +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): add [example config](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmagent_stateful_with_sharding.yaml) for vmagent statefulmode. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent)/[vmsingle](https://docs.victoriametrics.com/operator/api#vmsingle): adapt new features in streaming aggregation: - support `streamAggr.dropInput`, see [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4243) for details; - support list for `match` parameter, see [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4635) for details; - support `staleness_interval`, see [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4667) for details. -- [vmcluster](./api.md#vmagent): add [example config](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmcluster_with_additional_claim.yaml) for cluster with custom storage claims. -- [vmrule](./api.md#vmrule): support `update_entries_limit` field in rules, refer to [alerting rules](https://docs.victoriametrics.com/vmalert.html#alerting-rules). See [this PR](https://github.com/VictoriaMetrics/operator/pull/691) for details. -- [vmrule](./api.md#vmrule): support `keep_firing_for` field in rules, refer to [alerting rules](https://docs.victoriametrics.com/vmalert.html#alerting-rules). See [this PR](https://github.com/VictoriaMetrics/operator/pull/711) for details. -- [vmoperator parameters](./vars.md): Add option `VM_ENABLESTRICTSECURITY` and enable strict security context by default. See [this issue](https://github.com/VictoriaMetrics/operator/issues/637), [this](https://github.com/VictoriaMetrics/operator/pull/692/) and [this](https://github.com/VictoriaMetrics/operator/pull/712) PR for details. -- [vmoperator parameters](./vars.md): change option `VM_PSPAUTOCREATEENABLED` default value from `true` to `false` cause PodSecurityPolicy already got deprecated since [kubernetes v1.25](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#psp-v125). See [this pr](https://github.com/VictoriaMetrics/operator/pull/726) for details. +- [vmcluster](https://docs.victoriametrics.com/operator/api#vmagent): add [example config](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmcluster_with_additional_claim.yaml) for cluster with custom storage claims. +- [vmrule](https://docs.victoriametrics.com/operator/api#vmrule): support `update_entries_limit` field in rules, refer to [alerting rules](https://docs.victoriametrics.com/vmalert#alerting-rules). See [this PR](https://github.com/VictoriaMetrics/operator/pull/691) for details. +- [vmrule](https://docs.victoriametrics.com/operator/api#vmrule): support `keep_firing_for` field in rules, refer to [alerting rules](https://docs.victoriametrics.com/vmalert/#alerting-rules). See [this PR](https://github.com/VictoriaMetrics/operator/pull/711) for details. +- [vmoperator parameters](https://docs.victoriametrics.com/operator/vars): Add option `VM_ENABLESTRICTSECURITY` and enable strict security context by default. See [this issue](https://github.com/VictoriaMetrics/operator/issues/637), [this](https://github.com/VictoriaMetrics/operator/pull/692/) and [this](https://github.com/VictoriaMetrics/operator/pull/712) PR for details. +- [vmoperator parameters](https://docs.victoriametrics.com/operator/vars): change option `VM_PSPAUTOCREATEENABLED` default value from `true` to `false` cause PodSecurityPolicy already got deprecated since [kubernetes v1.25](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#psp-v125). See [this pr](https://github.com/VictoriaMetrics/operator/pull/726) for details. [Changes][v0.36.0] @@ -364,7 +388,7 @@ aliases: ### Fixes -- [vmagent](./api.md#vmagent): fixes regression with remoteWrite authorization (basicAuth/token). When `UseCustomConfigReloader` option was set, operator incorrectly rendered mounts for `vmagent` container. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): fixes regression with remoteWrite authorization (basicAuth/token). When `UseCustomConfigReloader` option was set, operator incorrectly rendered mounts for `vmagent` container. [Changes][v0.35.1] @@ -374,19 +398,19 @@ aliases: ### Fixes -- [vmuser](./api.md#vmuser): fix vmselect url_map in vmuser. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/655). Thanks [@Haleygo](https://github.com/Haleygo) -- [vmalert](./api.md#vmalert): correctly set default port for vmauth components discovery. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/658). Thanks [@Haleygo](https://github.com/Haleygo) -- [vmuser](./api.md#vmuser): remove rate limit on delete. In . Thanks [@Haleygo](https://github.com/Haleygo) -- [vmcluster](./api.md#vmcluster): fix spec change check. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/677). Thanks [@Haleygo](https://github.com/Haleygo) +- [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): fix vmselect url_map in vmuser. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/655). Thanks [@Haleygo](https://github.com/Haleygo) +- [vmalert](https://docs.victoriametrics.com/operator/api#vmalert): correctly set default port for vmauth components discovery. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/658). Thanks [@Haleygo](https://github.com/Haleygo) +- [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): remove rate limit on delete. In . Thanks [@Haleygo](https://github.com/Haleygo) +- [vmcluster](https://docs.victoriametrics.com/operator/api#vmcluster): fix spec change check. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/677). Thanks [@Haleygo](https://github.com/Haleygo) - Correctly publish multi-arch release at . Thanks [@Haleygo](https://github.com/Haleygo) ### Features -- [vmagent](./api.md#vmagent): add validation when generate static scrape config. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/677). Thanks [@Haleygo](https://github.com/Haleygo) -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): add validation for slack receiver url. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/661). Thanks [@Haleygo](https://github.com/Haleygo) -- [vmauth](./api.md#vmauth)/[vmagent](./api.md#vmagent): implement configuration initiation for custom config reloader. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/619). Thanks [@Haleygo](https://github.com/Haleygo) +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): add validation when generate static scrape config. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/677). Thanks [@Haleygo](https://github.com/Haleygo) +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): add validation for slack receiver url. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/661). Thanks [@Haleygo](https://github.com/Haleygo) +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth)/[vmagent](https://docs.victoriametrics.com/operator/api#vmagent): implement configuration initiation for custom config reloader. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/619). Thanks [@Haleygo](https://github.com/Haleygo) - add more generators Thanks [@Haleygo](https://github.com/Haleygo) in -- [vmsingle](./api.md#vmsingle): add status field. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/670). Thanks [@Haleygo](https://github.com/Haleygo) +- [vmsingle](https://docs.victoriametrics.com/operator/api#vmsingle): add status field. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/670). Thanks [@Haleygo](https://github.com/Haleygo) [Changes][v0.35.0] @@ -396,9 +420,9 @@ aliases: ### Fixes -- [vmcluster](./api.md#vmcluster): fail fast on misconfigured or missing kubernetes pods. It should prevent rare bug with cascade pod deletion. See this [issue](https://github.com/VictoriaMetrics/operator/issues/643) for details -- [vmauth](./api.md#vmauth)/[vmagent](./api.md#vmagent): correctly renders initConfig image with global container registry domain. See this [issue](https://github.com/VictoriaMetrics/operator/issues/654) for details. -- [vmagent](./api.md#vmagent): correctly set RBAC permissions for single namespace mode and custom config reloader image. See this [issue](https://github.com/VictoriaMetrics/operator/issues/653) for details. +- [vmcluster](https://docs.victoriametrics.com/operator/api#vmcluster): fail fast on misconfigured or missing kubernetes pods. It should prevent rare bug with cascade pod deletion. See this [issue](https://github.com/VictoriaMetrics/operator/issues/643) for details +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth)/[vmagent](https://docs.victoriametrics.com/operator/api#vmagent): correctly renders initConfig image with global container registry domain. See this [issue](https://github.com/VictoriaMetrics/operator/issues/654) for details. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): correctly set RBAC permissions for single namespace mode and custom config reloader image. See this [issue](https://github.com/VictoriaMetrics/operator/issues/653) for details. [Changes][v0.34.1] @@ -412,18 +436,18 @@ aliases: ### Fixes -- [vmnodescrape](./api.md#vmnodescrape): fixed selectors for Exists and NotExists operators with empty label Thanks [@Amper](https://github.com/Amper) in -- [vmrule](./api.md#vmrule): Add config for vmrule in validating webhook Thanks in -- [vmagent](./api.md#vmagent): skips misconfigured objects with missed secret references: -- [vmagent](./api.md#vmagent): correctly renders initContainer for configuration download: +- [vmnodescrape](https://docs.victoriametrics.com/operator/api#vmnodescrape): fixed selectors for Exists and NotExists operators with empty label Thanks [@Amper](https://github.com/Amper) in +- [vmrule](https://docs.victoriametrics.com/operator/api#vmrule): Add config for vmrule in validating webhook Thanks in +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): skips misconfigured objects with missed secret references: +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): correctly renders initContainer for configuration download: ### Features -- [vmalertmanager](./api.md#vmalertmanager): Bump alertmanager to v0.25.0 Thanks [@tamcore](https://github.com/tamcore) in -- [vmcluster](./api.md#vmcluster): added `clusterNativePort` field to VMSelect/VMInsert for multi-level cluster setup ([#634](https://github.com/VictoriaMetrics/operator/issues/634)) Thanks [@Amper](https://github.com/Amper) in -- [vmrule](./api.md#vmrule): add notifierHeader field in vmrule spec Thanks [@Haleygo](https://github.com/Haleygo) in -- [vmpodscrape](./api.md#vmpodscrape): adds FilterRunning option as prometheus does in -- [vmauth](./api.md#vmauth): adds latest features in +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): Bump alertmanager to v0.25.0 Thanks [@tamcore](https://github.com/tamcore) in +- [vmcluster](https://docs.victoriametrics.com/operator/api#vmcluster): added `clusterNativePort` field to VMSelect/VMInsert for multi-level cluster setup ([#634](https://github.com/VictoriaMetrics/operator/issues/634)) Thanks [@Amper](https://github.com/Amper) in +- [vmrule](https://docs.victoriametrics.com/operator/api#vmrule): add notifierHeader field in vmrule spec Thanks [@Haleygo](https://github.com/Haleygo) in +- [vmpodscrape](https://docs.victoriametrics.com/operator/api#vmpodscrape): adds FilterRunning option as prometheus does in +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): adds latest features in [Changes][v0.34.0] @@ -433,22 +457,22 @@ aliases: ### Fixes -- [vmalert](./api.md#vmalert): skip bad rules and improve logging for rules exceed max configmap size -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): fixed error with headers in VMAlertmanagerConfig.Receivers.EmailConfigs.Headers unmarshalling. Thanks [@Amper](https://github.com/Amper) in -- [vmagent](./api.md#vmagent): fixed keepInput setting for streaming aggregation. Thanks [@Amper](https://github.com/Amper) in -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): fix webhook config maxAlerts not work. Thanks [@Haleygo](https://github.com/Haleygo) in -- [vmagent](./api.md#vmagent): Remove single quotes from remote write headers. Thanks [@axelsccp](https://github.com/axelsccp) in -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): fix parse route error and some comments. Thanks [@Haleygo](https://github.com/Haleygo) in -- [vmuser](./api.md#vmuser): properly removes finalizers for objects +- [vmalert](https://docs.victoriametrics.com/operator/api#vmalert): skip bad rules and improve logging for rules exceed max configmap size +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): fixed error with headers in VMAlertmanagerConfig.Receivers.EmailConfigs.Headers unmarshalling. Thanks [@Amper](https://github.com/Amper) in +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): fixed keepInput setting for streaming aggregation. Thanks [@Amper](https://github.com/Amper) in +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): fix webhook config maxAlerts not work. Thanks [@Haleygo](https://github.com/Haleygo) in +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): Remove single quotes from remote write headers. Thanks [@axelsccp](https://github.com/axelsccp) in +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): fix parse route error and some comments. Thanks [@Haleygo](https://github.com/Haleygo) in +- [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): properly removes finalizers for objects ### Features -- [vmalertmanager](./api.md#vmalertmanager): add option to disable route continue enforce. Thanks [@Haleygo](https://github.com/Haleygo) in -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): support set require_tls to false. Thanks [@Haleygo](https://github.com/Haleygo) in -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): add sanity check. Thanks [@Haleygo](https://github.com/Haleygo) in +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): add option to disable route continue enforce. Thanks [@Haleygo](https://github.com/Haleygo) in +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): support set require_tls to false. Thanks [@Haleygo](https://github.com/Haleygo) in +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): add sanity check. Thanks [@Haleygo](https://github.com/Haleygo) in - Makefile: bump Alpine base image to latest v3.17.3. Thanks [@denisgolius](https://github.com/denisgolius) in -- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): support sound field in pushover config. Thanks [@Haleygo](https://github.com/Haleygo) in -- [vmagent](./api.md#vmagent)/[vmauth](./api.md#vmauth): download initial config with initContainer +- [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): support sound field in pushover config. Thanks [@Haleygo](https://github.com/Haleygo) in +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent)/[vmauth](https://docs.victoriametrics.com/operator/api#vmauth): download initial config with initContainer [Changes][v0.33.0] @@ -459,7 +483,7 @@ aliases: ### Fixes - config: fixes typo at default vm apps version -- [vmsingle](./api.md#vmsingle): conditionally adds stream aggregation config +- [vmsingle](https://docs.victoriametrics.com/operator/api#vmsingle): conditionally adds stream aggregation config [Changes][v0.32.1] @@ -473,10 +497,10 @@ aliases: ### Features -- [vmauth](./api.md#vmauth): automatically configures `proxy-protocol` client and `reloadAuthKey` for `config-reloader` container. -- [vmagent](./api.md#vmagent): adds `scrapeTimeout` global configuration for `VMAgent` -- [vmagent](./api.md#vmagent): adds [streaming aggregation](https://docs.victoriametrics.com/stream-aggregation.html) for `remoteWrite` targets Thanks [@Amper](https://github.com/Amper) -- [vmsingle](./api.md#vmsingle): adds [streaming aggregation](https://docs.victoriametrics.com/stream-aggregation.html) as global configuration for database Thanks [@Amper](https://github.com/Amper) +- [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): automatically configures `proxy-protocol` client and `reloadAuthKey` for `config-reloader` container. +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): adds `scrapeTimeout` global configuration for `VMAgent` +- [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): adds [streaming aggregation](https://docs.victoriametrics.com/stream-aggregation) for `remoteWrite` targets Thanks [@Amper](https://github.com/Amper) +- [vmsingle](https://docs.victoriametrics.com/operator/api#vmsingle): adds [streaming aggregation](https://docs.victoriametrics.com/stream-aggregation) as global configuration for database Thanks [@Amper](https://github.com/Amper) [Changes][v0.32.0] @@ -491,8 +515,8 @@ aliases: ### Features -- [vmalertmanager](./api.md#vmalertmanager): Add support of vmalertmanager.spec.templates and autoreload dirs for templates and configmaps thanks [@Amper](https://github.com/Amper) -- [vmalertmanager](./api.md#vmalertmanager): Add support "%SHARD_NUM%" placeholder for vmagent sts/deployment Thanks [@Amper](https://github.com/Amper) +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): Add support of vmalertmanager.spec.templates and autoreload dirs for templates and configmaps thanks [@Amper](https://github.com/Amper) +- [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): Add support "%SHARD_NUM%" placeholder for vmagent sts/deployment Thanks [@Amper](https://github.com/Amper) [Changes][v0.31.0] @@ -503,7 +527,7 @@ aliases: ### Fixes - vmalertmanagerconfig: properly build `name` setting for `mute_time_intervals`. It must be uniq -- vmcluster: add `dedupMinScrape` only if replicationFactor > 1. It must improve overall cluster perfomance. Thanks [@hagen1778](https://github.com/hagen1778) +- vmcluster: add `dedupMinScrape` only if replicationFactor > 1. It must improve overall cluster performance. Thanks [@hagen1778](https://github.com/hagen1778) - controllers/vmalert: do not delete annotations from created secret. Thanks [@zoetrope](https://github.com/zoetrope) ### Features @@ -547,12 +571,12 @@ aliases: - dependency: upgrade deps for fs-notify Thanks [@yanggangtony](https://github.com/yanggangtony) - controllers/options: fixes incorrectly used flags at options - controllers/self-serviceScrape: prevents matching for auto-created serviceScrapes -- controllers/vmauth: fixes missing ows for serviceScrape +- controllers/vmauth: fixes missing owns for serviceScrape ### Features - adds `/ready` and `/health` api endpoints for probes -- controllers/concurrency: introduce new setting for reconcilation concurrency `controller.maxConcurrentReconciles` +- controllers/concurrency: introduce new setting for reconciliation concurrency `controller.maxConcurrentReconciles` - api/relabelConfig: adds missing `if`, `labels` and `match` actions [Changes][v0.30.1] @@ -625,7 +649,7 @@ aliases: ### Features -- podDistruptionBudget: adds configurable selectors +- podDisruptionBudget: adds configurable selectors ### New Contributors @@ -790,7 +814,7 @@ aliases: - security: new alpine image with security fixes - alertmanager: metrics endpoint when routePrefix is configured Thanks [@blesswinsamuel](https://github.com/blesswinsamuel) -- alertmanager: Automaticly disable high availability mode for 1 replica in . Thanks [@hadesy](https://github.com/hadesy) +- alertmanager: Automatically disable high availability mode for 1 replica in . Thanks [@hadesy](https://github.com/hadesy) - vmalertmanager: fix extraArgs, add two dashes Thanks [@flokli](https://github.com/flokli) - vmcluster: disables selectNode arg passing to vmselect with enabled `HPA`. It should prevent vmselect cascade restarts - controllers: changes default rate limiter max delay from 16minutes to 2 minutes. @@ -847,7 +871,7 @@ aliases: - Added `StatefulMode` for `VMAgent` it allows to use `Statefulset` instead of `Deployment` - Added `Validation Webhook` for `VMRule`, it allows check errors at rules - Added additional metrics for operator `operator_log_messages_total`, `operator_controller_objects_count`, `operator_reconcile_throttled_events_total`, `vm_app_version`, `vm_app_uptime_seconds`, `vm_app_start_timestamp` -- Adds rate limiting for `VMAgent` and `VMAlert` reconcilation +- Adds rate limiting for `VMAgent` and `VMAlert` reconciliation ### New Contributors @@ -865,7 +889,7 @@ aliases: - Finalizers at UrlRelabelConfig and additionalScrapeConfigs - vmagent config update after scrape objects secret data changes - Log typos -- Correctly renders `opsgenia_config` for `VMAlertmanagerConfig` thanks [@iyuroch](https://github.com/iyuroch) +- Correctly renders `opsgenie_config` for `VMAlertmanagerConfig` thanks [@iyuroch](https://github.com/iyuroch) - Updates basic image with CVE fix - Adds missing finalizer for `VMSingle` deployment thanks [@lujiajing1126](https://github.com/lujiajing1126) - `pager_duty` generation for `VMAlertmanagerConfig` thanks [@okzheng](https://github.com/okzheng) @@ -952,7 +976,7 @@ aliases: ### Features -- bumps VictoriaMetrics appllications versions to the v1.72.0 +- bumps VictoriaMetrics applications versions to the v1.72.0 [Changes][v0.22.1] @@ -993,7 +1017,7 @@ aliases: - Adds alertmanager service scrape auto generation thanks [@FRosner](https://github.com/FRosner) - Auto-add routing for vminsert and vmselect CRD components for `VMUser` -- Updates docs for `VMAuth` +- Updates docs for [VMAuth](https://docs.victoriametrics.com/vmauth) - Allows changing default disk space usage for `VMAgent` thanks [@arctan90](https://github.com/arctan90) - Adds Arch labels for clusterversion template thanks [@yselkowitz](https://github.com/yselkowitz) - improves docs and fixes typos thanks [@flokli](https://github.com/flokli) @@ -1038,7 +1062,7 @@ aliases: ### Breaking changes -- **changes default behavior for CR selectors, such serviceScrapeSelector at vmagent.spec. Now it select all targets if is missing See more at docs ** +- **changes default behavior for CR selectors, such serviceScrapeSelector at vmagent.spec. Now it select all targets if is missing See more at [docs](https://docs.victoriametrics.com/operator/quick-start#object-selectors)** - **operator doesn't add cluster domain name for in-cluster communication, now its empty value. It should resolve issue with using operator at clusters with custom k8s domain thanks [@flokli](https://github.com/flokli)** ### Features @@ -1063,7 +1087,7 @@ aliases: ### Fixes - Regression at `VMStaticScrape` - basic auth was incorrectly handled -- Convesion from `PodMonitor` to `VMPodScrape` +- Conversion from `PodMonitor` to `VMPodScrape` [Changes][v0.19.1] @@ -1121,7 +1145,7 @@ aliases: - Major API update for `VMServiceScrape`, `VMPodScrape`, `VMProbe`, `VMStaticScrape` and `VMNodeScrape`: - adds missing config params (sampleLimit and etc) - Adds new config options `vm_scrape_params` -- Adds proxyAuth, that allows to authenticate proxy requests +- Adds proxyAuth, that allows to authenticate [proxy requests](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy - Adds OAuth2 support. - Adds `apiextensions.k8s.io/v1` `CRD` generation, `v1beta1` is now legacy - Adds new `CRD` `VMAlertmanagerConfig`, it supports only v0.22 `alertmanager` version or above @@ -1353,7 +1377,7 @@ aliases: ### Fixes -- Fixes `VMAlert` `rule` arg - it was unproperly escaped +- Fixes `VMAlert` `rule` arg - it was improperly escaped - Fixes `VMProbes`, now it supports relabeling for static targets - Fixes `VMStaticScrape` - adds `honorLabels` and `honorTimestamps` setting to CRD @@ -1385,7 +1409,7 @@ aliases: ### Features - Added finalizers to objects created by operator. It must fix an issue with resource deletion by controller manager. Note, it requires additional rbac access. -- Added new resouce for static targets scrapping - `VMStaticScrape` +- Added new resource for static targets scrapping - `VMStaticScrape` - Added `unlimited` param for default resources - - Added clusterVersion spec to `VMCluster` it should simplify management @@ -1470,7 +1494,7 @@ aliases: ### Fixes - serverName for tlsConfig -- minScrapeInterval for vmstorage Thansk [@umezawatakeshi](https://github.com/umezawatakeshi) +- minScrapeInterval for vmstorage Thanks [@umezawatakeshi](https://github.com/umezawatakeshi) [Changes][v0.7.2] @@ -1553,7 +1577,7 @@ aliases: - PodSecurityPolicy automatically created for each object, with own ServiceAccount, ClusterRole and ClusterRoleBinding. Its possible to use custom PSP. - Adds `VMAgent` rbac auto-creation. -- Adds ServiceAccount auto-creation. Its possible to use custome ServiceAccount instead of default. +- Adds ServiceAccount auto-creation. Its possible to use custom ServiceAccount instead of default. - Adds `ownerReferences` for converted resources from `Prometheus-operator` CRDs, thanks [@teqwve](https://github.com/teqwve) . - Adds `runtimeClassName`, `schedulerName` for all VictoriaMetrics applications. - Adds `topologySpreadConstraints` for all VictoriaMetrics applications. . @@ -1769,4 +1793,3 @@ it contains basic api objects support: [v0.0.6]: https://github.com/VictoriaMetrics/operator/compare/v0.0.2...v0.0.6 [v0.0.2]: https://github.com/VictoriaMetrics/operator/compare/v0.0.1...v0.0.2 [v0.0.1]: https://github.com/VictoriaMetrics/operator/tree/v0.0.1 - diff --git a/docs/operator/FAQ.md b/docs/operator/FAQ.md index eb2e48bee..efbcbc9e1 100644 --- a/docs/operator/FAQ.md +++ b/docs/operator/FAQ.md @@ -1,5 +1,4 @@ --- -sort: 9 weight: 9 title: FAQ menu: @@ -8,15 +7,12 @@ menu: weight: 9 identifier: "operator-faq" aliases: - - /operator/FAQ.html - - /operator/faq.html + - /operator/faq/ + - /operator/faq/index.html --- - -# FAQ (Frequency Asked Questions) - ## How do you monitor the operator itself? -You can read about vmoperator monitoring in [this document](./monitoring.md). +You can read about vmoperator monitoring in [this document](https://docs.victoriametrics.com/operator/monitoring). ## How to change VMStorage PVC storage class @@ -39,51 +35,51 @@ With Operator deployment: You can use `VM_CONTAINERREGISTRY` parameter for operator: -- See details about tuning [operator settings here](./setup.md#settings). -- See [available operator settings](./vars.md) here. +- See details about tuning [operator settings here](https://docs.victoriametrics.com/operator/setup#settings). +- See [available operator settings](https://docs.victoriametrics.com/operator/vars) here. ## How to set up automatic backups? You can read about backups: -- for `VMSingle`: [Backup automation](./resources/vmsingle.md#backup-automation) -- for `VMCluster`: [Backup automation](./resources/vmcluster.md#backup-automation) +- for `VMSingle`: [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle#backup-automation) +- for `VMCluster`: [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster#backup-automation) ## How to migrate from Prometheus-operator to VictoriaMetrics operator? -You can read about migration from prometheus operator on [this page](./migration.md). +You can read about migration from prometheus operator on [this page](https://docs.victoriametrics.com/operator/migration). ## How to turn off conversion for prometheus resources -You can read about it on [this page](./migration.md#objects-convesion). +You can read about it on [this page](https://docs.victoriametrics.com/operator/migration#objects-convesion). ## My VM objects are not deleted/changed when I delete/change Prometheus objects You can read about it in following sections of "Migration from prometheus-operator" docs: -- [Deletion synchronization](./migration.md#deletion-synchronization) -- [Update synchronization](./migration.md#update-synchronization) -- [Labels synchronization](./migration.md#labels-synchronization) +- [Deletion synchronization](https://docs.victoriametrics.com/operator/migration#deletion-synchronization) +- [Update synchronization](https://docs.victoriametrics.com/operator/migration#update-synchronization) +- [Labels synchronization](https://docs.victoriametrics.com/operator/migration#labels-synchronization) ## What permissions does an operator need to run in a cluster? -You can read about needed permissions for operator in [this document](./security.md#roles). +You can read about needed permissions for operator in [this document](https://docs.victoriametrics.com/operator/security#roles). ## How to know the version of VM components in the operator? -See [printDefaults mode](./configuration.md). +See [printDefaults mode](https://docs.victoriametrics.com/operator/configuration). In addition, you can use [Release notes](https://github.com/VictoriaMetrics/operator/releases) -or [CHANGELOG](https://github.com/VictoriaMetrics/operator/blob/master/docs/CHANGELOG.md). +or [CHANGELOG](https://docs.victoriametrics.com/operator/changelog). - that's where we describe default version of VictoriaMetrics components. ## How to run VictoriaMetrics operator with permissions for one namespace only? -See this document for details: [Configuration -> Namespaced mode](./configuration.md#namespaced-mode). +See this document for details: [Configuration -> Namespaced mode](https://docs.victoriametrics.com/operator/configuration#namespaced-mode). ## How to configure VMAgent and VMServiceScrape for using with [Istio Service Mesh](https://istio.io/) and its mTLS? -See this example in operator repository: https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmagent-istio.yaml +See this example in operator repository: https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmagent_istio.yaml ## What versions of Kubernetes is the operator compatible with? diff --git a/docs/operator/README.md b/docs/operator/README.md index 02c81d946..642d75cfb 100644 --- a/docs/operator/README.md +++ b/docs/operator/README.md @@ -1,22 +1,22 @@ Operator serves to make running VictoriaMetrics applications on top of Kubernetes as easy as possible while preserving Kubernetes-native configuration options. -VictoriaMetrics Operator (`vmoperator`) is the classic kubernetes-operator for VictoriaMetrics with many [great features](#features). +VictoriaMetrics Operator (`vmoperator`) is the classic kubernetes-operator for VictoriaMetrics with many [great features](#features-of-vmoperator). It allows you to manage Victoria Metrics components in Kubernetes or OpenShift clusters in a declarative style according to [GitOps](https://www.redhat.com/en/topics/devops/what-is-gitops) and [IaC](https://en.wikipedia.org/wiki/Infrastructure_as_code) concepts. VictoriaMetrics also provides [helm charts](https://github.com/VictoriaMetrics/helm-charts) without operator. -Operator makes the same, simplifies it and provides [advanced features](#features). +Operator makes the same, simplifies it and provides [advanced features](#features-of-vmoperator). -Learn more about [key concepts](#key-concepts) of `vmoperator` and follow the **[quick start guide](./quick-start.md)** for a better experience. +Learn more about [key concepts](#key-concepts) of `vmoperator` and follow the **[quick start guide](https://docs.victoriametrics.com/operator/quick-start/)** for a better experience. ## Features of vmoperator - Deployment and management in a kubernetes clusters of any number of VictoriaMetrics applications (like vmsingle/vmcluster instances and another components like vmauth, vmagent, vmalert, etc...) -- Seamless [migration from prometheus-operator](./migration.md) with auto-conversion of prometheus [custom resources](#custom-resources) -- Simple VictoriaMetrics cluster installation, configuring, upgrading and managing with [crd-objects](./resources/README.md). +- Seamless [migration from prometheus-operator](https://docs.victoriametrics.com/operator/migration/) with auto-conversion of prometheus [custom resources](#custom-resources) +- Simple VictoriaMetrics cluster installation, configuring, upgrading and managing with [crd-objects](https://docs.victoriametrics.com/operator/resources/). - Ability to delegate the configuration (parts of configuration) of applications monitoring to the end-users and managing access to different configurations or configuration sections. -- Integration with VictoriaMetrics [vmbackupmanager](https://docs.victoriametrics.com/vmbackupmanager.html) - advanced tools for making backups. Check [Backup automation for VMSingle](./resources/vmsingle.md#backup-automation) or [Backup automation for VMCluster](./resources/vmcluster.md#backup-automation). +- Integration with VictoriaMetrics [vmbackupmanager](https://docs.victoriametrics.com/vmbackupmanager/) - advanced tools for making backups. Check [Backup automation for VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle#backup-automation) or [Backup automation for VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#backup-automation). - Everything you need for monitoring out of the box in [k8s-stack helm chart](https://victoriametrics.github.io/helm-charts/charts/victoria-metrics-k8s-stack/) with ready-made usecases and solutions. - Ability to template your own deployment scenarios. @@ -53,28 +53,27 @@ This process of constant monitoring and adjustment is called the "Reconciliation The basic workflow of working with the operator can be simplified as the following diagram: - +![operator workflow](./README_operator-workflow.webp) -- Operator declares and owns [resources of Victoria Metrics](./resources/README.md). +- Operator declares and owns [resources of Victoria Metrics](https://docs.victoriametrics.com/operator/resources/). - Kubernetes validates of the resource according to the specification from CRD (see more in [custom resources](#custom-resources)). - Operator subscribed to change events (`create`, `update`, `delete`) for related resources. - When an event occurs, the operator reacts and updates the state of the objects in the cluster. - For some objects in the cluster the reconciliation cycle is performed at a given interval, even without the occurrence of change events (see `VM_FORCERESYNCINTERVAL`). ### Next steps +- [Quick Start Guide](https://docs.victoriametrics.com/operator/quick-start/) +- [Setup](https://docs.victoriametrics.com/operator/setup/) +- [Security](https://docs.victoriametrics.com/operator/security/) +- [Configuration](https://docs.victoriametrics.com/operator/configuration/) +- [Migration from Prometheus](https://docs.victoriametrics.com/operator/migration/) +- [Monitoring](https://docs.victoriametrics.com/operator/monitoring/) +- [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth/) +- [High Availability](https://docs.victoriametrics.com/operator/high-availability/) +- [Enterprise](https://docs.victoriametrics.com/operator/enterprise/) +- [Custom resources](https://docs.victoriametrics.com/operator/resources/) -- [Quick Start Guide](./quick-start.md) -- [Setup](./setup.md) -- [Security](./security.md) -- [Configuration](./configuration.md) -- [Migration from Prometheus](./migration.md) -- [Monitoring](./monitoring.md) -- [Authorization and exposing components](./auth.md) -- [High Availability](./high-availability.md) -- [Enterprise](./enterprise.md) -- [Custom resources](./resources/README.md) - -If you have any questions, check out our [FAQ](./FAQ.md) +If you have any questions, check out our [FAQ](https://docs.victoriametrics.com/operator/faq/) and feel free to can ask them: - [VictoriaMetrics Slack](https://victoriametrics.slack.com/) - [VictoriaMetrics Telegram](https://t.me/VictoriaMetrics_en) diff --git a/docs/operator/README_operator-workflow.webp b/docs/operator/README_operator-workflow.webp new file mode 100644 index 000000000..5f088958b Binary files /dev/null and b/docs/operator/README_operator-workflow.webp differ diff --git a/docs/operator/_index.md b/docs/operator/_index.md index f7e5948f6..a7b1bdcb4 100644 --- a/docs/operator/_index.md +++ b/docs/operator/_index.md @@ -1,6 +1,12 @@ --- -sort: 0 weight: 0 -title: VictoriaMetrics Operator +title: Operator +menu: + docs: + weight: 0 + identifier: operator +aliases: + - /operator/ + - /operator/index.html --- {{% content "README.md" %}} diff --git a/docs/operator/api.md b/docs/operator/api.md index 284ee8c1f..3cf1256e1 100644 --- a/docs/operator/api.md +++ b/docs/operator/api.md @@ -1,19 +1,16 @@ --- -sort: 12 weight: 12 title: API Docs menu: docs: - parent: "operator" + parent: operator weight: 12 aliases: - - /operator/api.html + - /operator/api/ + - /operator/api/index.html --- - -# API Docs - ## Packages - [operator.victoriametrics.com/v1beta1](#operatorvictoriametricscomv1beta1) @@ -23,6 +20,7 @@ aliases: Package v1beta1 contains API Schema definitions for the victoriametrics v1beta1 API group ### Resource Types +- [VLogs](#vlogs) - [VMAgent](#vmagent) - [VMAlert](#vmalert) - [VMAlertmanager](#vmalertmanager) @@ -75,6 +73,7 @@ if UseAsDefault is set to true, changes applied to the main service without addi _Appears in:_ +- [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) @@ -91,6 +90,58 @@ _Appears in:_ | `useAsDefault` | UseAsDefault applies changes from given service definition to the main object Service
Changing from headless service to clusterIP or loadbalancer may break cross-component communication | _boolean_ | false | +#### AlertmanagerGossipConfig + + + +AlertmanagerGossipConfig defines Gossip TLS configuration for alertmanager + + + +_Appears in:_ +- [VMAlertmanagerSpec](#vmalertmanagerspec) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `tls_client_config` | TLSClientConfig defines client TLS configuration for alertmanager | _[TLSClientConfig](#tlsclientconfig)_ | true | +| `tls_server_config` | TLSServerConfig defines server TLS configuration for alertmanager | _[TLSServerConfig](#tlsserverconfig)_ | true | + + +#### AlertmanagerHTTPConfig + + + +AlertmanagerHTTPConfig defines http server configuration for alertmanager + + + +_Appears in:_ +- [AlertmanagerWebConfig](#alertmanagerwebconfig) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `headers` | Headers defines list of headers that can be added to HTTP responses. | _object (keys:string, values:string)_ | true | +| `http2` | HTTP2 enables HTTP/2 support. Note that HTTP/2 is only supported with TLS.
This can not be changed on the fly. | _boolean_ | true | + + +#### AlertmanagerWebConfig + + + +AlertmanagerWebConfig defines web server configuration for alertmanager + + + +_Appears in:_ +- [VMAlertmanagerSpec](#vmalertmanagerspec) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `basic_auth_users` | BasicAuthUsers Usernames and hashed passwords that have full access to the web server
Passwords must be hashed with bcrypt | _object (keys:string, values:string)_ | true | +| `http_server_config` | HTTPServerConfig defines http server configuration for alertmanager web server | _[AlertmanagerHTTPConfig](#alertmanagerhttpconfig)_ | true | +| `tls_server_config` | TLSServerConfig defines server TLS configuration for alertmanager | _[TLSServerConfig](#tlsserverconfig)_ | true | + + #### ArbitraryFSAccessThroughSMsConfig @@ -107,6 +158,7 @@ attack, users can instead use the BearerTokenSecret field. _Appears in:_ +- [VMAgentSecurityEnforcements](#vmagentsecurityenforcements) - [VMAgentSpec](#vmagentspec) | Field | Description | Scheme | Required | @@ -147,6 +199,8 @@ _Appears in:_ - [ConsulSDConfig](#consulsdconfig) - [DigitalOceanSDConfig](#digitaloceansdconfig) - [Endpoint](#endpoint) +- [EndpointAuth](#endpointauth) +- [HTTPConfig](#httpconfig) - [HTTPSDConfig](#httpsdconfig) - [KubernetesSDConfig](#kubernetessdconfig) - [PodMetricsEndpoint](#podmetricsendpoint) @@ -167,7 +221,7 @@ _Appears in:_ AzureSDConfig allow retrieving scrape targets from Azure VMs. -See https://docs.victoriametrics.com/sd_configs/#azure_sd_configs +See [here](https://docs.victoriametrics.com/sd_configs#azure_sd_configs) @@ -198,6 +252,7 @@ _Appears in:_ - [APIServerConfig](#apiserverconfig) - [ConsulSDConfig](#consulsdconfig) - [Endpoint](#endpoint) +- [EndpointAuth](#endpointauth) - [HTTPAuth](#httpauth) - [HTTPConfig](#httpconfig) - [HTTPSDConfig](#httpsdconfig) @@ -216,9 +271,9 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `password` | The secret in the service scrape namespace that contains the password
for authentication.
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | -| `password_file` | PasswordFile defines path to password file at disk | _string_ | false | -| `username` | The secret in the service scrape namespace that contains the username
for authentication.
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `password` | Password defines reference for secret with password value
The secret needs to be in the same namespace as scrape object | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `password_file` | PasswordFile defines path to password file at disk
must be pre-mounted | _string_ | false | +| `username` | Username defines reference for secret with username value
The secret needs to be in the same namespace as scrape object | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | #### BearerAuth @@ -257,11 +312,31 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `kind` | Kind one of:
VMAgent VMAlert VMCluster VMSingle or VMAlertManager | _string_ | true | +| `kind` | Kind one of:
VMAgent,VMAlert, VMSingle, VMCluster/vmselect, VMCluster/vmstorage,VMCluster/vminsert or VMAlertManager | _string_ | true | | `name` | Name target CRD object name | _string_ | true | | `namespace` | Namespace target CRD object namespace. | _string_ | true | +#### Certs + + + +Certs defines TLS certs configuration + + + +_Appears in:_ +- [TLSClientConfig](#tlsclientconfig) +- [TLSServerConfig](#tlsserverconfig) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `cert_file` | CertFile defines path to the pre-mounted file with certificate
mutually exclusive with CertSecretRef | _string_ | true | +| `cert_secret_ref` | | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | +| `key_file` | KeyFile defines path to the pre-mounted file with certificate key
mutually exclusive with KeySecretRef | _string_ | true | +| `key_secret_ref` | Key defines reference for secret with certificate key content under given key
mutually exclusive with KeyFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | + + #### ConfigMapKeyReference @@ -283,8 +358,8 @@ _Appears in:_ -ConsulSDConfig defines a Consul service discovery configuration -See https://docs.victoriametrics.com/sd_configs/#consul_sd_configs +ConsulSDConfig defines a Consul service discovery configuration. +See [here](https://docs.victoriametrics.com/sd_configs/#consul_sd_configs) @@ -293,7 +368,7 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `allowStale` | Allow stale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul.
If unset, use its default value. | _boolean_ | false | +| `allowStale` | Allow stale Consul results (see https://developer.hashicorp.com/consul/api-docs/features/consistency). Will reduce load on Consul.
If unset, use its default value. | _boolean_ | false | | `authorization` | Authorization header to use on every scrape request. | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth information to use on every scrape request. | _[BasicAuth](#basicauth)_ | false | | `datacenter` | Consul Datacenter name, if not provided it will use the local Consul Agent Datacenter. | _string_ | false | @@ -303,7 +378,7 @@ _Appears in:_ | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `partition` | Admin Partitions are only supported in Consul Enterprise. | _string_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | -| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy | _[ProxyAuth](#proxyauth)_ | false | +| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See [feature description](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy) | _[ProxyAuth](#proxyauth)_ | false | | `scheme` | HTTP Scheme default "http" | _string_ | false | | `server` | A valid string consisting of a hostname or IP followed by an optional port number. | _string_ | true | | `services` | A list of services for which targets are retrieved. If omitted, all services are scraped. | _string array_ | false | @@ -319,7 +394,7 @@ _Appears in:_ DNSSDConfig allows specifying a set of DNS domain names which are periodically queried to discover a list of targets. The DNS servers to be contacted are read from /etc/resolv.conf. -See https://docs.victoriametrics.com/sd_configs/#dns_sd_configs +See [here](https://docs.victoriametrics.com/sd_configs#dns_sd_configs) @@ -338,8 +413,8 @@ _Appears in:_ DigitalOceanSDConfig allow retrieving scrape targets from DigitalOcean's Droplets API. -This service discovery uses the public IPv4 address by default, by that can be changed with relabeling -See https://docs.victoriametrics.com/sd_configs/#digitalocean_sd_configs +This service discovery uses the public IPv4 address by default, by that can be changed with relabeling. +See [here](https://docs.victoriametrics.com/sd_configs#digitalocean_sd_configs) @@ -353,7 +428,7 @@ _Appears in:_ | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `port` | The port to scrape metrics from. | _integer_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | -| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy | _[ProxyAuth](#proxyauth)_ | false | +| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See [feature description](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy) | _[ProxyAuth](#proxyauth)_ | false | | `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | @@ -418,8 +493,8 @@ _Appears in:_ EC2SDConfig allow retrieving scrape targets from AWS EC2 instances. The private IP address is used by default, but may be changed to the public IP address with relabeling. -The IAM credentials used must have the ec2:DescribeInstances permission to discover scrape targets -See https://docs.victoriametrics.com/sd_configs/#ec2_sd_configs +The IAM credentials used must have the ec2:DescribeInstances permission to discover scrape targets. +See [here](https://docs.victoriametrics.com/sd_configs#ec2_sd_configs) @@ -453,31 +528,18 @@ _Appears in:_ | `auth_password` | AuthPassword defines secret name and key at CRD namespace. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `auth_secret` | AuthSecret defines secrent name and key at CRD namespace.
It must contain the CRAM-MD5 secret. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `auth_username` | The username to use for authentication. | _string_ | false | -| `from` | The sender address. | _string_ | false | -| `headers` | Further headers email header key/value pairs. Overrides any headers
previously set by the notification implementation. | _[EmailConfigHeaders](#emailconfigheaders)_ | true | +| `from` | The sender address.
fallback to global setting if empty | _string_ | false | +| `headers` | Further headers email header key/value pairs. Overrides any headers
previously set by the notification implementation. | _object (keys:string, values:string)_ | true | | `hello` | The hostname to identify to the SMTP server. | _string_ | false | | `html` | The HTML body of the email notification. | _string_ | false | | `require_tls` | The SMTP TLS requirement.
Note that Go does not support unencrypted connections to remote SMTP endpoints. | _boolean_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | -| `smarthost` | The SMTP host through which emails are sent. | _string_ | false | +| `smarthost` | The SMTP host through which emails are sent.
fallback to global setting if empty | _string_ | false | | `text` | The text body of the email notification. | _string_ | false | | `tls_config` | TLS configuration | _[TLSConfig](#tlsconfig)_ | false | | `to` | The email address to send notifications to. | _string_ | false | -#### EmailConfigHeaders - -_Underlying type:_ _object_ - -EmailConfigHeaders is a map of email headers. - - - -_Appears in:_ -- [EmailConfig](#emailconfig) - - - #### EmbeddedHPA @@ -536,6 +598,7 @@ _Appears in:_ - [AdditionalServiceSpec](#additionalservicespec) - [EmbeddedIngress](#embeddedingress) - [EmbeddedPersistentVolumeClaim](#embeddedpersistentvolumeclaim) +- [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) @@ -589,8 +652,8 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `maxUnavailable` | An eviction is allowed if at most "maxUnavailable" pods selected by
"selector" are unavailable after the eviction, i.e. even in absence of
the evicted pod. For example, one can prevent all voluntary evictions
by specifying 0. This is a mutually exclusive setting with "minAvailable". | _[IntOrString](#intorstring)_ | false | -| `minAvailable` | An eviction is allowed if at least "minAvailable" pods selected by
"selector" will still be available after the eviction, i.e. even in the
absence of the evicted pod. So for example you can prevent all voluntary
evictions by specifying "100%". | _[IntOrString](#intorstring)_ | false | +| `maxUnavailable` | An eviction is allowed if at most "maxUnavailable" pods selected by
"selector" are unavailable after the eviction, i.e. even in absence of
the evicted pod. For example, one can prevent all voluntary evictions
by specifying 0. This is a mutually exclusive setting with "minAvailable". | _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#intorstring-intstr-util)_ | false | +| `minAvailable` | An eviction is allowed if at least "minAvailable" pods selected by
"selector" will still be available after the eviction, i.e. even in the
absence of the evicted pod. So for example you can prevent all voluntary
evictions by specifying "100%". | _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#intorstring-intstr-util)_ | false | | `selectorLabels` | replaces default labels selector generated by operator
it's useful when you need to create custom budget | _object (keys:string, values:string)_ | false | @@ -605,6 +668,7 @@ operator will replace missing spec with default values. _Appears in:_ +- [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) @@ -638,34 +702,116 @@ _Appears in:_ | `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false | | `bearerTokenFile` | File to read bearer token for scraping targets. | _string_ | false | -| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the service scrape and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the scrape object and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false | | `honorLabels` | HonorLabels chooses the metric's labels on collisions with target labels. | _boolean_ | false | | `honorTimestamps` | HonorTimestamps controls whether vmagent respects the timestamps present in scraped data. | _boolean_ | false | | `interval` | Interval at which metrics should be scraped | _string_ | false | +| `max_scrape_size` | MaxScrapeSize defines a maximum size of scraped data for a job | _string_ | false | | `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | | `path` | HTTP path to scrape for metrics. | _string_ | false | -| `port` | Name of the service port this endpoint refers to. Mutually exclusive with targetPort. | _string_ | false | +| `port` | Name of the port exposed at Service. | _string_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `relabelConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | false | -| `sampleLimit` | SampleLimit defines per-endpoint limit on number of scraped samples that will be accepted. | _integer_ | false | +| `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | false | | `scheme` | HTTP scheme to use for scraping. | _string_ | false | | `scrapeTimeout` | Timeout after which the scrape is ended | _string_ | false | | `scrape_interval` | ScrapeInterval is the same as Interval and has priority over it.
one of scrape_interval or interval can be used | _string_ | false | | `seriesLimit` | SeriesLimit defines per-scrape limit on number of unique time series
a single target can expose during all the scrapes on the time window of 24h. | _integer_ | false | -| `targetPort` | Name or number of the pod port this endpoint refers to. Mutually exclusive with port. | _[IntOrString](#intorstring)_ | false | +| `targetPort` | TargetPort
Name or number of the pod port this endpoint refers to. Mutually exclusive with port. | _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#intorstring-intstr-util)_ | false | | `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false | | `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | +#### EndpointAuth + + + +EndpointAuth defines target endpoint authorization options for scrapping + + + +_Appears in:_ +- [Endpoint](#endpoint) +- [PodMetricsEndpoint](#podmetricsendpoint) +- [TargetEndpoint](#targetendpoint) +- [VMNodeScrapeSpec](#vmnodescrapespec) +- [VMProbeSpec](#vmprobespec) +- [VMScrapeConfigSpec](#vmscrapeconfigspec) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false | +| `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false | +| `bearerTokenFile` | File to read bearer token for scraping targets. | _string_ | false | +| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the scrape object and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | +| `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false | + + +#### EndpointRelabelings + + + +EndpointRelabelings defines service discovery and metrics relabeling configuration for endpoints + + + +_Appears in:_ +- [Endpoint](#endpoint) +- [PodMetricsEndpoint](#podmetricsendpoint) +- [TargetEndpoint](#targetendpoint) +- [VMNodeScrapeSpec](#vmnodescrapespec) +- [VMScrapeConfigSpec](#vmscrapeconfigspec) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false | +| `relabelConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | false | + + +#### EndpointScrapeParams + + + +ScrapeTargetParams defines common configuration params for all scrape endpoint targets + + + +_Appears in:_ +- [Endpoint](#endpoint) +- [PodMetricsEndpoint](#podmetricsendpoint) +- [TargetEndpoint](#targetendpoint) +- [VMNodeScrapeSpec](#vmnodescrapespec) +- [VMProbeSpec](#vmprobespec) +- [VMScrapeConfigSpec](#vmscrapeconfigspec) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false | +| `honorLabels` | HonorLabels chooses the metric's labels on collisions with target labels. | _boolean_ | false | +| `honorTimestamps` | HonorTimestamps controls whether vmagent respects the timestamps present in scraped data. | _boolean_ | false | +| `interval` | Interval at which metrics should be scraped | _string_ | false | +| `max_scrape_size` | MaxScrapeSize defines a maximum size of scraped data for a job | _string_ | false | +| `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | +| `path` | HTTP path to scrape for metrics. | _string_ | false | +| `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | +| `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | false | +| `scheme` | HTTP scheme to use for scraping. | _string_ | false | +| `scrapeTimeout` | Timeout after which the scrape is ended | _string_ | false | +| `scrape_interval` | ScrapeInterval is the same as Interval and has priority over it.
one of scrape_interval or interval can be used | _string_ | false | +| `seriesLimit` | SeriesLimit defines per-scrape limit on number of unique time series
a single target can expose during all the scrapes on the time window of 24h. | _integer_ | false | +| `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | + + #### FileSDConfig -FileSDConfig defines a file service discovery configuration -See https://docs.victoriametrics.com/sd_configs/#file_sd_configs +FileSDConfig defines a file service discovery configuration. +See [here](https://docs.victoriametrics.com/sd_configs#file_sd_configs) @@ -684,7 +830,7 @@ _Appears in:_ GCESDConfig configures scrape targets from GCP GCE instances. The private IP address is used by default, but may be changed to the public IP address with relabeling. -See https://docs.victoriametrics.com/sd_configs/#gce_sd_configs +See [here](https://docs.victoriametrics.com/sd_configs#gce_sd_configs) The GCE service discovery will load the Google Cloud credentials @@ -731,7 +877,7 @@ _Appears in:_ -HTTPConfig defines a client HTTP configuration. +HTTPConfig defines a client HTTP configuration for VMAlertmanagerConfig objects See https://prometheus.io/docs/alerting/latest/configuration/#http_config @@ -752,9 +898,11 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `basic_auth` | TODO oAuth2 support
BasicAuth for the client. | _[BasicAuth](#basicauth)_ | false | +| `authorization` | Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. | _[Authorization](#authorization)_ | false | +| `basic_auth` | BasicAuth for the client. | _[BasicAuth](#basicauth)_ | false | | `bearer_token_file` | BearerTokenFile defines filename for bearer token, it must be mounted to pod. | _string_ | false | | `bearer_token_secret` | The secret's key that contains the bearer token
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `oauth2` | OAuth2 client credentials used to fetch a token for the targets. | _[OAuth2](#oauth2)_ | false | | `proxyURL` | Optional proxy URL. | _string_ | false | | `tls_config` | TLS configuration for the client. | _[TLSConfig](#tlsconfig)_ | false | @@ -763,8 +911,8 @@ _Appears in:_ -HTTPSDConfig defines a HTTP service discovery configuration -See https://docs.victoriametrics.com/sd_configs/#http_sd_configs +HTTPSDConfig defines a HTTP service discovery configuration. +See [here](https://docs.victoriametrics.com/sd_configs#http_sd_configs) @@ -776,7 +924,7 @@ _Appears in:_ | `authorization` | Authorization header to use on every scrape request. | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth information to use on every scrape request. | _[BasicAuth](#basicauth)_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | -| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy | _[ProxyAuth](#proxyauth)_ | false | +| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See [feature description](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy) | _[ProxyAuth](#proxyauth)_ | false | | `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | | `url` | URL from which the targets are fetched. | _string_ | true | @@ -790,6 +938,7 @@ Image defines docker image settings _Appears in:_ +- [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) @@ -894,7 +1043,7 @@ _Appears in:_ KubernetesSDConfig allows retrieving scrape targets from Kubernetes' REST API. -See https://docs.victoriametrics.com/sd_configs/#kubernetes_sd_configs +See [here](https://docs.victoriametrics.com/sd_configs#kubernetes_sd_configs) @@ -911,7 +1060,7 @@ _Appears in:_ | `namespaces` | Optional namespace discovery. If omitted, discover targets across all namespaces. | _[NamespaceDiscovery](#namespacediscovery)_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | -| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy | _[ProxyAuth](#proxyauth)_ | false | +| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See [feature description](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy) | _[ProxyAuth](#proxyauth)_ | false | | `role` | Role of the Kubernetes entities that should be discovered. | _string_ | true | | `selectors` | Selector to select objects. | _[K8SSelectorConfig](#k8sselectorconfig) array_ | false | | `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | @@ -922,8 +1071,8 @@ _Appears in:_ License holds license key for enterprise features. -Using license key is supported starting from VictoriaMetrics v1.94.0 -See: https://docs.victoriametrics.com/enterprise.html +Using license key is supported starting from VictoriaMetrics v1.94.0. +See [here](https://docs.victoriametrics.com/enterprise) @@ -936,7 +1085,7 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `key` | Enterprise license key. This flag is available only in VictoriaMetrics enterprise.
Documentation - https://docs.victoriametrics.com/enterprise.html
for more information, visit https://victoriametrics.com/products/enterprise/ .
To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ | _string_ | true | +| `key` | Enterprise license key. This flag is available only in [VictoriaMetrics enterprise](https://docs.victoriametrics.com/enterprise).
To request a trial license, [go to](https://victoriametrics.com/products/enterprise/trial) | _string_ | true | | `keyRef` | KeyRef is reference to secret with license key for enterprise features. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | @@ -980,23 +1129,6 @@ _Appears in:_ | `webhook_url_secret` | URLSecret defines secret name and key at the CRD namespace.
It must contain the webhook URL.
one of `urlSecret` and `url` must be defined. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | -#### MuteTimeInterval - - - -MuteTimeInterval for alerts - - - -_Appears in:_ -- [VMAlertmanagerConfigSpec](#vmalertmanagerconfigspec) - -| Field | Description | Scheme | Required | -| --- | --- | --- | --- | -| `name` | Name of interval | _string_ | true | -| `time_intervals` | TimeIntervals interval configuration | _[TimeInterval](#timeinterval) array_ | true | - - #### NamespaceDiscovery @@ -1048,7 +1180,9 @@ _Appears in:_ - [ConsulSDConfig](#consulsdconfig) - [DigitalOceanSDConfig](#digitaloceansdconfig) - [Endpoint](#endpoint) +- [EndpointAuth](#endpointauth) - [HTTPAuth](#httpauth) +- [HTTPConfig](#httpconfig) - [KubernetesSDConfig](#kubernetessdconfig) - [PodMetricsEndpoint](#podmetricsendpoint) - [TargetEndpoint](#targetendpoint) @@ -1076,7 +1210,7 @@ _Appears in:_ OpenStackSDConfig allow retrieving scrape targets from OpenStack Nova instances. -See https://docs.victoriametrics.com/sd_configs/#openstack_sd_configs +See [here](https://docs.victoriametrics.com/sd_configs#openstack_sd_configs) @@ -1120,9 +1254,9 @@ _Appears in:_ | --- | --- | --- | --- | | `actions` | Comma separated list of actions that will be available for the alert. | _string_ | true | | `apiURL` | The URL to send OpsGenie API requests to. | _string_ | false | -| `api_key` | The secret's key that contains the OpsGenie API key.
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `api_key` | The secret's key that contains the OpsGenie API key.
It must be at them same namespace as CRD
fallback to global setting if empty | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `description` | Description of the incident. | _string_ | false | -| `details` | A set of arbitrary key/value pairs that provide further detail about the incident. | _[ReceiverConfigDetails](#receiverconfigdetails)_ | false | +| `details` | A set of arbitrary key/value pairs that provide further detail about the incident. | _object (keys:string, values:string)_ | false | | `entity` | Optional field that can be used to specify which domain alert is related to. | _string_ | true | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message` | Alert text limited to 130 characters. | _string_ | false | @@ -1174,7 +1308,7 @@ _Appears in:_ | `client_url` | Backlink to the sender of notification. | _string_ | false | | `component` | The part or component of the affected system that is broken. | _string_ | false | | `description` | Description of the incident. | _string_ | false | -| `details` | Arbitrary key/value pairs that provide further detail about the incident. | _[ReceiverConfigDetails](#receiverconfigdetails)_ | false | +| `details` | Arbitrary key/value pairs that provide further detail about the incident. | _object (keys:string, values:string)_ | false | | `group` | A cluster or grouping of sources. | _string_ | false | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `images` | Images to attach to the incident. | _[ImageConfig](#imageconfig) array_ | false | @@ -1203,25 +1337,26 @@ _Appears in:_ | `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false | | `bearerTokenFile` | File to read bearer token for scraping targets. | _string_ | false | -| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the service scrape and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the scrape object and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `filterRunning` | FilterRunning applies filter with pod status == running
it prevents from scrapping metrics at failed or succeed state pods.
enabled by default | _boolean_ | false | | `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false | | `honorLabels` | HonorLabels chooses the metric's labels on collisions with target labels. | _boolean_ | false | | `honorTimestamps` | HonorTimestamps controls whether vmagent respects the timestamps present in scraped data. | _boolean_ | false | | `interval` | Interval at which metrics should be scraped | _string_ | false | +| `max_scrape_size` | MaxScrapeSize defines a maximum size of scraped data for a job | _string_ | false | | `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | | `path` | HTTP path to scrape for metrics. | _string_ | false | -| `port` | Name of the pod port this endpoint refers to. Mutually exclusive with targetPort. | _string_ | false | +| `port` | Name of the port exposed at Pod. | _string_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `relabelConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | false | -| `sampleLimit` | SampleLimit defines per-podEndpoint limit on number of scraped samples that will be accepted. | _integer_ | false | +| `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | false | | `scheme` | HTTP scheme to use for scraping. | _string_ | false | | `scrapeTimeout` | Timeout after which the scrape is ended | _string_ | false | | `scrape_interval` | ScrapeInterval is the same as Interval and has priority over it.
one of scrape_interval or interval can be used | _string_ | false | | `seriesLimit` | SeriesLimit defines per-scrape limit on number of unique time series
a single target can expose during all the scrapes on the time window of 24h. | _integer_ | false | -| `targetPort` | TargetPort
Name or number of the pod port this endpoint refers to. Mutually exclusive with port. | _[IntOrString](#intorstring)_ | false | +| `targetPort` | TargetPort
Name or number of the pod port this endpoint refers to. Mutually exclusive with port. | _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#intorstring-intstr-util)_ | false | | `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false | | `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | @@ -1327,20 +1462,6 @@ _Appears in:_ | `wechat_configs` | WeChatConfigs defines wechat notification configurations. | _[WeChatConfig](#wechatconfig) array_ | false | -#### ReceiverConfigDetails - -_Underlying type:_ _object_ - -PagerDutyDetails details for config - - - -_Appears in:_ -- [OpsGenieConfig](#opsgenieconfig) -- [PagerDutyConfig](#pagerdutyconfig) - - - #### RelabelConfig @@ -1352,6 +1473,7 @@ More info: https://docs.victoriametrics.com/#relabeling _Appears in:_ - [Endpoint](#endpoint) +- [EndpointRelabelings](#endpointrelabelings) - [PodMetricsEndpoint](#podmetricsendpoint) - [ProbeTargetIngress](#probetargetingress) - [StreamAggrRule](#streamaggrrule) @@ -1359,13 +1481,14 @@ _Appears in:_ - [VMAgentRemoteWriteSpec](#vmagentremotewritespec) - [VMAgentSpec](#vmagentspec) - [VMNodeScrapeSpec](#vmnodescrapespec) +- [VMProbeSpec](#vmprobespec) - [VMProbeTargetStaticConfig](#vmprobetargetstaticconfig) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `action` | Action to perform based on regex matching. Default is 'replace' | _string_ | false | -| `if` | If represents metricsQL match expression (or list of expressions): '{__name__=~"foo_.*"}' | _[StringOrArray](#stringorarray)_ | false | +| `if` | If represents metricsQL match expression (or list of expressions): '\{__name__=~"foo_.*"\}' | _[StringOrArray](#stringorarray)_ | false | | `labels` | Labels is used together with Match for `action: graphite` | _object (keys:string, values:string)_ | false | | `match` | Match is used together with Labels for `action: graphite` | _string_ | false | | `modulus` | Modulus to take of the hash of the source label values. | _integer_ | false | @@ -1398,10 +1521,10 @@ _Appears in:_ | `group_interval` | How long to wait before sending an updated notification. | _string_ | false | | `group_wait` | How long to wait before sending the initial notification. | _string_ | false | | `matchers` | List of matchers that the alert’s labels should match. For the first
level route, the operator adds a namespace: "CRD_NS" matcher.
https://prometheus.io/docs/alerting/latest/configuration/#matcher | _string array_ | false | -| `mute_time_intervals` | MuteTimeIntervals for alerts | _string array_ | false | +| `mute_time_intervals` | MuteTimeIntervals is a list of interval names that will mute matched alert | _string array_ | false | | `receiver` | Name of the receiver for this route. | _string_ | true | | `repeat_interval` | How long to wait before repeating the last notification. | _string_ | false | -| `routes` | Child routes.
https://prometheus.io/docs/alerting/latest/configuration/#route | _JSON array_ | true | +| `routes` | Child routes.
https://prometheus.io/docs/alerting/latest/configuration/#route | _[JSON](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#json-v1-apiextensions-k8s-io) array_ | true | #### Rule @@ -1445,7 +1568,7 @@ _Appears in:_ | `eval_alignment` | Optional
The evaluation timestamp will be aligned with group's interval,
instead of using the actual timestamp that evaluation happens at.
It is enabled by default to get more predictable results
and to visually align with graphs plotted via Grafana or vmui. | _boolean_ | true | | `eval_delay` | Optional
Adjust the `time` parameter of group evaluation requests to compensate intentional query delay from the datasource. | _string_ | true | | `eval_offset` | Optional
Group will be evaluated at the exact offset in the range of [0...interval]. | _string_ | true | -| `extra_filter_labels` | ExtraFilterLabels optional list of label filters applied to every rule's
request within a group. Is compatible only with VM datasource.
See more details at https://docs.victoriametrics.com#prometheus-querying-api-enhancements
Deprecated, use params instead | _object (keys:string, values:string)_ | false | +| `extra_filter_labels` | ExtraFilterLabels optional list of label filters applied to every rule's
request within a group. Is compatible only with VM datasource.
See more details [here](https://docs.victoriametrics.com/#prometheus-querying-api-enhancements)
Deprecated, use params instead | _object (keys:string, values:string)_ | false | | `headers` | Headers contains optional HTTP headers added to each rule request
Must be in form `header-name: value`
For example:
headers:
- "CustomHeader: foo"
- "CustomHeader2: bar" | _string array_ | false | | `interval` | evaluation interval for group | _string_ | false | | `labels` | Labels optional list of labels added to every rule within a group.
It has priority over the external labels.
Labels are commonly used for adding environment
or tenant-specific tag. | _object (keys:string, values:string)_ | false | @@ -1454,10 +1577,12 @@ _Appears in:_ | `notifier_headers` | NotifierHeaders contains optional HTTP headers added to each alert request which will send to notifier
Must be in form `header-name: value`
For example:
headers:
- "CustomHeader: foo"
- "CustomHeader2: bar" | _string array_ | false | | `params` | Params optional HTTP URL parameters added to each rule request | _[Values](#values)_ | false | | `rules` | Rules list of alert rules | _[Rule](#rule) array_ | true | -| `tenant` | Tenant id for group, can be used only with enterprise version of vmalert
See more details at https://docs.victoriametrics.com/vmalert.html#multitenancy | _string_ | false | +| `tenant` | Tenant id for group, can be used only with enterprise version of vmalert.
See more details [here](https://docs.victoriametrics.com/vmalert#multitenancy). | _string_ | false | | `type` | Type defines datasource type for enterprise version of vmalert
possible values - prometheus,graphite | _string_ | false | + + #### SecretOrConfigMap @@ -1539,7 +1664,7 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `actions` | A list of Slack actions that are sent with each notification. | _[SlackAction](#slackaction) array_ | false | -| `api_url` | The secret's key that contains the Slack webhook URL.
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `api_url` | The secret's key that contains the Slack webhook URL.
It must be at them same namespace as CRD
fallback to global setting if empty | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `callback_id` | | _string_ | false | | `channel` | The channel or user to send notifications to. | _string_ | false | | `color` | | _string_ | false | @@ -1634,7 +1759,7 @@ _Appears in:_ StaticConfig defines a static configuration. -See https://docs.victoriametrics.com/sd_configs/#static_configs +See [here](https://docs.victoriametrics.com/sd_configs#static_configs) @@ -1696,14 +1821,19 @@ StreamAggrConfig defines the stream aggregation config _Appears in:_ - [VMAgentRemoteWriteSpec](#vmagentremotewritespec) +- [VMAgentSpec](#vmagentspec) - [VMSingleSpec](#vmsinglespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | +| `configmap` | ConfigMap with stream aggregation rules | _[ConfigMapKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#configmapkeyselector-v1-core)_ | false | | `dedupInterval` | Allows setting different de-duplication intervals per each configured remote storage | _string_ | false | | `dropInput` | Allow drop all the input samples after the aggregation | _boolean_ | false | +| `dropInputLabels` | labels to drop from samples for aggregator before stream de-duplication and aggregation | _string array_ | false | +| `ignoreFirstIntervals` | | _integer_ | true | +| `ignoreOldSamples` | IgnoreOldSamples instructs to ignore samples with old timestamps outside the current aggregation interval. | _boolean_ | false | | `keepInput` | Allows writing both raw and aggregate data | _boolean_ | false | -| `rules` | Stream aggregation rules | _[StreamAggrRule](#streamaggrrule) array_ | true | +| `rules` | Stream aggregation rules | _[StreamAggrRule](#streamaggrrule) array_ | false | #### StreamAggrRule @@ -1723,6 +1853,7 @@ _Appears in:_ | `dedup_interval` | DedupInterval is an optional interval for deduplication. | _string_ | false | | `drop_input_labels` | DropInputLabels is an optional list with labels, which must be dropped before further processing of input samples.

Labels are dropped before de-duplication and aggregation. | _string_ | false | | `flush_on_shutdown` | FlushOnShutdown defines whether to flush the aggregation state on process termination
or config reload. Is `false` by default.
It is not recommended changing this setting, unless unfinished aggregations states
are preferred to missing data points. | _boolean_ | false | +| `ignore_first_intervals` | | _integer_ | true | | `ignore_old_samples` | IgnoreOldSamples instructs to ignore samples with old timestamps outside the current aggregation interval. | _boolean_ | false | | `input_relabel_configs` | InputRelabelConfigs is an optional relabeling rules, which are applied on the input
before aggregation. | _[RelabelConfig](#relabelconfig) array_ | false | | `interval` | Interval is the interval between aggregations. | _string_ | true | @@ -1751,6 +1882,29 @@ _Appears in:_ +#### TLSClientConfig + + + +TLSClientConfig defines TLS configuration for the application's client + + + +_Appears in:_ +- [AlertmanagerGossipConfig](#alertmanagergossipconfig) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `ca_file` | CAFile defines path to the pre-mounted file with CA
mutually exclusive with CASecretRef | _string_ | true | +| `ca_secret_ref` | CA defines reference for secret with CA content under given key
mutually exclusive with CAFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | +| `cert_file` | CertFile defines path to the pre-mounted file with certificate
mutually exclusive with CertSecretRef | _string_ | true | +| `cert_secret_ref` | | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | +| `insecure_skip_verify` | Cert defines reference for secret with CA content under given key
mutually exclusive with CertFile | _boolean_ | true | +| `key_file` | KeyFile defines path to the pre-mounted file with certificate key
mutually exclusive with KeySecretRef | _string_ | true | +| `key_secret_ref` | Key defines reference for secret with certificate key content under given key
mutually exclusive with KeyFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | +| `server_name` | ServerName indicates a name of a server | _string_ | true | + + #### TLSConfig @@ -1765,6 +1919,7 @@ _Appears in:_ - [DigitalOceanSDConfig](#digitaloceansdconfig) - [EmailConfig](#emailconfig) - [Endpoint](#endpoint) +- [EndpointAuth](#endpointauth) - [HTTPAuth](#httpauth) - [HTTPConfig](#httpconfig) - [HTTPSDConfig](#httpsdconfig) @@ -1799,6 +1954,34 @@ _Appears in:_ +#### TLSServerConfig + + + +TLSServerConfig defines TLS configuration for the application's server + + + +_Appears in:_ +- [AlertmanagerGossipConfig](#alertmanagergossipconfig) +- [AlertmanagerWebConfig](#alertmanagerwebconfig) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `cert_file` | CertFile defines path to the pre-mounted file with certificate
mutually exclusive with CertSecretRef | _string_ | true | +| `cert_secret_ref` | | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | +| `cipher_suites` | CipherSuites defines list of supported cipher suites for TLS versions up to TLS 1.2
https://golang.org/pkg/crypto/tls/#pkg-constants | _string array_ | true | +| `client_auth_type` | Cert defines reference for secret with CA content under given key
mutually exclusive with CertFile
ClientAuthType defines server policy for client authentication
If you want to enable client authentication (aka mTLS), you need to use RequireAndVerifyClientCert
Note, mTLS is supported only at enterprise version of VictoriaMetrics components | _string_ | true | +| `client_ca_file` | ClientCAFile defines path to the pre-mounted file with CA
mutually exclusive with ClientCASecretRef | _string_ | true | +| `client_ca_secret_ref` | ClientCASecretRef defines reference for secret with CA content under given key
mutually exclusive with ClientCAFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | +| `curve_preferences` | CurvePreferences defines elliptic curves that will be used in an ECDHE handshake, in preference order.
https://golang.org/pkg/crypto/tls/#CurveID | _string array_ | true | +| `key_file` | KeyFile defines path to the pre-mounted file with certificate key
mutually exclusive with KeySecretRef | _string_ | true | +| `key_secret_ref` | Key defines reference for secret with certificate key content under given key
mutually exclusive with KeyFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | +| `max_version` | MaxVersion maximum TLS version that is acceptable. | _string_ | true | +| `min_version` | MinVersion minimum TLS version that is acceptable. | _string_ | true | +| `prefer_server_cipher_suites` | PreferServerCipherSuites controls whether the server selects the
client's most preferred ciphersuite | _boolean_ | true | + + #### TargetEndpoint @@ -1815,17 +1998,17 @@ _Appears in:_ | `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false | | `bearerTokenFile` | File to read bearer token for scraping targets. | _string_ | false | -| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the service scrape and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the scrape object and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false | | `honorLabels` | HonorLabels chooses the metric's labels on collisions with target labels. | _boolean_ | false | | `honorTimestamps` | HonorTimestamps controls whether vmagent respects the timestamps present in scraped data. | _boolean_ | false | | `interval` | Interval at which metrics should be scraped | _string_ | false | | `labels` | Labels static labels for targets. | _object (keys:string, values:string)_ | false | +| `max_scrape_size` | MaxScrapeSize defines a maximum size of scraped data for a job | _string_ | false | | `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | | `path` | HTTP path to scrape for metrics. | _string_ | false | -| `port` | Default port for target. | _string_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `relabelConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | false | | `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | false | @@ -1884,7 +2067,8 @@ _Appears in:_ - +TelegramConfig configures notification via telegram +https://prometheus.io/docs/alerting/latest/configuration/#telegram_config @@ -1912,7 +2096,7 @@ TimeInterval defines intervals of time _Appears in:_ -- [MuteTimeInterval](#mutetimeinterval) +- [TimeIntervals](#timeintervals) | Field | Description | Scheme | Required | | --- | --- | --- | --- | @@ -1924,6 +2108,23 @@ _Appears in:_ | `years` | Years defines numerical list of years, ranges are accepted.
For example, ['2020:2022', '2030'] | _string array_ | false | +#### TimeIntervals + + + +TimeIntervals for alerts + + + +_Appears in:_ +- [VMAlertmanagerConfigSpec](#vmalertmanagerconfigspec) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `name` | Name of interval | _string_ | true | +| `time_intervals` | TimeIntervals interval configuration | _[TimeInterval](#timeinterval) array_ | true | + + #### TimeRange @@ -1956,9 +2157,9 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `discover_backend_ips` | DiscoverBackendIPs instructs discovering URLPrefix backend IPs via DNS. | _boolean_ | true | -| `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details. | _integer_ | false | +| `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See [here](https://docs.victoriametrics.com/vmauth#dropping-request-path-prefix) for more details. | _integer_ | false | | `headers` | RequestHeaders represent additional http headers, that vmauth uses
in form of ["header_key: header_value"]
multiple values for header key:
["header_key: value1,value2"]
it's available since 1.68.0 version of vmauth | _string array_ | false | -| `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default "least_loaded") | _string_ | false | +| `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See [here](https://docs.victoriametrics.com/vmauth#load-balancing) for more details (default "least_loaded") | _string_ | false | | `response_headers` | ResponseHeaders represent additional http headers, that vmauth adds for request response
in form of ["header_key: header_value"]
multiple values for header key:
["header_key: value1,value2"]
it's available since 1.93.0 version of vmauth | _string array_ | false | | `retry_status_codes` | RetryStatusCodes defines http status codes in numeric format for request retries
Can be defined per target or at VMUser.spec level
e.g. [429,503] | _integer array_ | false | | `src_headers` | SrcHeaders is an optional list of headers, which must match request headers. | _string array_ | true | @@ -1988,7 +2189,7 @@ _Appears in:_ _Underlying type:_ _string_ - +UpdateStatus defines status for application @@ -2018,16 +2219,95 @@ _Appears in:_ | --- | --- | --- | --- | | `default_url` | DefaultURLs backend url for non-matching paths filter
usually used for default backend with error message | _string array_ | true | | `discover_backend_ips` | DiscoverBackendIPs instructs discovering URLPrefix backend IPs via DNS. | _boolean_ | true | -| `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details. | _integer_ | false | +| `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See [here](https://docs.victoriametrics.com/vmauth#dropping-request-path-prefix) for more details. | _integer_ | false | | `headers` | Headers represent additional http headers, that vmauth uses
in form of ["header_key: header_value"]
multiple values for header key:
["header_key: value1,value2"]
it's available since 1.68.0 version of vmauth | _string array_ | false | -| `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of vmauth
https://docs.victoriametrics.com/vmauth.html#ip-filters | _[VMUserIPFilters](#vmuseripfilters)_ | false | -| `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default "least_loaded") | _string_ | false | +| `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth/#ip-filters) | _[VMUserIPFilters](#vmuseripfilters)_ | false | +| `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See [here](https://docs.victoriametrics.com/vmauth#load-balancing) for more details (default "least_loaded") | _string_ | false | | `max_concurrent_requests` | MaxConcurrentRequests defines max concurrent requests per user
300 is default value for vmauth | _integer_ | false | | `response_headers` | ResponseHeaders represent additional http headers, that vmauth adds for request response
in form of ["header_key: header_value"]
multiple values for header key:
["header_key: value1,value2"]
it's available since 1.93.0 version of vmauth | _string array_ | false | | `retry_status_codes` | RetryStatusCodes defines http status codes in numeric format for request retries
e.g. [429,503] | _integer array_ | false | | `tlsConfig` | | _[TLSConfig](#tlsconfig)_ | false | +#### VLogs + + + +VLogs is the Schema for the vlogs API + + + + + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | +| `kind` _string_ | `VLogs` | | | +| `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | +| `spec` | | _[VLogsSpec](#vlogsspec)_ | true | + + +#### VLogsSpec + + + +VLogsSpec defines the desired state of VLogs + + + +_Appears in:_ +- [VLogs](#vlogs) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | +| `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the VLogs
object, which shall be mounted into the VLogs Pods. | _string array_ | false | +| `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | +| `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | +| `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | +| `extraArgs` | ExtraArgs that will be passed to VLogs pod
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | +| `extraEnvs` | ExtraEnvs that will be added to VLogs pod | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | +| `futureRetention` | FutureRetention for the stored logs
Log entries with timestamps bigger than now+futureRetention are rejected during data ingestion; see https://docs.victoriametrics.com/victorialogs/#retention | _string_ | true | +| `hostAliases` | HostAliases provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | +| `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | +| `image` | Image - docker image settings for VLogs
if no specified operator uses default config version | _[Image](#image)_ | false | +| `imagePullSecrets` | ImagePullSecrets An optional list of references to secrets in the same namespace
to use for pulling images from registries
see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | +| `initContainers` | InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.
fetch secrets for injection into the VLogs configuration from external sources. Any
errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
Using initContainers for any use case other then secret fetching is entirely outside the scope
of what the maintainers will support and by doing so, you accept that this behaviour may break
at any time without notice. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | +| `logFormat` | LogFormat for VLogs to be configured with. | _string_ | false | +| `logIngestedRows` | Whether to log all the ingested log entries; this can be useful for debugging of data ingestion; see https://docs.victoriametrics.com/victorialogs/data-ingestion/ | _boolean_ | true | +| `logLevel` | LogLevel for VictoriaLogs to be configured with. | _string_ | false | +| `logNewStreams` | LogNewStreams Whether to log creation of new streams; this can be useful for debugging of high cardinality issues with log streams; see https://docs.victoriametrics.com/victorialogs/keyconcepts/#stream-fields | _boolean_ | true | +| `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | +| `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | +| `podMetadata` | PodMetadata configures Labels and Annotations which are propagated to the VLogs pods. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | +| `port` | Port listen port | _string_ | false | +| `priorityClassName` | PriorityClassName assigned to the Pods | _string_ | false | +| `readinessGates` | ReadinessGates defines pod readiness gates | _[PodReadinessGate](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podreadinessgate-v1-core) array_ | true | +| `removePvcAfterDelete` | RemovePvcAfterDelete - if true, controller adds ownership to pvc
and after VLogs objest deletion - pvc will be garbage collected
by controller manager | _boolean_ | false | +| `replicaCount` | ReplicaCount is the expected size of the VLogs
it can be 0 or 1
if you need more - use vm cluster | _integer_ | true | +| `resources` | Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
if not defined default resources from operator config will be used | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | +| `retentionPeriod` | RetentionPeriod for the stored logs | _string_ | true | +| `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the StatefulSet's revision history.
Defaults to 10. | _integer_ | false | +| `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | +| `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | +| `secrets` | Secrets is a list of Secrets in the same namespace as the VLogs
object, which shall be mounted into the VLogs Pods. | _string array_ | false | +| `securityContext` | SecurityContext holds pod-level security attributes and common container settings.
This defaults to the default PodSecurityContext. | _[PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podsecuritycontext-v1-core)_ | false | +| `serviceAccountName` | ServiceAccountName is the name of the ServiceAccount to use to run the
VLogs Pods. | _string_ | false | +| `serviceScrapeSpec` | ServiceScrapeSpec that will be added to vlogs VMServiceScrape spec | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | false | +| `serviceSpec` | ServiceSpec that will be added to vlogs service spec | _[AdditionalServiceSpec](#additionalservicespec)_ | false | +| `storage` | Storage is the definition of how storage will be used by the VLogs
by default it`s empty dir | _[PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#persistentvolumeclaimspec-v1-core)_ | false | +| `storageDataPath` | StorageDataPath disables spec.storage option and overrides arg for victoria-logs binary --storageDataPath,
its users responsibility to mount proper device into given path. | _string_ | false | +| `storageMetadata` | StorageMeta defines annotations and labels attached to PVC for given vlogs CR | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | +| `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#int64-v1-core)_ | false | +| `tolerations` | Tolerations If specified, the pod's tolerations. | _[Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#toleration-v1-core) array_ | false | +| `topologySpreadConstraints` | TopologySpreadConstraints embedded kubernetes pod configuration option,
controls how pods are spread across your cluster among failure-domains
such as regions, zones, nodes, and other user-defined topology domains
https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ | _[TopologySpreadConstraint](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#topologyspreadconstraint-v1-core) array_ | false | +| `useStrictSecurity` | UseStrictSecurity enables strict security mode for component
it restricts disk writes access
uses non-root user out of the box
drops not needed security permissions | _boolean_ | false | +| `volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.
VolumeMounts specified will be appended to other VolumeMounts in the VLogs container,
that are generated as a result of StorageSpec objects. | _[VolumeMount](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volumemount-v1-core) array_ | false | +| `volumes` | Volumes allows configuration of additional volumes on the output deploy definition.
Volumes specified will be appended to other volumes that are generated as a result of
StorageSpec objects. | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | false | + + + + #### VMAgent @@ -2067,7 +2347,7 @@ _Appears in:_ | `queues` | The number of concurrent queues | _integer_ | false | | `showURL` | Whether to show -remoteWrite.url in the exported metrics. It is hidden by default, since it can contain sensitive auth info | _boolean_ | false | | `tmpDataPath` | Path to directory where temporary data for remote write component is stored (default vmagent-remotewrite-data) | _string_ | false | -| `useMultiTenantMode` | Configures vmagent accepting data via the same multitenant endpoints as vminsert at VictoriaMetrics cluster does,
see https://docs.victoriametrics.com/vmagent.html#multitenancy.
it's global setting and affects all remote storage configurations | _boolean_ | false | +| `useMultiTenantMode` | Configures vmagent accepting data via the same multitenant endpoints as vminsert at VictoriaMetrics cluster does,
see [here](https://docs.victoriametrics.com/vmagent/#multitenancy).
it's global setting and affects all remote storage configurations | _boolean_ | false | #### VMAgentRemoteWriteSpec @@ -2095,6 +2375,26 @@ _Appears in:_ | `urlRelabelConfig` | ConfigMap with relabeling config which is applied to metrics before sending them to the corresponding -remoteWrite.url | _[ConfigMapKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#configmapkeyselector-v1-core)_ | false | +#### VMAgentSecurityEnforcements + + + +VMAgentSecurityEnforcements defines security configuration for endpoint scrapping + + + +_Appears in:_ +- [VMAgentSpec](#vmagentspec) + +| Field | Description | Scheme | Required | +| --- | --- | --- | --- | +| `arbitraryFSAccessThroughSMs` | ArbitraryFSAccessThroughSMs configures whether configuration
based on EndpointAuth can access arbitrary files on the file system
of the VMAgent container e.g. bearer token files, basic auth, tls certs | _[ArbitraryFSAccessThroughSMsConfig](#arbitraryfsaccessthroughsmsconfig)_ | false | +| `enforcedNamespaceLabel` | EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert
and metric that is user created. The label value will always be the namespace of the object that is
being created. | _string_ | false | +| `ignoreNamespaceSelectors` | IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from
scrape objects, and they will only discover endpoints
within their current namespace. Defaults to false. | _boolean_ | false | +| `overrideHonorLabels` | OverrideHonorLabels if set to true overrides all user configured honor_labels.
If HonorLabels is set in scrape objects to true, this overrides honor_labels to false. | _boolean_ | false | +| `overrideHonorTimestamps` | OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs. | _boolean_ | false | + + #### VMAgentSpec @@ -2111,7 +2411,7 @@ _Appears in:_ | `aPIServerConfig` | APIServerConfig allows specifying a host and auth methods to access apiserver.
If left empty, VMAgent is assumed to run inside of the cluster
and will discover API servers automatically and use the pod's CA certificate
and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. | _[APIServerConfig](#apiserverconfig)_ | false | | `additionalScrapeConfigs` | AdditionalScrapeConfigs As scrape configs are appended, the user is responsible to make sure it
is valid. Note that using this feature may expose the possibility to
break upgrades of VMAgent. It is advised to review VMAgent release
notes to ensure that no incompatible scrape configs are going to break
VMAgent after the upgrade. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | -| `arbitraryFSAccessThroughSMs` | ArbitraryFSAccessThroughSMs configures whether configuration
based on a service scrape can access arbitrary files on the file system
of the VMAgent container e.g. bearer token files. | _[ArbitraryFSAccessThroughSMsConfig](#arbitraryfsaccessthroughsmsconfig)_ | false | +| `arbitraryFSAccessThroughSMs` | ArbitraryFSAccessThroughSMs configures whether configuration
based on EndpointAuth can access arbitrary files on the file system
of the VMAgent container e.g. bearer token files, basic auth, tls certs | _[ArbitraryFSAccessThroughSMsConfig](#arbitraryfsaccessthroughsmsconfig)_ | false | | `claimTemplates` | ClaimTemplates allows adding additional VolumeClaimTemplates for VMAgent in StatefulMode | _[PersistentVolumeClaim](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#persistentvolumeclaim-v1-core) array_ | true | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the vmagent
object, which shall be mounted into the vmagent Pods.
will be mounted at path /etc/vm/configs | _string array_ | false | | `configReloaderExtraArgs` | ConfigReloaderExtraArgs that will be passed to VMAuths config-reloader container
for example resyncInterval: "30s" | _object (keys:string, values:string)_ | false | @@ -2124,7 +2424,7 @@ _Appears in:_ | `extraEnvs` | ExtraEnvs that will be added to VMAgent pod | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `host_aliases` | HostAliases provides mapping between ip and hostnames,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | -| `ignoreNamespaceSelectors` | IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from
the podscrape and vmservicescrape configs, and they will only discover endpoints
within their current namespace. Defaults to false. | _boolean_ | false | +| `ignoreNamespaceSelectors` | IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from
scrape objects, and they will only discover endpoints
within their current namespace. Defaults to false. | _boolean_ | false | | `image` | Image - docker image settings for VMAgent
if no specified operator uses default config version | _[Image](#image)_ | false | | `imagePullSecrets` | ImagePullSecrets An optional list of references to secrets in the same namespace
to use for pulling images from registries
see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `ingestOnlyMode` | IngestOnlyMode switches vmagent into unmanaged mode
it disables any config generation for scraping
Currently it prevents vmagent from managing tls and auth options for remote write | _boolean_ | false | @@ -2132,7 +2432,7 @@ _Appears in:_ | `inlineRelabelConfig` | InlineRelabelConfig - defines GlobalRelabelConfig for vmagent, can be defined directly at CRD. | _[RelabelConfig](#relabelconfig) array_ | false | | `inlineScrapeConfig` | InlineScrapeConfig As scrape configs are appended, the user is responsible to make sure it
is valid. Note that using this feature may expose the possibility to
break upgrades of VMAgent. It is advised to review VMAgent release
notes to ensure that no incompatible scrape configs are going to break
VMAgent after the upgrade.
it should be defined as single yaml file.
inlineScrapeConfig: \|
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"] | _string_ | false | | `insertPorts` | InsertPorts - additional listen ports for data ingestion. | _[InsertPorts](#insertports)_ | true | -| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See: https://docs.victoriametrics.com/enterprise.html | _[License](#license)_ | false | +| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `logFormat` | LogFormat for VMAgent to be configured with. | _string_ | false | | `logLevel` | LogLevel for VMAgent to be configured with.
INFO, WARN, ERROR, FATAL, PANIC | _string_ | false | | `maxScrapeInterval` | MaxScrapeInterval allows limiting maximum scrape interval for VMServiceScrape, VMPodScrape and other scrapes
If interval is higher than defined limit, `maxScrapeInterval` will be used. | _string_ | true | @@ -2142,7 +2442,7 @@ _Appears in:_ | `nodeScrapeRelabelTemplate` | NodeScrapeRelabelTemplate defines relabel config, that will be added to each VMNodeScrape.
it's useful for adding specific labels to all targets | _[RelabelConfig](#relabelconfig) array_ | false | | `nodeScrapeSelector` | NodeScrapeSelector defines VMNodeScrape to be selected for scraping.
Works in combination with NamespaceSelector.
NamespaceSelector nil - only objects at VMAgent namespace.
Selector nil - only objects at NamespaceSelector namespaces.
If both nil - behaviour controlled by selectAllByDefault | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | -| `overrideHonorLabels` | OverrideHonorLabels if set to true overrides all user configured honor_labels.
If HonorLabels is set in ServiceScrape or PodScrape to true, this overrides honor_labels to false. | _boolean_ | false | +| `overrideHonorLabels` | OverrideHonorLabels if set to true overrides all user configured honor_labels.
If HonorLabels is set in scrape objects to true, this overrides honor_labels to false. | _boolean_ | false | | `overrideHonorTimestamps` | OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs. | _boolean_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `podDisruptionBudget` | PodDisruptionBudget created by operator | _[EmbeddedPodDisruptionBudgetSpec](#embeddedpoddisruptionbudgetspec)_ | false | @@ -2179,13 +2479,14 @@ _Appears in:_ | `serviceScrapeSelector` | ServiceScrapeSelector defines ServiceScrapes to be selected for target discovery.
Works in combination with NamespaceSelector.
NamespaceSelector nil - only objects at VMAgent namespace.
Selector nil - only objects at NamespaceSelector namespaces.
If both nil - behaviour controlled by selectAllByDefault | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `serviceScrapeSpec` | ServiceScrapeSpec that will be added to vmagent VMServiceScrape spec | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | false | | `serviceSpec` | ServiceSpec that will be added to vmagent service spec | _[AdditionalServiceSpec](#additionalservicespec)_ | false | -| `shardCount` | ShardCount - numbers of shards of VMAgent
in this case operator will use 1 deployment/sts per shard with
replicas count according to spec.replicas,
see https://docs.victoriametrics.com/vmagent.html#scraping-big-number-of-targets | _integer_ | false | +| `shardCount` | ShardCount - numbers of shards of VMAgent
in this case operator will use 1 deployment/sts per shard with
replicas count according to spec.replicas,
see [here](https://docs.victoriametrics.com/vmagent/#scraping-big-number-of-targets) | _integer_ | false | | `statefulMode` | StatefulMode enables StatefulSet for `VMAgent` instead of Deployment
it allows using persistent storage for vmagent's persistentQueue | _boolean_ | false | | `statefulRollingUpdateStrategy` | StatefulRollingUpdateStrategy allows configuration for strategyType
set it to RollingUpdate for disabling operator statefulSet rollingUpdate | _[StatefulSetUpdateStrategyType](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetupdatestrategytype-v1-apps)_ | false | | `statefulStorage` | StatefulStorage configures storage for StatefulSet | _[StorageSpec](#storagespec)_ | false | | `staticScrapeNamespaceSelector` | StaticScrapeNamespaceSelector defines Namespaces to be selected for VMStaticScrape discovery.
Works in combination with NamespaceSelector.
NamespaceSelector nil - only objects at VMAgent namespace.
Selector nil - only objects at NamespaceSelector namespaces.
If both nil - behaviour controlled by selectAllByDefault | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `staticScrapeRelabelTemplate` | StaticScrapeRelabelTemplate defines relabel config, that will be added to each VMStaticScrape.
it's useful for adding specific labels to all targets | _[RelabelConfig](#relabelconfig) array_ | false | | `staticScrapeSelector` | StaticScrapeSelector defines PodScrapes to be selected for target discovery.
Works in combination with NamespaceSelector.
If both nil - match everything.
NamespaceSelector nil - only objects at VMAgent namespace.
Selector nil - only objects at NamespaceSelector namespaces. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | +| `streamAggrConfig` | StreamAggrConfig defines global stream aggregation configuration for VMAgent | _[StreamAggrConfig](#streamaggrconfig)_ | false | | `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#int64-v1-core)_ | false | | `tolerations` | Tolerations If specified, the pod's tolerations. | _[Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#toleration-v1-core) array_ | false | | `topologySpreadConstraints` | TopologySpreadConstraints embedded kubernetes pod configuration option,
controls how pods are spread across your cluster among failure-domains
such as regions, zones, nodes, and other user-defined topology domains
https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ | _[TopologySpreadConstraint](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#topologyspreadconstraint-v1-core) array_ | false | @@ -2331,7 +2632,7 @@ _Appears in:_ | `image` | Image - docker image settings for VMAlert
if no specified operator uses default config version | _[Image](#image)_ | false | | `imagePullSecrets` | ImagePullSecrets An optional list of references to secrets in the same namespace
to use for pulling images from registries
see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `initContainers` | InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.
fetch secrets for injection into the VMAlert configuration from external sources. Any
errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
Using initContainers for any use case other then secret fetching is entirely outside the scope
of what the maintainers will support and by doing so, you accept that this behaviour may break
at any time without notice. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | -| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See: https://docs.victoriametrics.com/enterprise.html | _[License](#license)_ | false | +| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `logFormat` | LogFormat for VMAlert to be configured with.
default or json | _string_ | false | | `logLevel` | LogLevel for VMAlert to be configured with. | _string_ | false | | `minReadySeconds` | MinReadySeconds defines a minim number os seconds to wait before starting update next pod
if previous in healthy state | _integer_ | false | @@ -2414,6 +2715,7 @@ VMAlertmanagerConfig is the Schema for the vmalertmanagerconfigs API VMAlertmanagerConfigSpec defines configuration for VMAlertmanagerConfig +it must reference only locally defined objects @@ -2423,10 +2725,9 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `inhibit_rules` | InhibitRules will only apply for alerts matching
the resource's namespace. | _[InhibitRule](#inhibitrule) array_ | false | -| `mute_time_intervals` | MuteTimeInterval - global mute time
See https://prometheus.io/docs/alerting/latest/configuration/#mute_time_interval | _[MuteTimeInterval](#mutetimeinterval) array_ | false | -| `receivers` | Receivers defines alert receivers.
without defined Route, receivers will be skipped. | _[Receiver](#receiver) array_ | true | +| `receivers` | Receivers defines alert receivers | _[Receiver](#receiver) array_ | true | | `route` | Route definition for alertmanager, may include nested routes. | _[Route](#route)_ | true | -| `time_intervals` | ParsingError contents error with context if operator was failed to parse json object from kubernetes api server
TimeIntervals modern config option, use it instead of mute_time_intervals | _[MuteTimeInterval](#mutetimeinterval) array_ | false | +| `time_intervals` | TimeIntervals defines named interval for active/mute notifications interval
See https://prometheus.io/docs/alerting/latest/configuration/#time_interval | _[TimeIntervals](#timeintervals) array_ | false | @@ -2463,6 +2764,7 @@ _Appears in:_ | `externalURL` | ExternalURL the VMAlertmanager instances will be available under. This is
necessary to generate correct URLs. This is necessary if VMAlertmanager is not
served from root of a DNS name. | _string_ | false | | `extraArgs` | ExtraArgs that will be passed to VMAlertmanager pod
for example log.level: debug | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be added to VMAlertmanager pod | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | +| `gossipConfig` | GossipConfig defines gossip TLS configuration for Alertmanager cluster | _[AlertmanagerGossipConfig](#alertmanagergossipconfig)_ | true | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `image` | Image - docker image settings for VMAlertmanager
if no specified operator uses default config version | _[Image](#image)_ | false | | `imagePullSecrets` | ImagePullSecrets An optional list of references to secrets in the same namespace
to use for pulling images from registries
see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | @@ -2500,6 +2802,7 @@ _Appears in:_ | `useStrictSecurity` | UseStrictSecurity enables strict security mode for component
it restricts disk writes access
uses non-root user out of the box
drops not needed security permissions | _boolean_ | false | | `volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition.
VolumeMounts specified will be appended to other VolumeMounts in the alertmanager container,
that are generated as a result of StorageSpec objects. | _[VolumeMount](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volumemount-v1-core) array_ | false | | `volumes` | Volumes allows configuration of additional volumes on the output StatefulSet definition.
Volumes specified will be appended to other volumes that are generated as a result of
StorageSpec objects. | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | false | +| `webConfig` | WebConfig defines configuration for webserver
https://github.com/prometheus/alertmanager/blob/main/docs/https.md | _[AlertmanagerWebConfig](#alertmanagerwebconfig)_ | true | @@ -2544,7 +2847,7 @@ _Appears in:_ | `discover_backend_ips` | DiscoverBackendIPs instructs discovering URLPrefix backend IPs via DNS. | _boolean_ | true | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | | `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | -| `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details. | _integer_ | false | +| `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See [here](https://docs.victoriametrics.com/vmauth#dropping-request-path-prefix) for more details. | _integer_ | false | | `extraArgs` | ExtraArgs that will be passed to VMAuth pod
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be added to VMAuth pod | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `headers` | Headers represent additional http headers, that vmauth uses
in form of ["header_key: header_value"]
multiple values for header key:
["header_key: value1,value2"]
it's available since 1.68.0 version of vmauth | _string array_ | false | @@ -2554,9 +2857,9 @@ _Appears in:_ | `imagePullSecrets` | ImagePullSecrets An optional list of references to secrets in the same namespace
to use for pulling images from registries
see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `ingress` | Ingress enables ingress configuration for VMAuth. | _[EmbeddedIngress](#embeddedingress)_ | true | | `initContainers` | InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.
fetch secrets for injection into the vmSingle configuration from external sources. Any
errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
Using initContainers for any use case other then secret fetching is entirely outside the scope
of what the maintainers will support and by doing so, you accept that this behaviour may break
at any time without notice. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | -| `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of vmauth
https://docs.victoriametrics.com/vmauth.html#ip-filters | _[VMUserIPFilters](#vmuseripfilters)_ | false | -| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See: https://docs.victoriametrics.com/enterprise.html | _[License](#license)_ | false | -| `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default "least_loaded") | _string_ | false | +| `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth/#ip-filters) | _[VMUserIPFilters](#vmuseripfilters)_ | false | +| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | +| `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See [here](https://docs.victoriametrics.com/vmauth#load-balancing) for more details (default "least_loaded") | _string_ | false | | `logFormat` | LogFormat for VMAuth to be configured with. | _string_ | false | | `logLevel` | LogLevel for victoria metrics single to be configured with. | _string_ | false | | `max_concurrent_requests` | MaxConcurrentRequests defines max concurrent requests per user
300 is default value for vmauth | _integer_ | false | @@ -2626,7 +2929,7 @@ _Appears in:_ | `logLevel` | LogLevel for VMBackup to be configured with. | _string_ | false | | `port` | Port for health check connections | _string_ | true | | `resources` | Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
if not defined default resources from operator config will be used | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | -| `restore` | Restore Allows to enable restore options for pod
Read more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands | _[VMRestore](#vmrestore)_ | false | +| `restore` | Restore Allows to enable restore options for pod
Read [more](https://docs.victoriametrics.com/vmbackupmanager#restore-commands) | _[VMRestore](#vmrestore)_ | false | | `snapshotCreateURL` | SnapshotCreateURL overwrites url for snapshot create | _string_ | false | | `snapshotDeleteURL` | SnapShotDeleteURL overwrites url for snapshot delete | _string_ | false | | `volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.
VolumeMounts specified will be appended to other VolumeMounts in the vmbackupmanager container,
that are generated as a result of StorageSpec objects. | _[VolumeMount](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volumemount-v1-core) array_ | false | @@ -2666,10 +2969,10 @@ _Appears in:_ | --- | --- | --- | --- | | `clusterVersion` | ClusterVersion defines default images tag for all components.
it can be overwritten with component specific image.tag value. | _string_ | false | | `imagePullSecrets` | ImagePullSecrets An optional list of references to secrets in the same namespace
to use for pulling images from registries
see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | -| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See: https://docs.victoriametrics.com/enterprise.html | _[License](#license)_ | false | +| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `replicationFactor` | ReplicationFactor defines how many copies of data make among
distinct storage nodes | _integer_ | false | -| `retentionPeriod` | RetentionPeriod for the stored metrics
Note VictoriaMetrics has data/ and indexdb/ folders
metrics from data/ removed eventually as soon as partition leaves retention period
reverse index data at indexdb rotates once at the half of configured retention period
https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention | _string_ | true | +| `retentionPeriod` | RetentionPeriod for the stored metrics
Note VictoriaMetrics has data/ and indexdb/ folders
metrics from data/ removed eventually as soon as partition leaves retention period
reverse index data at indexdb rotates once at the half of configured
[retention period](https://docs.victoriametrics.com/Single-server-VictoriaMetrics/#retention) | _string_ | true | | `serviceAccountName` | ServiceAccountName is the name of the ServiceAccount to use to run the
VMSelect, VMStorage and VMInsert Pods. | _string_ | false | | `useStrictSecurity` | UseStrictSecurity enables strict security mode for component
it restricts disk writes access
uses non-root user out of the box
drops not needed security permissions | _boolean_ | false | | `vminsert` | | _[VMInsert](#vminsert)_ | false | @@ -2693,7 +2996,7 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | -| `clusterNativeListenPort` | ClusterNativePort for multi-level cluster setup.
More details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup | _string_ | false | +| `clusterNativeListenPort` | ClusterNativePort for multi-level cluster setup.
More [details](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#multi-level-cluster-setup) | _string_ | false | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the VMInsert
object, which shall be mounted into the VMInsert Pods.
The ConfigMaps are mounted into /etc/vm/configs/. | _string array_ | false | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | @@ -2768,12 +3071,13 @@ _Appears in:_ | `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false | | `bearerTokenFile` | File to read bearer token for scraping targets. | _string_ | false | -| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the scrape object and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false | | `honorLabels` | HonorLabels chooses the metric's labels on collisions with target labels. | _boolean_ | false | | `honorTimestamps` | HonorTimestamps controls whether vmagent respects the timestamps present in scraped data. | _boolean_ | false | | `interval` | Interval at which metrics should be scraped | _string_ | false | | `jobLabel` | The label to use to retrieve the job name from. | _string_ | false | +| `max_scrape_size` | MaxScrapeSize defines a maximum size of scraped data for a job | _string_ | false | | `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | @@ -2788,12 +3092,10 @@ _Appears in:_ | `selector` | Selector to select kubernetes Nodes. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `seriesLimit` | SeriesLimit defines per-scrape limit on number of unique time series
a single target can expose during all the scrapes on the time window of 24h. | _integer_ | false | | `targetLabels` | TargetLabels transfers labels on the Kubernetes Node onto the target. | _string array_ | false | -| `tlsConfig` | | _[TLSConfig](#tlsconfig)_ | false | +| `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false | | `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | - - #### VMPodScrape @@ -2837,8 +3139,6 @@ _Appears in:_ | `seriesLimit` | SeriesLimit defines per-scrape limit on number of unique time series
a single target can expose during all the scrapes on the time window of 24h. | _integer_ | false | - - #### VMProbe @@ -2875,16 +3175,22 @@ _Appears in:_ | `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false | | `bearerTokenFile` | File to read bearer token for scraping targets. | _string_ | false | -| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the service scrape and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the scrape object and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false | -| `interval` | Interval at which targets are probed using the configured prober.
If not specified global scrape interval is used. | _string_ | true | +| `honorLabels` | HonorLabels chooses the metric's labels on collisions with target labels. | _boolean_ | false | +| `honorTimestamps` | HonorTimestamps controls whether vmagent respects the timestamps present in scraped data. | _boolean_ | false | +| `interval` | Interval at which metrics should be scraped | _string_ | false | | `jobName` | The job name assigned to scraped metrics by default. | _string_ | true | +| `max_scrape_size` | MaxScrapeSize defines a maximum size of scraped data for a job | _string_ | false | +| `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false | | `module` | The module to use for probing specifying how to probe the target.
Example module configuring in the blackbox exporter:
https://github.com/prometheus/blackbox_exporter/blob/master/example.yml | _string_ | true | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | +| `path` | HTTP path to scrape for metrics. | _string_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | false | -| `scrapeTimeout` | Timeout for scraping metrics from the blackbox exporter. | _string_ | true | +| `scheme` | HTTP scheme to use for scraping. | _string_ | false | +| `scrapeTimeout` | Timeout after which the scrape is ended | _string_ | false | | `scrape_interval` | ScrapeInterval is the same as Interval and has priority over it.
one of scrape_interval or interval can be used | _string_ | false | | `seriesLimit` | SeriesLimit defines per-scrape limit on number of unique time series
a single target can expose during all the scrapes on the time window of 24h. | _integer_ | false | | `targets` | Targets defines a set of static and/or dynamically discovered targets to be probed using the prober. | _[VMProbeTargets](#vmprobetargets)_ | true | @@ -2893,8 +3199,6 @@ _Appears in:_ | `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | - - #### VMProbeTargetStaticConfig @@ -3047,9 +3351,11 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `authorization` | Authorization header to use on every scrape request. | _[Authorization](#authorization)_ | false | +| `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false | | `azureSDConfigs` | AzureSDConfigs defines a list of Azure service discovery configurations. | _[AzureSDConfig](#azuresdconfig) array_ | false | -| `basicAuth` | BasicAuth information to use on every scrape request. | _[BasicAuth](#basicauth)_ | false | +| `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false | +| `bearerTokenFile` | File to read bearer token for scraping targets. | _string_ | false | +| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the scrape object and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `consulSDConfigs` | ConsulSDConfigs defines a list of Consul service discovery configurations. | _[ConsulSDConfig](#consulsdconfig) array_ | false | | `digitalOceanSDConfigs` | DigitalOceanSDConfigs defines a list of DigitalOcean service discovery configurations. | _[DigitalOceanSDConfig](#digitaloceansdconfig) array_ | false | | `dnsSDConfigs` | DNSSDConfigs defines a list of DNS service discovery configurations. | _[DNSSDConfig](#dnssdconfig) array_ | false | @@ -3058,28 +3364,28 @@ _Appears in:_ | `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false | | `gceSDConfigs` | GCESDConfigs defines a list of GCE service discovery configurations. | _[GCESDConfig](#gcesdconfig) array_ | false | | `honorLabels` | HonorLabels chooses the metric's labels on collisions with target labels. | _boolean_ | false | -| `honorTimestamps` | HonorTimestamps controls whether to respect the timestamps present in scraped data. | _boolean_ | false | +| `honorTimestamps` | HonorTimestamps controls whether vmagent respects the timestamps present in scraped data. | _boolean_ | false | | `httpSDConfigs` | HTTPSDConfigs defines a list of HTTP service discovery configurations. | _[HTTPSDConfig](#httpsdconfig) array_ | false | +| `interval` | Interval at which metrics should be scraped | _string_ | false | | `kubernetesSDConfigs` | KubernetesSDConfigs defines a list of Kubernetes service discovery configurations. | _[KubernetesSDConfig](#kubernetessdconfig) array_ | false | +| `max_scrape_size` | MaxScrapeSize defines a maximum size of scraped data for a job | _string_ | false | | `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false | -| `metricsPath` | MetricsPath HTTP path to scrape for metrics. If empty, use the default value (e.g. /metrics). | _string_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `openstackSDConfigs` | OpenStackSDConfigs defines a list of OpenStack service discovery configurations. | _[OpenStackSDConfig](#openstacksdconfig) array_ | false | | `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | +| `path` | HTTP path to scrape for metrics. | _string_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `relabelConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | false | | `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | false | -| `scheme` | Configures the protocol scheme used for requests.
If empty, use HTTP by default. | _string_ | false | -| `scrapeInterval` | ScrapeInterval is the interval between consecutive scrapes. | _string_ | false | -| `scrapeTimeout` | ScrapeTimeout is the number of seconds to wait until a scrape request times out. | _string_ | false | +| `scheme` | HTTP scheme to use for scraping. | _string_ | false | +| `scrapeTimeout` | Timeout after which the scrape is ended | _string_ | false | +| `scrape_interval` | ScrapeInterval is the same as Interval and has priority over it.
one of scrape_interval or interval can be used | _string_ | false | | `seriesLimit` | SeriesLimit defines per-scrape limit on number of unique time series
a single target can expose during all the scrapes on the time window of 24h. | _integer_ | false | | `staticConfigs` | StaticConfigs defines a list of static targets with a common label set. | _[StaticConfig](#staticconfig) array_ | false | -| `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | +| `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false | | `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | - - #### VMScrapeParams @@ -3091,6 +3397,7 @@ VMAgent and VMSingle _Appears in:_ - [Endpoint](#endpoint) +- [EndpointScrapeParams](#endpointscrapeparams) - [PodMetricsEndpoint](#podmetricsendpoint) - [TargetEndpoint](#targetendpoint) - [VMNodeScrapeSpec](#vmnodescrapespec) @@ -3099,13 +3406,11 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `disable_compression` | | _boolean_ | false | -| `disable_keep_alive` | disable_keepalive allows disabling HTTP keep-alive when scraping targets.
By default, HTTP keep-alive is enabled, so TCP connections to scrape targets
could be re-used.
See https://docs.victoriametrics.com/vmagent.html#scrape_config-enhancements | _boolean_ | false | +| `disable_compression` | DisableCompression | _boolean_ | false | +| `disable_keep_alive` | disable_keepalive allows disabling HTTP keep-alive when scraping targets.
By default, HTTP keep-alive is enabled, so TCP connections to scrape targets
could be re-used.
See https://docs.victoriametrics.com/vmagent#scrape_config-enhancements | _boolean_ | false | | `headers` | Headers allows sending custom headers to scrape targets
must be in of semicolon separated header with it's value
eg:
headerName: headerValue
vmagent supports since 1.79.0 version | _string array_ | false | -| `metric_relabel_debug` | deprecated since [v1.85](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.85.0), will be removed in next release | _boolean_ | false | | `no_stale_markers` | | _boolean_ | false | -| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy | _[ProxyAuth](#proxyauth)_ | false | -| `relabel_debug` | deprecated since [v1.85](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.85.0), will be removed in next release | _boolean_ | false | +| `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See feature description https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy | _[ProxyAuth](#proxyauth)_ | false | | `scrape_align_interval` | | _string_ | false | | `scrape_offset` | | _string_ | false | | `stream_parse` | | _boolean_ | false | @@ -3127,7 +3432,7 @@ _Appears in:_ | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | | `cacheMountPath` | CacheMountPath allows to add cache persistent for VMSelect,
will use "/cache" as default if not specified. | _string_ | false | | `claimTemplates` | ClaimTemplates allows adding additional VolumeClaimTemplates for StatefulSet | _[PersistentVolumeClaim](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#persistentvolumeclaim-v1-core) array_ | true | -| `clusterNativeListenPort` | ClusterNativePort for multi-level cluster setup.
More details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup | _string_ | false | +| `clusterNativeListenPort` | ClusterNativePort for multi-level cluster setup.
More [details](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#multi-level-cluster-setup) | _string_ | false | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect
object, which shall be mounted into the VMSelect Pods.
The ConfigMaps are mounted into /etc/vm/configs/. | _string array_ | false | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | @@ -3196,6 +3501,7 @@ VMServiceScrapeSpec defines the desired state of VMServiceScrape _Appears in:_ +- [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) @@ -3220,8 +3526,6 @@ _Appears in:_ | `targetLabels` | TargetLabels transfers labels on the Kubernetes Service onto the target. | _string array_ | false | - - #### VMSingle @@ -3266,7 +3570,7 @@ _Appears in:_ | `imagePullSecrets` | ImagePullSecrets An optional list of references to secrets in the same namespace
to use for pulling images from registries
see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `initContainers` | InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.
fetch secrets for injection into the vmSingle configuration from external sources. Any
errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
Using initContainers for any use case other then secret fetching is entirely outside the scope
of what the maintainers will support and by doing so, you accept that this behaviour may break
at any time without notice. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `insertPorts` | InsertPorts - additional listen ports for data ingestion. | _[InsertPorts](#insertports)_ | true | -| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See: https://docs.victoriametrics.com/enterprise.html | _[License](#license)_ | false | +| `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `logFormat` | LogFormat for VMSingle to be configured with. | _string_ | false | | `logLevel` | LogLevel for victoria metrics single to be configured with. | _string_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | @@ -3278,7 +3582,7 @@ _Appears in:_ | `removePvcAfterDelete` | RemovePvcAfterDelete - if true, controller adds ownership to pvc
and after VMSingle objest deletion - pvc will be garbage collected
by controller manager | _boolean_ | false | | `replicaCount` | ReplicaCount is the expected size of the VMSingle
it can be 0 or 1
if you need more - use vm cluster | _integer_ | true | | `resources` | Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
if not defined default resources from operator config will be used | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | -| `retentionPeriod` | RetentionPeriod for the stored metrics
Note VictoriaMetrics has data/ and indexdb/ folders
metrics from data/ removed eventually as soon as partition leaves retention period
reverse index data at indexdb rotates once at the half of configured retention period
https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention | _string_ | true | +| `retentionPeriod` | RetentionPeriod for the stored metrics
Note VictoriaMetrics has data/ and indexdb/ folders
metrics from data/ removed eventually as soon as partition leaves retention period
reverse index data at indexdb rotates once at the half of configured [retention period](https://docs.victoriametrics.com/Single-server-VictoriaMetrics/#retention) | _string_ | true | | `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the StatefulSet's revision history.
Defaults to 10. | _integer_ | false | | `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | | `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | @@ -3339,8 +3643,6 @@ _Appears in:_ | `targetEndpoints` | A list of target endpoints to scrape metrics from. | _[TargetEndpoint](#targetendpoint) array_ | true | - - #### VMStorage @@ -3421,8 +3723,7 @@ VMUser is the Schema for the vmusers API VMUserIPFilters defines filters for IP addresses -supported only with enterprise version of vmauth -https://docs.victoriametrics.com/vmauth.html#ip-filters +supported only with enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth#ip-filters) @@ -3454,11 +3755,11 @@ _Appears in:_ | `default_url` | DefaultURLs backend url for non-matching paths filter
usually used for default backend with error message | _string array_ | true | | `disable_secret_creation` | DisableSecretCreation skips related secret creation for vmuser | _boolean_ | true | | `discover_backend_ips` | DiscoverBackendIPs instructs discovering URLPrefix backend IPs via DNS. | _boolean_ | true | -| `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details. | _integer_ | false | +| `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See [here](https://docs.victoriametrics.com/vmauth#dropping-request-path-prefix) for more details. | _integer_ | false | | `generatePassword` | GeneratePassword instructs operator to generate password for user
if spec.password if empty. | _boolean_ | false | | `headers` | Headers represent additional http headers, that vmauth uses
in form of ["header_key: header_value"]
multiple values for header key:
["header_key: value1,value2"]
it's available since 1.68.0 version of vmauth | _string array_ | false | -| `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of vmauth
https://docs.victoriametrics.com/vmauth.html#ip-filters | _[VMUserIPFilters](#vmuseripfilters)_ | false | -| `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default "least_loaded") | _string_ | false | +| `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth/#ip-filters) | _[VMUserIPFilters](#vmuseripfilters)_ | false | +| `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See [here](https://docs.victoriametrics.com/vmauth#load-balancing) for more details (default "least_loaded") | _string_ | false | | `max_concurrent_requests` | MaxConcurrentRequests defines max concurrent requests per user
300 is default value for vmauth | _integer_ | false | | `metric_labels` | MetricLabels - additional labels for metrics exported by vmauth for given user. | _object (keys:string, values:string)_ | false | | `name` | Name of the VMUser object. | _string_ | false | @@ -3488,7 +3789,7 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | -| `api_key` | The secret's key that contains the API key to use when talking to the VictorOps API.
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `api_key` | The secret's key that contains the API key to use when talking to the VictorOps API.
It must be at them same namespace as CRD
fallback to global setting if empty | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `api_url` | The VictorOps API URL. | _string_ | false | | `custom_fields` | Adds optional custom fields
https://github.com/prometheus/alertmanager/blob/v0.24.0/config/notifiers.go#L537 | _object (keys:string, values:string)_ | false | | `entity_display_name` | Contains summary of the alerted problem. | _string_ | false | @@ -3515,9 +3816,9 @@ _Appears in:_ | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `agent_id` | | _string_ | false | -| `api_secret` | The secret's key that contains the WeChat API key.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | -| `api_url` | The WeChat API URL. | _string_ | false | -| `corp_id` | The corp id for authentication. | _string_ | false | +| `api_secret` | The secret's key that contains the WeChat API key.
The secret needs to be in the same namespace as the AlertmanagerConfig
fallback to global alertmanager setting if empty | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | +| `api_url` | The WeChat API URL.
fallback to global alertmanager setting if empty | _string_ | false | +| `corp_id` | The corp id for authentication.
fallback to global alertmanager setting if empty | _string_ | false | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message` | API request data as defined by the WeChat API. | _string_ | true | | `message_type` | | _string_ | false | diff --git a/docs/operator/auth.md b/docs/operator/auth.md index 610f96828..6e32d0dda 100644 --- a/docs/operator/auth.md +++ b/docs/operator/auth.md @@ -1,5 +1,4 @@ --- -sort: 7 weight: 7 title: Authorization and exposing components menu: @@ -7,19 +6,17 @@ menu: parent: "operator" weight: 7 aliases: - - /operator/auth.html + - /operator/auth/ + - /operator/auth/index.html --- - -# Authorization and exposing components - ## Exposing components CRD objects doesn't have `ingress` configuration. -Instead, you can use [VMAuth](./resources/vmauth.md) as proxy between ingress-controller and VictoriaMetrics components. +Instead, you can use [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth/) as proxy between ingress-controller and VictoriaMetrics components. It adds missing authorization and access control features and enforces it. -Access can be given with [VMUser](./resources/vmuser.md) definition. +Access can be given with [VMUser](https://docs.victoriametrics.com/operator/resources/vmuser/) definition. It supports basic auth and bearer token authentication: @@ -145,7 +142,7 @@ For each `VMUser` operator generates corresponding secret with username/password ## Basic auth for targets -To authenticate a `VMServiceScrape`s over a metrics endpoint use [`basicAuth`](./api.md#basicauth): +To authenticate a `VMServiceScrape`s over a metrics endpoint use [`basicAuth`](https://docs.victoriametrics.com/operator/api/#basicauth): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -184,8 +181,8 @@ type: Opaque You can expose some routes without authorization with `unauthorizedAccessConfig`. -Check more details in [VMAuth docs -> Unauthorized access](./resources/vmauth.md#unauthorized-access). +Check more details in [VMAuth docs -> Unauthorized access](https://docs.victoriametrics.com/operator/resources/vmauth/#unauthorized-access). More details about features of `VMAuth` and `VMUser` you can read in: -- [VMAuth docs](./resources/vmauth.md), -- [VMUser docs](./resources/vmuser.md). +- [VMAuth docs](https://docs.victoriametrics.com/operator/resources/vmauth/), +- [VMUser docs](https://docs.victoriametrics.com/operator/resources/vmuser/). diff --git a/docs/operator/configuration.md b/docs/operator/configuration.md index cef961631..0023ad446 100644 --- a/docs/operator/configuration.md +++ b/docs/operator/configuration.md @@ -1,5 +1,4 @@ --- -sort: 4 weight: 4 title: Configuration menu: @@ -7,13 +6,11 @@ menu: parent: "operator" weight: 4 aliases: - - /operator/configuration.html + - /operator/configuration/ + - /operator/configuration/index.html --- - -# Configuration - Operator configured by env variables, list of it can be found -on [Variables](./vars.md) page. +on [Variables](https://docs.victoriametrics.com/operator/vars/) page. It defines default configuration options, like images for components, timeouts, features. @@ -54,7 +51,7 @@ You can choose output format for variables with `--printFormat` flag, possible v ## Conversion of prometheus-operator objects -You can read detailed instructions about configuring prometheus-objects conversion in [this document](./migration.md). +You can read detailed instructions about configuring prometheus-objects conversion in [this document](https://docs.victoriametrics.com/operator/migration/). ## Helm-charts @@ -64,7 +61,7 @@ In [helm-charts](https://github.com/VictoriaMetrics/helm-charts) some important For possible values refer to [parameters](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-k8s-stack#parameters). -Also, checkout [here possible ENV variables](./vars.md) to configure operator behaviour. +Also, checkout [here possible ENV variables](https://docs.victoriametrics.com/operator/vars/) to configure operator behaviour. ENV variables can be set in the `victoria-metrics-operator.env` section. ```yaml @@ -100,7 +97,7 @@ victoria-metrics-operator: # It should reduce vmagent and vmauth config sync-time and make it predictable. useCustomConfigReloader: false - # -- extra settings for the operator deployment. full list Ref: [https://github.com/VictoriaMetrics/operator/blob/master/vars.md](https://github.com/VictoriaMetrics/operator/blob/master/vars.md) + # -- extra settings for the operator deployment. full list Ref: https://docs.victoriametrics.com/operator/vars env: # -- default version for vmsingle - name: VM_VMSINGLEDEFAULT_VERSION @@ -139,7 +136,7 @@ victoria-metrics-operator: For possible values refer to [parameters](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator#parameters). -Also, checkout [here possible ENV variables](./vars.md) to configure operator behaviour. +Also, checkout [here possible ENV variables](https://docs.victoriametrics.com/operator/vars/) to configure operator behaviour. ENV variables can be set in the `env` section. ```yaml @@ -167,7 +164,7 @@ operator: # It should reduce vmagent and vmauth config sync-time and make it predictable. useCustomConfigReloader: false -# -- extra settings for the operator deployment. full list Ref: [https://github.com/VictoriaMetrics/operator/blob/master/vars.md](https://github.com/VictoriaMetrics/operator/blob/master/vars.md) +# -- extra settings for the operator deployment. full list Ref: https://docs.victoriametrics.com/operator/vars env: # -- default version for vmsingle - name: VM_VMSINGLEDEFAULT_VERSION @@ -222,7 +219,7 @@ At each namespace operator must have a set of required permissions, an example c ## Monitoring of cluster components -By default, operator creates [VMServiceScrape](./resources/vmservicescrape.md) +By default, operator creates [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape/) object for each component that it manages. You can disable this behaviour with `VM_DISABLESELFSERVICESCRAPECREATION` environment variable: @@ -266,4 +263,4 @@ kustomize build config/deployments/webhook/ ### Useful links -- [k8s admission webhooks](https://banzaicloud.com/blog/k8s-admission-webhooks/) +- [k8s admission webhooks](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) diff --git a/docs/operator/enterprise.md b/docs/operator/enterprise.md index 6875cf4c9..a8b1ffc8a 100644 --- a/docs/operator/enterprise.md +++ b/docs/operator/enterprise.md @@ -1,5 +1,4 @@ --- -sort: 13 weight: 13 title: Enterprise features menu: @@ -7,39 +6,37 @@ menu: parent: "operator" weight: 13 aliases: - - /operator/enterprise.html + - /operator/enterprise/ + - /operator/enterprise/index.html --- - -# Using operator with enterprise features - Operator doesn't have enterprise version for itself, but it supports -[enterprise features for VictoriaMetrics components](https://docs.victoriametrics.com/enterprise.html): +[enterprise features for VictoriaMetrics components](https://docs.victoriametrics.com/enterprise/): -- [VMAgent Enterprise features](./resources/vmagent.md#enterprise-features): - - [Reading metrics from kafka](./resources/vmagent.md#reading-metrics-from-kafka) - - [Writing metrics to kafka](./resources/vmagent.md#writing-metrics-to-kafka) -- [VMAlert Enterprise features](./resources/vmalert.md#enterprise-features): - - [Reading rules from object storage](./resources/vmalert.md#reading-rules-from-object-storage) - - [Multitenancy](./resources/vmalert.md#multitenancy) -- [VMAuth Enterprise features](./resources/vmauth.md#enterprise-features) - - [IP Filters](./resources/vmauth.md#ip-filters) -- [VMCluster Enterprise features](./resources/vmcluster.md#enterprise-features) - - [Downsampling](./resources/vmcluster.md#downsampling) - - [Multiple retentions / Retention filters](./resources/vmcluster.md#retention-filters) - - [Advanced per-tenant statistic](./resources/vmcluster.md#advanced-per-tenant-statistic) - - [mTLS protection](./resources/vmcluster.md#mtls-protection) - - [Backup atomation](./resources/vmcluster.md#backup-atomation) -- [VMRule Enterprise features](./resources/vmrule.md#enterprise-features) - - [Multitenancy](./resources/vmrule.md#multitenancy) -- [VMSingle Enterprise features](./resources/vmsingle.md#enterprise-features) - - [Downsampling](./resources/vmsingle.md#downsampling) - - [Retention filters](./resources/vmsingle.md#retention-filters) - - [Backup atomation](./resources/vmsingle.md#backup-atomation) -- [VMUser Enterprise features](./resources/vmuser.md#enterprise-features) - - [IP Filters](./resources/vmuser.md#ip-filters) +- [VMAgent Enterprise features](https://docs.victoriametrics.com/operator/resources/vmagent/#enterprise-features): + - [Reading metrics from kafka](https://docs.victoriametrics.com/operator/resources/vmagent/#reading-metrics-from-kafka) + - [Writing metrics to kafka](https://docs.victoriametrics.com/operator/resources/vmagent/#writing-metrics-to-kafka) +- [VMAlert Enterprise features](https://docs.victoriametrics.com/operator/resources/vmalert/#enterprise-features): + - [Reading rules from object storage](https://docs.victoriametrics.com/operator/resources/vmalert/#reading-rules-from-object-storage) + - [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmalert/#multitenancy) +- [VMAuth Enterprise features](https://docs.victoriametrics.com/operator/resources/vmauth/#enterprise-features) + - [IP Filters](https://docs.victoriametrics.com/operator/resources/vmauth/#ip-filters) +- [VMCluster Enterprise features](https://docs.victoriametrics.com/operator/resources/vmcluster/#enterprise-features) + - [Downsampling](https://docs.victoriametrics.com/operator/resources/vmcluster/#downsampling) + - [Multiple retentions / Retention filters](https://docs.victoriametrics.com/operator/resources/vmcluster/#retention-filters) + - [Advanced per-tenant statistic](https://docs.victoriametrics.com/operator/resources/vmcluster/#advanced-per-tenant-statistic) + - [mTLS protection](https://docs.victoriametrics.com/operator/resources/vmcluster/#mtls-protection) + - [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster/#backup-automation) +- [VMRule Enterprise features](https://docs.victoriametrics.com/operator/resources/vmrule/#enterprise-features) + - [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmrule/#multitenancy) +- [VMSingle Enterprise features](https://docs.victoriametrics.com/operator/resources/vmsingle/#enterprise-features) + - [Downsampling](https://docs.victoriametrics.com/operator/resources/vmsingle/#downsampling) + - [Retention filters](https://docs.victoriametrics.com/operator/resources/vmsingle/#retention-filters) + - [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle/#backup-automation) +- [VMUser Enterprise features](https://docs.victoriametrics.com/operator/resources/vmuser/#enterprise-features) + - [IP Filters](https://docs.victoriametrics.com/operator/resources/vmuser/#ip-filters) More information about enterprise features you can read -on [VictoriaMetrics Enterprise page](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise-features). +on [VictoriaMetrics Enterprise page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise-features). In order to find examples of deploying enterprise components with operator, -please, check [this](https://docs.victoriametrics.com/enterprise.html#kubernetes-operator) documentation. +please, check [this](https://docs.victoriametrics.com/enterprise#kubernetes-operator) documentation. diff --git a/docs/operator/high-availability.md b/docs/operator/high-availability.md index 79ab8ee11..bfbfc68ad 100644 --- a/docs/operator/high-availability.md +++ b/docs/operator/high-availability.md @@ -1,5 +1,4 @@ --- -sort: 8 weight: 8 title: High Availability menu: @@ -7,11 +6,9 @@ menu: parent: "operator" weight: 8 aliases: - - /operator/high-availability.html + - /operator/high-availability/ + - /operator/high-availability/index.html --- - -# High Availability - High availability is not only important for customer-facing software but if the monitoring infrastructure is not highly available, then there is a risk that operations people are not notified of alerts. Therefore, high availability must be just as thought through for the monitoring stack, as for anything else. @@ -19,24 +16,24 @@ Therefore, high availability must be just as thought through for the monitoring VictoriaMetrics operator support high availability for each component of the monitoring stack: -- [VMAgent](./resources/vmagent.md#high-availability) -- [VMAlert](./resources/vmalert.md#high-availability) -- [VMAlertmanager](./resources/vmalertmanager.md#high-availability) -- [VMAuth](./resources/vmauth.md#high-availability) -- [VMCluster](./resources/vmcluster.md#high-availability) +- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent/#high-availability) +- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert/#high-availability) +- [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager/#high-availability) +- [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth/#high-availability) +- [VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster/#high-availability) -More details you can find in the section **[High Availability for resources](./resources/README.md#high-availability)**. +More details you can find in the section **[High Availability for resources](https://docs.victoriametrics.com/operator/resources/#high-availability)**. ## Operator VictoriaMetrics operator can be safely scaled horizontally, but only one replica of the operator can -process [the reconciliation](./README.md#reconciliation-cycle) at a time - +process [the reconciliation](https://docs.victoriametrics.com/operator/#reconciliation-cycle) at a time - it uses a leader election mechanism to ensure that only one replica is active at a time. If one of replicas of the operator will be failed, then another replica will be elected as a leader and will continue to work - operator replication affects how quickly this happens. -[CRD validation](./configuration.md#crd-validation) workload is fully +[CRD validation](https://docs.victoriametrics.com/operator/configuration#crd-validation) workload is fully distributed among the available operator replicas. In addition, you can safely use for operator such features @@ -46,4 +43,4 @@ as [assigning and distributing to nodes](https://kubernetes.io/docs/concepts/sch [topology spread constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#pod-topology-spread-constraints), [taints and tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/), etc...) -In addition, don't forget about [monitoring for the operator](./monitoring.md). +In addition, don't forget about [monitoring for the operator](https://docs.victoriametrics.com/operator/monitoring/). diff --git a/docs/operator/migration.md b/docs/operator/migration.md index cc5679600..aa89014fa 100644 --- a/docs/operator/migration.md +++ b/docs/operator/migration.md @@ -1,5 +1,4 @@ --- -sort: 5 weight: 5 title: Migration from Prometheus menu: @@ -7,11 +6,9 @@ menu: parent: "operator" weight: 5 aliases: - - /operator/migration.html + - /operator/migration/ + - /operator/migration/index.html --- - -# Migration from prometheus-operator - Design and implementation inspired by [prometheus-operator](https://github.com/prometheus-operator/prometheus-operator). It's great a tool for managing monitoring configuration of your applications. VictoriaMetrics operator has api capability with it. @@ -19,11 +16,11 @@ So you can use familiar CRD objects: `ServiceMonitor`, `PodMonitor`, `Prometheus Or you can use VictoriaMetrics CRDs: -- `VMServiceScrape` (instead of `ServiceMonitor`) - defines scraping metrics configuration from pods backed by services. [See details](./resources/vmservicescrape.md). -- `VMPodScrape` (instead of `PodMonitor`) - defines scraping metrics configuration from pods. [See details](./resources/vmpodscrape.md). -- `VMRule` (instead of `PrometheusRule`) - defines alerting or recording rules. [See details](./resources/vmrule.md). -- `VMProbe` (instead of `Probe`) - defines a probing configuration for targets with blackbox exporter. [See details](./resources/vmprobe.md). -- `VMAlertmanagerConfig` (instead of `AlertmanagerConfig`) - defines a configuration for AlertManager. [See details](./resources/vmalertmanagerconfig.md). +- `VMServiceScrape` (instead of `ServiceMonitor`) - defines scraping metrics configuration from pods backed by services. [See details](https://docs.victoriametrics.com/operator/resources/vmservicescrape/). +- `VMPodScrape` (instead of `PodMonitor`) - defines scraping metrics configuration from pods. [See details](https://docs.victoriametrics.com/operator/resources/vmpodscrape/). +- `VMRule` (instead of `PrometheusRule`) - defines alerting or recording rules. [See details](https://docs.victoriametrics.com/operator/resources/vmrule/). +- `VMProbe` (instead of `Probe`) - defines a probing configuration for targets with blackbox exporter. [See details](https://docs.victoriametrics.com/operator/resources/vmprobe/). +- `VMAlertmanagerConfig` (instead of `AlertmanagerConfig`) - defines a configuration for AlertManager. [See details](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig/). - `VMScrapeConfig` (instead of `ScrapeConfig`) - define a scrape config using any of the service discovery options supported in victoriametrics. Note that Prometheus CRDs are not supplied with the VictoriaMetrics operator, @@ -73,14 +70,14 @@ operator: Otherwise, VictoriaMetrics Operator would try to discover prometheus-operator API and convert it. - +![migration from prometheus](./migration_prometheus-conversion.webp) -For more information about the operator's workflow, see [this doc](./README.md). +For more information about the operator's workflow, see [this doc](https://docs.victoriametrics.com/operator). ## Deletion synchronization By default, the operator doesn't make converted objects disappear after original ones are deleted. To change this behaviour -configure adding `OwnerReferences` to converted objects with following [operator parameter](./setup.md#settings): +configure adding `OwnerReferences` to converted objects with following [operator parameter](https://docs.victoriametrics.com/operator/setup#settings): ```sh VM_ENABLEDPROMETHEUSCONVERTEROWNERREFERENCES=true @@ -127,15 +124,15 @@ spec: Annotation `operator.victoriametrics.com/ignore-prometheus-updates` can be set on one of the resources: -- [VMServiceScrape](./resources/vmservicescrape.md) -- [VMPodScrape](./resources/vmpodscrape.md) -- [VMRule](./resources/vmrule.md) -- [VMProbe](./resources/vmprobe.md) -- [VMAlertmanagerConfig](./resources/vmalertmanagerconfig.md) -- [VMScrapeConfig](./resources/vmscrapeconfig.md) +- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape) +- [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape) +- [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule) +- [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe) +- [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig) +- [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig) -And annotation doesn't make sense for [VMStaticScrape](./resources/vmstaticscrape.md) -and [VMNodeScrape](./resources/vmnodescrape.md) because these objects are not created as a result of conversion. +And annotation doesn't make sense for [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape) +and [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) because these objects are not created as a result of conversion. ## Labels and annotations synchronization @@ -168,18 +165,18 @@ spec: Annotation `operator.victoriametrics.com/merge-meta-strategy` can be set on one of the resources: -- [VMServiceScrape](./resources/vmservicescrape.md) -- [VMPodScrape](./resources/vmpodscrape.md) -- [VMRule](./resources/vmrule.md) -- [VMProbe](./resources/vmprobe.md) -- [VMAlertmanagerConfig](./resources/vmalertmanagerconfig.md) -- [VMScrapeConfig](./resources/vmscrapeconfig.md) +- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape) +- [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape) +- [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule) +- [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe) +- [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig) +- [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig) -And annotation doesn't make sense for [VMStaticScrape](./resources/vmstaticscrape.md) -and [VMNodeScrape](./resources/vmnodescrape.md) because these objects are not created as a result of conversion. +And annotation doesn't make sense for [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape) +and [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) because these objects are not created as a result of conversion. You can filter labels for syncing -with [operator parameter](./setup.md#settings) `VM_FILTERPROMETHEUSCONVERTERLABELPREFIXES`: +with [operator parameter](https://docs.victoriametrics.com/operator/setup#settings) `VM_FILTERPROMETHEUSCONVERTERLABELPREFIXES`: ```sh # it excludes all labels that start with "helm.sh" or "argoproj.io" from synchronization @@ -187,7 +184,7 @@ VM_FILTERPROMETHEUSCONVERTERLABELPREFIXES=helm.sh,argoproj.io ``` In the same way, annotations with specified prefixes can be excluded from synchronization -with [operator parameter](./setup.md#settings) `VM_FILTERPROMETHEUSCONVERTERANNOTATIONPREFIXES`: +with [operator parameter](https://docs.victoriametrics.com/operator/setup#settings) `VM_FILTERPROMETHEUSCONVERTERANNOTATIONPREFIXES`: ```sh # it excludes all annotations that start with "helm.sh" or "argoproj.io" from synchronization @@ -197,7 +194,7 @@ VM_FILTERPROMETHEUSCONVERTERANNOTATIONPREFIXES=helm.sh,argoproj.io ## Using converter with ArgoCD If you use ArgoCD, you can allow ignoring objects at ArgoCD converted from Prometheus CRD -with [operator parameter](./setup.md#settings) `VM_PROMETHEUSCONVERTERADDARGOCDIGNOREANNOTATIONS`. +with [operator parameter](https://docs.victoriametrics.com/operator/setup#settings) `VM_PROMETHEUSCONVERTERADDARGOCDIGNOREANNOTATIONS`. It helps to properly use converter with ArgoCD and should help prevent out-of-sync issues with argo-cd based deployments: @@ -208,9 +205,9 @@ VM_PROMETHEUSCONVERTERADDARGOCDIGNOREANNOTATIONS=true ## Data migration -You can use [vmctl](https://docs.victoriametrics.com/vmctl.html) for migrating your data from Prometheus to VictoriaMetrics. +You can use [vmctl](https://docs.victoriametrics.com/vmctl) for migrating your data from Prometheus to VictoriaMetrics. -See [this doc](https://docs.victoriametrics.com/vmctl.html#migrating-data-from-prometheus) for more details. +See [this doc](https://docs.victoriametrics.com/vmctl#migrating-data-from-prometheus) for more details. ## Auto-discovery for prometheus.io annotations @@ -273,6 +270,6 @@ spec: You can find yaml-file with this example [here](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmservicescrape_service_sd.yaml). Check out more information about: -- [VMAgent](./resources/vmagent.md) -- [VMServiceScrape](./resources/vmservicescrape.md) -- [Relabeling](https://docs.victoriametrics.com/vmagent/#relabeling) +- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) +- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape) +- [Relabeling](https://docs.victoriametrics.com/vmagent#relabeling) diff --git a/docs/operator/migration_prometheus-conversion.webp b/docs/operator/migration_prometheus-conversion.webp new file mode 100644 index 000000000..5bc92ba44 Binary files /dev/null and b/docs/operator/migration_prometheus-conversion.webp differ diff --git a/docs/operator/monitoring.md b/docs/operator/monitoring.md index 24e57b69b..0da0d6def 100644 --- a/docs/operator/monitoring.md +++ b/docs/operator/monitoring.md @@ -1,5 +1,4 @@ --- -sort: 6 weight: 6 title: Monitoring menu: @@ -7,20 +6,18 @@ menu: parent: "operator" weight: 6 aliases: - - /operator/monitoring.html + - /operator/monitoring + - /operator/monitoring/index.html --- - -# Monitoring of VictoriaMetrics Operator - VictoriaMetrics operator exports internal metrics in Prometheus exposition format at `/metrics` page. -These metrics can be scraped via [vmagent](./resources/vmagent.md) or Prometheus. +These metrics can be scraped via [vmagent](https://docs.victoriametrics.com/operator/resources/vmagent) or Prometheus. ## Dashboard Official Grafana dashboard available for [vmoperator](https://grafana.com/grafana/dashboards/17869-victoriametrics-operator/). - +![operator dashboard monitoring](monitoring_operator-dashboard.webp) Graphs on the dashboards contain useful hints - hover the `i` icon in the top left corner of each graph to read it. @@ -50,7 +47,7 @@ serviceMonitor: This parameter makes helm-chart to create a scrape-object for installed operator instance. -You will also need to deploy a (vmsingle)[./resources/vmsingle.md] where the metrics will be collected. +You will also need to deploy a (vmsingle)[https://docs.victoriametrics.com/operator/resources/vmsingle] where the metrics will be collected. ### Pure operator installation @@ -74,7 +71,7 @@ spec: - monitoring ``` -See more info about object [VMServiceScrape](./resources/vmservicescrape.md). +See more info about object [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape). -You will also need a [vmsingle](https://docs.victoriametrics.com/operator/resources/vmsingle.html) where the metrics will be collected. +You will also need a [vmsingle](https://docs.victoriametrics.com/operator/resources/vmsingle) where the metrics will be collected. diff --git a/docs/operator/monitoring_operator-dashboard.webp b/docs/operator/monitoring_operator-dashboard.webp new file mode 100644 index 000000000..42088fce6 Binary files /dev/null and b/docs/operator/monitoring_operator-dashboard.webp differ diff --git a/docs/operator/quick-start.md b/docs/operator/quick-start.md index 5472ad2e1..493b33606 100644 --- a/docs/operator/quick-start.md +++ b/docs/operator/quick-start.md @@ -1,5 +1,4 @@ --- -sort: 1 weight: 1 title: QuickStart menu: @@ -7,11 +6,9 @@ menu: parent: "operator" weight: 1 aliases: -- /operator/quick-start.html + - /operator/quick-start/ + - /operator/quick-start/index.html --- - -# VictoriaMetrics Operator QuickStart - VictoriaMetrics Operator serves to make running VictoriaMetrics applications on top of Kubernetes as easy as possible while preserving Kubernetes-native configuration options. @@ -20,16 +17,16 @@ to use Helm-chart [victoria-metrics-k8s-stack](https://victoriametrics.github.io Also you can follow the other steps in documentation to use VictoriaMetrics Operator: -- [Setup](./setup.md) -- [Security](./security.md) -- [Configuration](./configuration.md) -- [Migration from Prometheus](./migration.md) -- [Monitoring](./monitoring.md) -- [Authorization and exposing components](./auth.md) -- [High Availability](./high-availability.md) -- [Enterprise](./enterprise.md) -- [Custom resources](./resources/README.md) -- [FAQ (Frequency Asked Questions)](./FAQ.md) +- [Setup](https://docs.victoriametrics.com/operator/setup) +- [Security](https://docs.victoriametrics.com/operator/security) +- [Configuration](https://docs.victoriametrics.com/operator/configuration) +- [Migration from Prometheus](https://docs.victoriametrics.com/operator/migration) +- [Monitoring](https://docs.victoriametrics.com/operator/monitoring) +- [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth) +- [High Availability](https://docs.victoriametrics.com/operator/high-availability) +- [Enterprise](https://docs.victoriametrics.com/operator/enterprise) +- [Custom resources](https://docs.victoriametrics.com/operator/resources/) +- [FAQ (Frequency Asked Questions)](https://docs.victoriametrics.com/operator/faq) But if you want to deploy VictoriaMetrics Operator quickly from scratch (without using templating for custom resources), you can follow this guide: @@ -47,7 +44,7 @@ you can follow this guide: - [VMAlertmanager](#vmalertmanager) - [VMAlert](#vmalert) - [VMRule](#vmrule) - - [VMUser](#vmuser-update) + - [VMUser](#vmuser) - [Anythings else?](#anythings-else) Let's start! @@ -55,7 +52,7 @@ Let's start! ## Setup operator You can find out how to and instructions for installing the VictoriaMetrics operator into your kubernetes cluster -on the [Setup page](./setup.md). +on the [Setup page](https://docs.victoriametrics.com/operator/setup). Here we will elaborate on just one of the ways - for instance, we will install operator via Helm-chart [victoria-metrics-operator](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-operator/README.md): @@ -79,13 +76,14 @@ Now you can configure operator - open rendered `values.yaml` file in your text e code values.yaml ``` - +![Values](quick-start_values.webp) +{width="1200"} Now you can change configuration in `values.yaml`. For more details about configuration options and methods, -see [configuration -> victoria-metrics-operator](./configuration.md#victoria-metrics-operator). +see [configuration -> victoria-metrics-operator](https://docs.victoriametrics.com/operator/configuration#victoria-metrics-operator). If you migrated from prometheus-operator, you can read about prometheus-operator objects conversion on -the [migration from prometheus-operator](./migration.md). +the [migration from prometheus-operator](https://docs.victoriametrics.com/operator/migration). Since we're looking at installing from scratch, let's disable prometheus-operator objects conversion, and also let's set some resources for operator in `values.yaml`: @@ -139,7 +137,7 @@ helm install vmoperator vm/victoria-metrics-operator -f values.yaml -n vm # kubectl --namespace vm get pods -l "app.kubernetes.io/instance=vmoperator" # # Get more information on https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator. -# See "Getting started guide for VM Operator" on https://docs.victoriametrics.com/guides/getting-started-with-vm-operator.html . +# See "Getting started guide for VM Operator" on https://docs.victoriametrics.com/guides/getting-started-with-vm-operator/. ``` And check that operator is running: @@ -155,22 +153,23 @@ kubectl get pods -n vm -l "app.kubernetes.io/instance=vmoperator" Now you can create instances of VictoriaMetrics applications. Let's create fullstack monitoring cluster with -[`vmagent`](./resources/vmagent.md), -[`vmauth`](./resources/vmauth.md), -[`vmalert`](./resources/vmalert.md), -[`vmalertmanager`](./resources/vmalertmanager.md), -[`vmcluster`](./resources/vmcluster.md) +[`vmagent`](https://docs.victoriametrics.com/operator/resources/vmagent), +[`vmauth`](https://docs.victoriametrics.com/operator/resources/vmauth), +[`vmalert`](https://docs.victoriametrics.com/operator/resources/vmalert), +[`vmalertmanager`](https://docs.victoriametrics.com/operator/resources/vmalertmanager), +[`vmcluster`](https://docs.victoriametrics.com/operator/resources/vmcluster) (a component for deploying a cluster version of -[VictoriaMetrics](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#architecture-overview) +[VictoriaMetrics](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#architecture-overview) consisting of `vmstorage`, `vmselect` and `vminsert`): - +![Cluster Scheme](quick-start_cluster-scheme.webp) +{width="1200"} -More details about resources of VictoriaMetrics operator you can find on the [resources page](./resources/README.md). +More details about resources of VictoriaMetrics operator you can find on the [resources page](https://docs.victoriametrics.com/operator/resources/). ### VMCluster (vmselect, vminsert, vmstorage) -Let's start by deploying the [`vmcluster`](./resources/vmcluster.md) resource. +Let's start by deploying the [`vmcluster`](https://docs.victoriametrics.com/operator/resources/vmcluster) resource. Create file `vmcluster.yaml` @@ -267,13 +266,13 @@ kubectl get svc -n vm -l "app.kubernetes.io/instance=demo" We'll need them in the next steps. More information about `vmcluster` resource you can find on -the [vmcluster page](./resources/vmcluster.md). +the [vmcluster page](https://docs.victoriametrics.com/operator/resources/vmcluster). ### Scraping #### VMAgent -Now let's deploy [`vmagent`](./resources/vmagent.md) resource. +Now let's deploy [`vmagent`](https://docs.victoriametrics.com/operator/resources/vmagent) resource. Create file `vmagent.yaml` @@ -312,17 +311,17 @@ kubectl get pods -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.i ``` More information about `vmagent` resource you can find on -the [vmagent page](./resources/vmagent.md). +the [vmagent page](https://docs.victoriametrics.com/operator/resources/vmagent). #### VMServiceScrape Now we have the timeseries database (vmcluster) and the tool to collect metrics (vmagent) and send it to the database. -But we need to tell vmagent what metrics to collect. For this we will use [`vmservicescrape`](./resources/vmservicescrape.md) resource -or [other `*scrape` resources](./resources/README.md). +But we need to tell vmagent what metrics to collect. For this we will use [`vmservicescrape`](https://docs.victoriametrics.com/operator/resources/vmservicescrape) resource +or [other `*scrape` resources](https://docs.victoriametrics.com/operator/resources/). By default, operator creates `vmservicescrape` resource for each component that it manages. More details about this you can find on -the [monitoring page](./configuration.md#monitoring-of-cluster-components). +the [monitoring page](https://docs.victoriametrics.com/operator/configuration#monitoring-of-cluster-components). For instance, we can create `vmservicescrape` for VictoriaMetrics operator manually. Let's create file `vmservicescrape.yaml`: @@ -363,7 +362,7 @@ We need to look at the results of what we got. Up until now, we've just been loo #### VMAuth -Let's expose our components with [`vmauth`](./resources/vmauth.md). +Let's expose our components with [`vmauth`](https://docs.victoriametrics.com/operator/resources/vmauth). Create file `vmauth.yaml` @@ -394,7 +393,7 @@ Also, for simplicity, we don't use tls, but in real environments not having tls #### VMUser To get authorized access to our data it is necessary to create a user using -the [vmuser](./resources/vmuser.md) resource. +the [vmuser](https://docs.victoriametrics.com/operator/resources/vmuser) resource. Create file `vmuser.yaml` @@ -461,9 +460,9 @@ kubectl get secret -n vm vmuser-demo -o jsonpath="{.data.password}" | base64 --d Now you can get access to your data with url `http://vm-demo.k8s.orb.local/vmui`, username `demo` and your given password (`Yt3N2r3cPl` in our case): - +![Select 1](quick-start_select-1.webp) - +![Select 2](quick-start_select-2.webp) ### Alerting @@ -471,7 +470,7 @@ The remaining components will be needed for alerting. #### VMAlertmanager -Let's start with [`vmalertmanager`](./resources/vmalertmanager.md). +Let's start with [`vmalertmanager`](https://docs.victoriametrics.com/operator/resources/vmalertmanager). Create file `vmalertmanager.yaml` @@ -525,7 +524,7 @@ kubectl get pods -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.i #### VMAlert -And now you can create [`vmalert`](./resources/vmalert.md) resource. +And now you can create [`vmalert`](https://docs.victoriametrics.com/operator/resources/vmalert) resource. Create file `vmalert.yaml` @@ -575,8 +574,8 @@ kubectl get pods -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.i #### VMRule -Now you can create [vmrule](./resources/vmrule.md) resource -for [vmalert](./resources/vmalert.md). +Now you can create [vmrule](https://docs.victoriametrics.com/operator/resources/vmrule) resource +for [vmalert](https://docs.victoriametrics.com/operator/resources/vmalert). Create file `vmrule.yaml` @@ -671,32 +670,32 @@ kubectl apply -f vmuser.yaml -n vm And now you can get access to your data with url `http://vm-demo.k8s.orb.local/vmalert` (for your environment it most likely will be different) with username `demo`: - +![Alert 1](quick-start_alert-1.webp) - +![Alert 2](quick-start_alert-2.webp) ## Anything else That's it. We obtained a monitoring cluster corresponding to the target topology: - +![Cluster Scheme](quick-start_cluster-scheme.webp) You have a full-stack monitoring cluster with VictoriaMetrics Operator. -You can find information about these and other resources of operator on the [Custom resources page](./resources/README.md). +You can find information about these and other resources of operator on the [Custom resources page](https://docs.victoriametrics.com/operator/resources/). In addition, check out other sections of the documentation for VictoriaMetrics Operator: -- [Setup](./setup.md) -- [Security](./security.md) -- [Configuration](./configuration.md) -- [Migration from Prometheus](./migration.md) -- [Monitoring](./monitoring.md) -- [Authorization and exposing components](./auth.md) -- [High Availability](./high-availability.md) -- [Enterprise](./enterprise.md) +- [Setup](https://docs.victoriametrics.com/operator/setup) +- [Security](https://docs.victoriametrics.com/operator/security) +- [Configuration](https://docs.victoriametrics.com/operator/configuration) +- [Migration from Prometheus](https://docs.victoriametrics.com/operator/migration) +- [Monitoring](https://docs.victoriametrics.com/operator/monitoring) +- [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth) +- [High Availability](https://docs.victoriametrics.com/operator/high-availability) +- [Enterprise](https://docs.victoriametrics.com/operator/enterprise) -If you have any questions, check out our [FAQ](./FAQ.md) +If you have any questions, check out our [FAQ](https://docs.victoriametrics.com/operator/faq) and feel free to can ask them: - [VictoriaMetrics Slack](https://victoriametrics.slack.com/) - [VictoriaMetrics Telegram](https://t.me/VictoriaMetrics_en) diff --git a/docs/operator/quick-start_alert-1.webp b/docs/operator/quick-start_alert-1.webp new file mode 100644 index 000000000..d3fb00a23 Binary files /dev/null and b/docs/operator/quick-start_alert-1.webp differ diff --git a/docs/operator/quick-start_alert-2.webp b/docs/operator/quick-start_alert-2.webp new file mode 100644 index 000000000..0f8669598 Binary files /dev/null and b/docs/operator/quick-start_alert-2.webp differ diff --git a/docs/operator/quick-start_cluster-scheme.webp b/docs/operator/quick-start_cluster-scheme.webp new file mode 100644 index 000000000..95c06a6fd Binary files /dev/null and b/docs/operator/quick-start_cluster-scheme.webp differ diff --git a/docs/operator/quick-start_select-1.webp b/docs/operator/quick-start_select-1.webp new file mode 100644 index 000000000..1030941a9 Binary files /dev/null and b/docs/operator/quick-start_select-1.webp differ diff --git a/docs/operator/quick-start_select-2.webp b/docs/operator/quick-start_select-2.webp new file mode 100644 index 000000000..f259483aa Binary files /dev/null and b/docs/operator/quick-start_select-2.webp differ diff --git a/docs/operator/quick-start_values.webp b/docs/operator/quick-start_values.webp new file mode 100644 index 000000000..029ae444c Binary files /dev/null and b/docs/operator/quick-start_values.webp differ diff --git a/docs/operator/resources/README.md b/docs/operator/resources/README.md index a6657ed17..e5044a49a 100644 --- a/docs/operator/resources/README.md +++ b/docs/operator/resources/README.md @@ -1,31 +1,29 @@ This documentation section describes the design and interaction between the custom resource definitions (CRD) that the Victoria Metrics Operator introduces. - -[Operator](../README.md) introduces the following custom resources: - -- [VMAgent](./vmagent.md) -- [VMAlert](./vmalert.md) -- [VMAlertManager](./vmalertmanager.md) -- [VMAlertManagerConfig](./vmalertmanagerconfig.md) -- [VMAuth](./vmauth.md) -- [VMCluster](./vmcluster.md) -- [VMNodeScrape](./vmnodescrape.md) -- [VMPodScrape](./vmpodscrape.md) -- [VMProbe](./vmprobe.md) -- [VMRule](./vmrule.md) -- [VMServiceScrape](./vmservicescrape.md) -- [VMStaticScrape](./vmstaticscrape.md) -- [VMSingle](./vmsingle.md) -- [VMUser](./vmuser.md) -- [VMScrapeConfig](./vmscrapeconfig.md) +[Operator](https://docs.victoriametrics.com/operator) introduces the following custom resources: +- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) +- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert) +- [VMAlertManager](https://docs.victoriametrics.com/operator/resources/vmalertmanager) +- [VMAlertManagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig) +- [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth) +- [VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster) +- [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) +- [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape) +- [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe) +- [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule) +- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape) +- [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape) +- [VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle) +- [VMUser](https://docs.victoriametrics.com/operator/resources/vmuser) +- [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig) Here is the scheme of relations between the custom resources: - +![CR](README_cr-relations.webp) ## Specification -You can find the specification for the custom resources on **[API Docs](../api.md)**. +You can find the specification for the custom resources on **[API Docs](https://docs.victoriametrics.com/operator/api)**. ### Extra arguments @@ -34,22 +32,22 @@ you can use `extraArgs` field for passing additional arguments to the applicatio Field `extraArgs` is supported for the following custom resources: -- [VMAgent spec](../api.md#vmagentspec) -- [VMAlert spec](../api.md#vmalertspec) -- [VMAlertManager spec](../api.md#vmalertmanagerspec) -- [VMAuth spec](../api.md#vmauthspec) -- [VMCluster/vmselect spec](../api.md#vmselect) -- [VMCluster/vminsert spec](../api.md#vminsert) -- [VMCluster/vmstorage spec](../api.md#vmstorage) -- [VMSingle spec](../api.md#vmsinglespec) +- [VMAgent spec](https://docs.victoriametrics.com/operator/api#vmagentspec) +- [VMAlert spec](https://docs.victoriametrics.com/operator/api#vmalertspec) +- [VMAlertManager spec](https://docs.victoriametrics.com/operator/api#vmalertmanagerspec) +- [VMAuth spec](https://docs.victoriametrics.com/operator/api#vmauthspec) +- [VMCluster/vmselect spec](https://docs.victoriametrics.com/operator/api#vmselect) +- [VMCluster/vminsert spec](https://docs.victoriametrics.com/operator/api#vminsert) +- [VMCluster/vmstorage spec](https://docs.victoriametrics.com/operator/api#vmstorage) +- [VMSingle spec](https://docs.victoriametrics.com/operator/api#vmsinglespec) Supported flags for each application can be found the in the corresponding documentation: -- [VMAgent flags](https://docs.victoriametrics.com/vmagent.html#advanced-usage) -- [VMAlert](https://docs.victoriametrics.com/vmalert.html#configuration) -- [VMAuth](https://docs.victoriametrics.com/vmauth.html#advanced-usage) -- [VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#list-of-command-line-flags) -- [VMSingle](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#list-of-command-line-flags) +- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#advanced-usage) +- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#configuration) +- [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#advanced-usage) +- [VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#list-of-command-line-flags) +- [VMSingle](https://docs.victoriametrics.com#list-of-command-line-flags) Usage example: @@ -87,27 +85,27 @@ spec: ``` This feature really useful for using with -[`-envflag.enable` command-line argument](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#environment-variables). +[`-envflag.enable` command-line argument](https://docs.victoriametrics.com/#environment-variables). ## Examples Page for every custom resource contains examples section: -- [VMAgent examples](./vmagent.md#examples) -- [VMAlert examples](./vmalert.md#examples) -- [VMAlertmanager examples](./vmalertmanager.md#examples) -- [VMAlertmanagerConfig examples](./vmalertmanagerconfig.md#examples) -- [VMAuth examples](./vmauth.md#examples) -- [VMCluster examples](./vmcluster.md#examples) -- [VMNodeScrape examples](./vmnodescrape.md#examples) -- [VMPodScrape examples](./vmpodscrape.md#examples) -- [VMProbe examples](./vmprobe.md#examples) -- [VMRule examples](./vmrule.md#examples) -- [VMServiceScrape examples](./vmservicescrape.md#examples) -- [VMStaticScrape examples](./vmstaticscrape.md#examples) -- [VMSingle examples](./vmsingle.md#examples) -- [VMUser examples](./vmuser.md#examples) -- [VMScrapeConfig examples](./vmscrapeconfig.md#examples) +- [VMAgent examples](https://docs.victoriametrics.com/operator/resources/vmagent#examples) +- [VMAlert examples](https://docs.victoriametrics.com/operator/resources/vmalert#examples) +- [VMAlertmanager examples](https://docs.victoriametrics.com/operator/resources/vmalertmanager#examples) +- [VMAlertmanagerConfig examples](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig#examples) +- [VMAuth examples](https://docs.victoriametrics.com/operator/resources/vmauth#examples) +- [VMCluster examples](https://docs.victoriametrics.com/operator/resources/vmcluster#examples) +- [VMNodeScrape examples](https://docs.victoriametrics.com/operator/resources/vmnodescrape#examples) +- [VMPodScrape examples](https://docs.victoriametrics.com/operator/resources/vmpodscrape#examples) +- [VMProbe examples](https://docs.victoriametrics.com/operator/resources/vmprobe#examples) +- [VMRule examples](https://docs.victoriametrics.com/operator/resources/vmrule#examples) +- [VMServiceScrape examples](https://docs.victoriametrics.com/operator/resources/vmservicescrape#examples) +- [VMStaticScrape examples](https://docs.victoriametrics.com/operator/resources/vmstaticscrape#examples) +- [VMSingle examples](https://docs.victoriametrics.com/operator/resources/vmsingle#examples) +- [VMUser examples](https://docs.victoriametrics.com/operator/resources/vmuser#examples) +- [VMScrapeConfig examples](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig#examples) In addition, you can find examples of the custom resources for VIctoriMetrics operator in the **[examples directory](https://github.com/VictoriaMetrics/operator/tree/master/config/examples) of operator repository**. @@ -116,33 +114,33 @@ the **[examples directory](https://github.com/VictoriaMetrics/operator/tree/mast Every custom resource with deployable application has a fields for specifying version (docker image) of component: -- [Managing versions for VMAgent](./vmagent.md#version-management) -- [Managing versions for VMAlert](./vmalert.md#version-management) -- [Managing versions for VMAlertmanager](./vmalertmanager.md#version-management) -- [Managing versions for VMAuth](./vmauth.md#version-management) -- [Managing versions for VMCluster](./vmcluster.md#version-management) -- [Managing versions for VMSingle](./vmsingle.md#version-management) +- [Managing versions for VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#version-management) +- [Managing versions for VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#version-management) +- [Managing versions for VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#version-management) +- [Managing versions for VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#version-management) +- [Managing versions for VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#version-management) +- [Managing versions for VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle#version-management) ## Managing resources Every custom resource with deployable application has a fields and operator parameters for specifying resources for the component: -- [Managing versions for VMAgent](./vmagent.md#resource-management) -- [Managing versions for VMAlert](./vmalert.md#resource-management) -- [Managing versions for VMAlertmanager](./vmalertmanager.md#resource-management) -- [Managing versions for VMAuth](./vmauth.md#resource-management) -- [Managing versions for VMCluster](./vmcluster.md#resource-management) -- [Managing versions for VMSingle](./vmsingle.md#resource-management) +- [Managing resources for VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#resource-management) +- [Managing resources for VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#resource-management) +- [Managing resources for VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#resource-management) +- [Managing resources for VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#resource-management) +- [Managing resources for VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#resource-management) +- [Managing resources for VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle#resource-management) ## High availability VictoriaMetrics operator support high availability for each component of the monitoring stack: -- [VMAgent](./vmagent.md#high-availability) -- [VMAlert](./vmalert.md#high-availability) -- [VMAlertmanager](./vmalertmanager.md#high-availability) -- [VMAuth](./vmauth.md#high-availability) -- [VMCluster](./vmcluster.md#high-availability) +- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#high-availability) +- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#high-availability) +- [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#high-availability) +- [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#high-availability) +- [VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#high-availability) In addition, these CRD support common features, that can be used to increase high availability - resources above have the following fields: @@ -155,33 +153,33 @@ See details about these fields in the [Specification](#specification). ## Enterprise features -Operator supports following [Enterprise features for VictoriaMetrics components](https://docs.victoriametrics.com/enterprise.html): +Operator supports following [Enterprise features for VictoriaMetrics components](https://docs.victoriametrics.com/enterprise): -- [VMAgent Enterprise features](./vmagent.md#enterprise-features): - - [Reading metrics from kafka](./vmagent.md#reading-metrics-from-kafka) - - [Writing metrics to kafka](./vmagent.md#writing-metrics-to-kafka) -- [VMAlert Enterprise features](./vmalert.md#enterprise-features): - - [Reading rules from object storage](./vmalert.md#reading-rules-from-object-storage) - - [Multitenancy](./vmalert.md#multitenancy) -- [VMAuth Enterprise features](./vmauth.md#enterprise-features) - - [IP Filters](./vmauth.md#ip-filters) -- [VMCluster Enterprise features](./vmcluster.md#enterprise-features) - - [Downsampling](./vmcluster.md#downsampling) - - [Multiple retentions / Retention filters](./vmcluster.md#retention-filters) - - [Advanced per-tenant statistic](./vmcluster.md#advanced-per-tenant-statistic) - - [mTLS protection](./vmcluster.md#mtls-protection) - - [Backup atomation](./vmcluster.md#backup-atomation) -- [VMRule Enterprise features](./vmrule.md#enterprise-features) - - [Multitenancy](./vmrule.md#multitenancy) -- [VMSingle Enterprise features](./vmsingle.md#enterprise-features) - - [Downsampling](./vmsingle.md#downsampling) - - [Retention filters](./vmsingle.md#retention-filters) - - [Backup atomation](./vmsingle.md#backup-atomation) -- [VMUser Enterprise features](./vmuser.md#enterprise-features) - - [IP Filters](./vmuser.md#ip-filters) +- [VMAgent Enterprise features](https://docs.victoriametrics.com/operator/resources/vmagent#enterprise-features): + - [Reading metrics from kafka](https://docs.victoriametrics.com/operator/resources/vmagent#reading-metrics-from-kafka) + - [Writing metrics to kafka](https://docs.victoriametrics.com/operator/resources/vmagent#writing-metrics-to-kafka) +- [VMAlert Enterprise features](https://docs.victoriametrics.com/operator/resources/vmalert#enterprise-features): + - [Reading rules from object storage](https://docs.victoriametrics.com/operator/resources/vmalert#reading-rules-from-object-storage) + - [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmalert#multitenancy) +- [VMAuth Enterprise features](https://docs.victoriametrics.com/operator/resources/vmauth#enterprise-features) + - [IP Filters](https://docs.victoriametrics.com/operator/resources/vmauth#ip-filters) +- [VMCluster Enterprise features](https://docs.victoriametrics.com/operator/resources/vmcluster#enterprise-features) + - [Downsampling](https://docs.victoriametrics.com/operator/resources/vmcluster#downsampling) + - [Multiple retentions / Retention filters](https://docs.victoriametrics.com/operator/resources/vmcluster#retention-filters) + - [Advanced per-tenant statistic](https://docs.victoriametrics.com/operator/resources/vmcluster#advanced-per-tenant-statistic) + - [mTLS protection](https://docs.victoriametrics.com/operator/resources/vmcluster#mtls-protection) + - [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster#backup-automation) +- [VMRule Enterprise features](https://docs.victoriametrics.com/operator/resources/vmrule#enterprise-features) + - [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmrule#multitenancy) +- [VMSingle Enterprise features](https://docs.victoriametrics.com/operator/resources/vmsingle#enterprise-features) + - [Downsampling](https://docs.victoriametrics.com/operator/resources/vmsingle#downsampling) + - [Retention filters](https://docs.victoriametrics.com/operator/resources/vmsingle#retention-filters) + - [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle#backup-automation) +- [VMUser Enterprise features](https://docs.victoriametrics.com/operator/resources/vmuser#enterprise-features) + - [IP Filters](https://docs.victoriametrics.com/operator/resources/vmuser#ip-filters) More information about enterprise features you can read -on [VictoriaMetrics Enterprise page](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). +on [VictoriaMetrics Enterprise page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). ## Configuration synchronization @@ -198,7 +196,7 @@ It's not efficient to sync its content immediately, and `kubelet` eventually syn That's why, applications managed by operator don't receive changes immediately. It usually takes 1-2 min, before content will be updated. -It may trigger errors when an application was deleted, but [`VMAgent`](./vmagent.md) still tries to scrape it. +It may trigger errors when an application was deleted, but [`VMAgent`](https://docs.victoriametrics.com/operator/resources/vmagent) still tries to scrape it. ### Possible mitigations @@ -216,7 +214,7 @@ For `Secret` it doesn't work. And operator offers its implementation for side-ca value: "true" ``` -If it's defined, operator uses own [config-reloader](https://github.com/VictoriaMetrics/operator/tree/master/internal/config-reloader) +If it's defined, operator uses own [config-reloader](https://github.com/VictoriaMetrics/operator/tree/master/cmd/config-reloader) instead of [prometheus-config-reload](https://github.com/prometheus-operator/prometheus-operator/tree/main/cmd/prometheus-config-reloader). It watches corresponding `Secret` for changes with Kubernetes API watch call and writes content into emptyDir. diff --git a/docs/operator/resources/README_cr-relations.webp b/docs/operator/resources/README_cr-relations.webp new file mode 100644 index 000000000..ece682d6e Binary files /dev/null and b/docs/operator/resources/README_cr-relations.webp differ diff --git a/docs/operator/resources/_index.md b/docs/operator/resources/_index.md index 1e48b7b75..188f358d6 100644 --- a/docs/operator/resources/_index.md +++ b/docs/operator/resources/_index.md @@ -1,11 +1,13 @@ --- -sort: 14 weight: 14 title: Custom resources menu: docs: - identifier: operator-custom-resources - parent: "operator" + identifier: operator-cr + parent: operator weight: 14 +aliases: +- /operator/resources/ +- /operator/resources/index.html --- {{% content "README.md" %}} diff --git a/docs/operator/resources/vmagent.md b/docs/operator/resources/vmagent.md index 6c4275e13..9e4bc7588 100644 --- a/docs/operator/resources/vmagent.md +++ b/docs/operator/resources/vmagent.md @@ -1,17 +1,15 @@ --- -sort: 1 weight: 1 title: VMAgent menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmagent + parent: operator-cr weight: 1 aliases: - - /operator/resources/vmagent.html + - /operator/resources/vmagent/ + - /operator/resources/vmagent/index.html --- - -# VMAgent - `VMAgent` represents agent, which helps you collect metrics from various sources and stores them in VictoriaMetrics. The `VMAgent` CRD declaratively defines a desired [VMAgent](https://docs.victoriametrics.com/vmagent) setup to run in a Kubernetes cluster. @@ -37,10 +35,10 @@ so user can set custom configuration while still benefiting from the Operator's ## Specification -You can see the full actual specification of the `VMAgent` resource in the **[API docs -> VMAgent](../api.md#vmagent)**. +You can see the full actual specification of the `VMAgent` resource in the **[API docs -> VMAgent](https://docs.victoriametrics.com/operator/api#vmagent)**. If you can't find necessary field in the specification of the custom resource, -see [Extra arguments section](./README.md#extra-arguments). +see [Extra arguments section](https://docs.victoriametrics.com/operator/resources/vmagent#extra-arguments). Also, you can check out the [examples](#examples) section. @@ -48,25 +46,25 @@ Also, you can check out the [examples](#examples) section. `VMAgent` supports scraping targets with: -- [VMServiceScrape](./vmservicescrape.md), -- [VMPodScrape](./vmpodscrape.md), -- [VMNodeScrape](./vmnodescrape.md), -- [VMStaticScrape](./vmstaticscrape.md), -- [VMProbe](./vmprobe.md). -- [VMScrapeConfig](./vmscrapeconfig.md) +- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape), +- [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape), +- [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape), +- [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape), +- [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe). +- [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig) These objects tell VMAgent from which targets and how to collect metrics and -generate part of [VMAgent](./vmagent.md) scrape configuration. +generate part of [VMAgent](https://docs.victoriametrics.com/vmagent) scrape configuration. For filtering scrape objects `VMAgent` uses selectors. Selectors are defined with suffixes - `NamespaceSelector` and `Selector` for each type of scrape objects in spec of `VMAgent`: -- `serviceScrapeNamespaceSelector` and `serviceScrapeSelector` for selecting [VMServiceScrape](./vmservicescrape.md) objects, -- `podScrapeNamespaceSelector` and `podScrapeSelector` for selecting [VMPodScrape](./vmpodscrape.md) objects, -- `probeNamespaceSelector` and `probeSelector` for selecting [VMProbe](./vmprobe.md) objects, -- `staticScrapeNamespaceSelector` and `staticScrapeSelector` for selecting [VMStaticScrape](./vmstaticscrape.md) objects, -- `nodeScrapeNamespaceSelector` and `nodeScrapeSelector` for selecting [VMNodeScrape](./vmnodescrape.md) objects. -- `scrapeConfigNamespaceSelector` and `scrapeConfigSelector` for selecting [VMScrapeConfig](./vmscrapeconfig.md) objects. +- `serviceScrapeNamespaceSelector` and `serviceScrapeSelector` for selecting [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape) objects, +- `podScrapeNamespaceSelector` and `podScrapeSelector` for selecting [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape) objects, +- `probeNamespaceSelector` and `probeSelector` for selecting [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe) objects, +- `staticScrapeNamespaceSelector` and `staticScrapeSelector` for selecting [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape) objects, +- `nodeScrapeNamespaceSelector` and `nodeScrapeSelector` for selecting [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) objects. +- `scrapeConfigNamespaceSelector` and `scrapeConfigSelector` for selecting [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig) objects. It allows configuring objects access control across namespaces and different environments. Specification of selectors you can see in [this doc](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#labelselector-v1-meta). @@ -92,7 +90,7 @@ Here's a more visual and more detailed view: | *any* | undefined | *any* | **defined** | all objects of given type (`...`) only at `VMAgent`'s namespace | | *any* | **defined** | *any* | **defined** | all objects of given type (`...`) only at `VMAgent`'s namespace for given `...Selector` | -More details about `WATCH_NAMESPACE` variable you can read in [this doc](../configuration.md#namespaced-mode). +More details about `WATCH_NAMESPACE` variable you can read in [this doc](https://docs.victoriametrics.com/operator/configuration#namespaced-mode). Here are some examples of `VMAgent` configuration with selectors: @@ -142,10 +140,10 @@ spec: ### Replication and deduplication To run VMAgent in a highly available manner at first you have to configure deduplication in Victoria Metrics -according [this doc for VMSingle](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#deduplication) -or [this doc for VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#deduplication). +according [this doc for VMSingle](https://docs.victoriametrics.com/#deduplication) +or [this doc for VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#deduplication). -You can do it with `extraArgs` on [`VMSingle`](./vmsingle.md): +You can do it with `extraArgs` on [`VMSingle`](https://docs.victoriametrics.com/operator/resources/vmsingle): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -159,7 +157,7 @@ spec: # ... ``` -For [`VMCluster`](./vmcluster.md) you can do it with `vmstorage.extraArgs` and `vmselect.extraArgs`: +For [`VMCluster`](https://docs.victoriametrics.com/operator/resources/vmcluster) you can do it with `vmstorage.extraArgs` and `vmselect.extraArgs`: ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -178,7 +176,7 @@ spec: # ... ``` -Deduplication is automatically enabled with `replicationFactor > 1` on `VMCLuster`. +Deduplication is automatically enabled with `replicationFactor > 1` on `VMCluster`. After enabling deduplication you can increase replicas for VMAgent. @@ -205,7 +203,7 @@ Now, even if something happens to one of the vmagent, you'll still have the data ### StatefulMode -VMAgent supports [persistent buffering](https://docs.victoriametrics.com/vmagent.html#replication-and-high-availability) +VMAgent supports [persistent buffering](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/vmagent/#replication-and-high-availability) for sending data to remote storage. By default, operator set `-remoteWrite.tmpDataPath` for `VMAgent` to `/tmp` (that use k8s ephemeral storage) and `VMAgent` loses state of the PersistentQueue on pod restarts. @@ -241,7 +239,7 @@ spec: ### Sharding -Operator supports sharding with [cluster mode of vmagent](https://docs.victoriametrics.com/vmagent.html#scraping-big-number-of-targets) +Operator supports sharding with [cluster mode of vmagent](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/vmagent/#scraping-big-number-of-targets) for **scraping big number of targets**. Sharding for `VMAgent` distributes scraping between multiple deployments of `VMAgent`. @@ -309,7 +307,7 @@ There are two options for adding targets into `VMAgent`: - [defining it as a Kubernetes Secret](#define-additional-scrape-configuration-as-a-kubernetes-secret). No validation happens during the creation of configuration. However, you must validate job specs, and it must follow job spec configuration. -Please check [scrape_configs documentation](https://docs.victoriametrics.com/sd_configs.html#scrape_configs) as references. +Please check [scrape_configs documentation](https://docs.victoriametrics.com/sd_configs#scrape_configs) as references. ### Inline Additional Scrape Configuration in VMAgent CRD @@ -581,7 +579,7 @@ metadata: ### Additional information -`VMAgent` also has some extra options for relabeling actions, you can check it [docs](https://docs.victoriametrics.com/vmagent#relabeling). +`VMAgent` also has some extra options for relabeling actions, you can check it [docs](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/vmagent#relabeling). ## Version management @@ -639,7 +637,7 @@ spec: ``` If these parameters are not specified, then, -by default all `VMAgent` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): +by default all `VMAgent` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration): - `VM_VMAGENTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAgent` pods, - `VM_VMAGENTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAgent` pods, @@ -660,22 +658,22 @@ Also, you can specify requests without limits - in this case default values for ## Enterprise features -VMAgent supports feature [Kafka integration](https://docs.victoriametrics.com/vmagent.html#kafka-integration) -from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). +VMAgent supports feature [Kafka integration](https://docs.victoriametrics.com/vmagent#kafka-integration) +from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). -For using Enterprise version of [vmagent](https://docs.victoriametrics.com/vmagent.html) +For using Enterprise version of [vmagent](https://docs.victoriametrics.com/vmagent) you need to change version of `vmagent` to version with `-enterprise` suffix using [Version management](#version-management). All the enterprise apps require `-eula` command-line flag to be passed to them. -This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). -So you can use [extraArgs](./README.md#extra-arguments) for passing this flag to `VMAgent`: +This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). +So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMAgent`: -After that you can pass [Kafka integration](https://docs.victoriametrics.com/vmagent.html#kafka-integration) -flags to `VMAgent` with [extraArgs](./README.md#extra-arguments). +After that you can pass [Kafka integration](https://docs.victoriametrics.com/vmagent#kafka-integration) +flags to `VMAgent` with [extraArgs](./#extra-arguments). ### Reading metrics from Kafka -Here are complete example for [Reading metrics from Kafka](https://docs.victoriametrics.com/vmagent.html#reading-metrics-from-kafka): +Here are complete example for [Reading metrics from Kafka](https://docs.victoriametrics.com/vmagent#reading-metrics-from-kafka): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -694,8 +692,8 @@ spec: eula: true # using enterprise features: reading metrics from kafka - # more details about kafka integration you can read on https://docs.victoriametrics.com/vmagent.html#kafka-integration - # more details about these and other flags you can read on https://docs.victoriametrics.com/vmagent.html#command-line-flags-for-kafka-consumer + # more details about kafka integration you can read on https://docs.victoriametrics.com/vmagent#kafka-integration + # more details about these and other flags you can read on https://docs.victoriametrics.com/vmagent#command-line-flags-for-kafka-consumer kafka.consumer.topic.brokers: localhost:9092 kafka.consumer.topic.format: influx kafka.consumer.topic: metrics-by-telegraf @@ -706,7 +704,7 @@ spec: ### Writing metrics to Kafka -Here are complete example for [Writing metrics to Kafka](https://docs.victoriametrics.com/vmagent.html#writing-metrics-to-kafka): +Here are complete example for [Writing metrics to Kafka](https://docs.victoriametrics.com/vmagent#writing-metrics-to-kafka): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -725,7 +723,7 @@ spec: eula: true # using enterprise features: writing metrics to Kafka - # more details about kafka integration you can read on https://docs.victoriametrics.com/vmagent.html#kafka-integration + # more details about kafka integration you can read on https://docs.victoriametrics.com/vmagent/#kafka-integration remoteWrite: # sasl with username and password - url: kafka://broker-1:9092/?topic=prom-rw-1&security.protocol=SASL_SSL&sasl.mechanisms=PLAIN diff --git a/docs/operator/resources/vmalert.md b/docs/operator/resources/vmalert.md index 2aa7dde9d..e7691c673 100644 --- a/docs/operator/resources/vmalert.md +++ b/docs/operator/resources/vmalert.md @@ -1,17 +1,15 @@ --- -sort: 2 weight: 2 title: VMAlert menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmalert + parent: operator-cr weight: 2 aliases: - - /operator/resources/vmalert.html + - /operator/resources/vmalert/ + - /operator/resources/vmalert/index.html --- - -# VMAlert - `VMAlert` - executes a list of given [alerting](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) or [recording](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) rules against configured address. @@ -19,7 +17,7 @@ The `VMAlert` CRD declaratively defines a desired [VMAlert](https://github.com/V setup to run in a Kubernetes cluster. It has few required config options - `datasource` and `notifier` are required, for other config parameters -check [doc](../api.md#vmalert). +check [doc](https://docs.victoriametrics.com/operator/api#vmalert). For each `VMAlert` resource, the Operator deploys a properly configured `Deployment` in the same namespace. The VMAlert `Pod`s are configured to mount a list of `Configmaps` prefixed with `-number` containing @@ -30,10 +28,10 @@ name ``. ## Specification -You can see the full actual specification of the `VMAlert` resource in the **[API docs -> VMAlert](../api.md#vmalert)**. +You can see the full actual specification of the `VMAlert` resource in the **[API docs -> VMAlert](https://docs.victoriametrics.com/operator/api#vmalert)**. If you can't find necessary field in the specification of the custom resource, -see [Extra arguments section](./README.md#extra-arguments). +see [Extra arguments section](./#extra-arguments). Also, you can check out the [examples](#examples) section. @@ -51,7 +49,7 @@ spec: ruleNamespaceSelector: {} ``` -[VMRule](./vmrule.md) objects generate part of `VMAlert` configuration. +[VMRule](https://docs.victoriametrics.com/operator/resources/vmrule) objects generate part of `VMAlert` configuration. For filtering rules `VMAlert` uses selectors `ruleNamespaceSelector` and `ruleSelector`. It allows configuring rules access control across namespaces and different environments. @@ -78,7 +76,7 @@ Here's a more visual and more detailed view: | *any* | undefined | *any* | **defined** | all vmrules only at `VMAlert`'s namespace | | *any* | **defined** | *any* | **defined** | all vmrules only at `VMAlert`'s namespace for given `ruleSelector` are matching | -More details about `WATCH_NAMESPACE` variable you can read in [this doc](../configuration.md#namespaced-mode). +More details about `WATCH_NAMESPACE` variable you can read in [this doc](https://docs.victoriametrics.com/operator/configuration#namespaced-mode). Here are some examples of `VMAlert` configuration with selectors: @@ -108,9 +106,9 @@ spec: ## High availability -`VMAlert` can be launched with multiple replicas without an additional configuration as far [alertmanager](./vmalertmanager.md) is responsible for alert deduplication. +`VMAlert` can be launched with multiple replicas without an additional configuration as far [alertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager) is responsible for alert deduplication. -Note, if you want to use `VMAlert` with high-available [`VMAlertmanager`](./vmalertmanager.md), which has more than 1 replica. +Note, if you want to use `VMAlert` with high-available [`VMAlertmanager`](https://docs.victoriametrics.com/operator/resources/vmalertmanager), which has more than 1 replica. You have to specify all pod fqdns at `VMAlert.spec.notifiers.[url]`. Or you can use service discovery for notifier, examples: - alertmanager: @@ -219,7 +217,7 @@ spec: url: http://vmselect-demo.vm.svc:8481/select/0/prometheus ``` -More details about `remoteWrite` and `remoteRead` you can read in [vmalert docs](https://docs.victoriametrics.com/vmalert.html#alerts-state-on-restarts). +More details about `remoteWrite` and `remoteRead` you can read in [vmalert docs](https://docs.victoriametrics.com/vmalert/#alerts-state-on-restarts). ## Version management @@ -277,7 +275,7 @@ spec: ``` If these parameters are not specified, then, -by default all `VMAlert` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): +by default all `VMAlert` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration): - `VM_VMALERTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAlert` pods, - `VM_VMALERTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAlert` pods, @@ -298,25 +296,25 @@ Also, you can specify requests without limits - in this case default values for ## Enterprise features -VMAlert supports features [Reading rules from object storage](https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage) -and [Multitenancy](https://docs.victoriametrics.com/vmalert.html#multitenancy) -from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). +VMAlert supports features [Reading rules from object storage](https://docs.victoriametrics.com/vmalert#reading-rules-from-object-storage) +and [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy) +from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). -For using Enterprise version of [vmalert](https://docs.victoriametrics.com/vmalert.html) +For using Enterprise version of [vmalert](https://docs.victoriametrics.com/vmalert) you need to change version of `VMAlert` to version with `-enterprise` suffix using [Version management](#version-management). All the enterprise apps require `-eula` command-line flag to be passed to them. -This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). -So you can use [extraArgs](./README.md#extra-arguments) for passing this flag to `VMAlert`: +This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). +So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMAlert`: ### Reading rules from object storage After that you can pass `-rule` command-line argument with `s3://` or `gs://` -to `VMAlert` with [extraArgs](./README.md#extra-arguments). +to `VMAlert` with [extraArgs](./#extra-arguments). -More details about reading rules from object storage you can read in [vmalert docs](https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage). +More details about reading rules from object storage you can read in [vmalert docs](https://docs.victoriametrics.com/vmalert#reading-rules-from-object-storage). -Here are complete example for [Reading rules from object storage](https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage): +Here are complete example for [Reading rules from object storage](https://docs.victoriametrics.com/vmalert#reading-rules-from-object-storage): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -335,7 +333,7 @@ spec: eula: true # using enterprise features: Reading rules from object storage - # more details about reading rules from object storage you can read on https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage + # more details about reading rules from object storage you can read on https://docs.victoriametrics.com/vmalert#reading-rules-from-object-storage rule: s3://bucket/dir/alert.rules # ...other fields... @@ -343,13 +341,13 @@ spec: ### Multitenancy -After enabling enterprise version you can use [Multitenancy](https://docs.victoriametrics.com/vmalert.html#multitenancy) +After enabling enterprise version you can use [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy) feature in `VMAlert`. For that you need to set `clusterMode` commad-line flag -with [extraArgs](./README.md#extra-arguments) +with [extraArgs](./#extra-arguments) and specify `tenant` field for groups -in [VMRule](./vmrule.md#enterprise-features): +in [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule#enterprise-features): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -368,7 +366,7 @@ spec: eula: true # using enterprise features: Multitenancy - # more details about multitenancy you can read on https://docs.victoriametrics.com/vmalert.html#multitenancy + # more details about multitenancy you can read on https://docs.victoriametrics.com/vmalert#multitenancy clusterMode: true # ...other fields... @@ -384,7 +382,7 @@ spec: - name: vmalert-1 rules: # using enterprise features: Multitenancy - # more details about multitenancy you can read on https://docs.victoriametrics.com/vmalert.html#multitenancy + # more details about multitenancy you can read on https://docs.victoriametrics.com/vmalert#multitenancy - tenant: 1 alert: vmalert config reload error expr: delta(vmalert_config_last_reload_errors_total[5m]) > 0 diff --git a/docs/operator/resources/vmalertmanager.md b/docs/operator/resources/vmalertmanager.md index ddaac209c..0313a00d9 100644 --- a/docs/operator/resources/vmalertmanager.md +++ b/docs/operator/resources/vmalertmanager.md @@ -1,17 +1,15 @@ --- -sort: 3 weight: 3 title: VMAlertmanager menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmalertmanager + parent: operator-cr weight: 3 aliases: - - /operator/resources/vmalertmanager.html + - /operator/resources/vmalertmanager/ + - /operator/resources/vmalertmanager/index.html --- - -# VMAlertmanager - `VMAlertmanager` - represents [alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) configuration. The `VMAlertmanager` CRD declaratively defines a desired Alertmanager setup to run in a Kubernetes cluster. @@ -25,10 +23,10 @@ When there are two or more configured replicas the Operator runs the Alertmanage ## Specification -You can see the full actual specification of the `VMAlertmanager` resource in the **[API docs -> VMAlertManager](../api.md#vmalertmanager)**. +You can see the full actual specification of the `VMAlertmanager` resource in the **[API docs -> VMAlertManager](https://docs.victoriametrics.com/operator/api#vmalertmanager)**. If you can't find necessary field in the specification of the custom resource, -see [Extra arguments section](./README.md#extra-arguments). +see [Extra arguments section](./#extra-arguments). Also, you can check out the [examples](#examples) section. @@ -40,6 +38,8 @@ Generated config stored at `Secret` created by the operator, it has the followin This configuration file is mounted at `VMAlertmanager` `Pod`. A special side-car container tracks its changes and sends config-reload signals to `alertmanager` container. +The operator generates default configuration with `blackhole` root route. It needs to properly start alertmanager container with empty configuration. + ### Using secret Basically, you can use the global configuration defined at manually created `Secret`. This `Secret` must be created before `VMAlertmanager`. @@ -50,7 +50,7 @@ Name of the `Secret` must be defined at `VMAlertmanager` `spec.configSecret` opt apiVersion: v1 kind: Secret metadata: - name: vmalertmanager-example-alertmanager + name: alertmanager-config labels: app: vm-operator type: Opaque @@ -73,7 +73,7 @@ metadata: name: example-alertmanager spec: replicaCount: 2 - configSecret: vmalertmanager-example-alertmanager + configSecret: alertmanager-config ``` ### Using inline raw config @@ -99,16 +99,18 @@ spec: - name: 'default' ``` -If both `configSecret` and `configRawYaml` are defined, only configuration from `configRawYaml` will be used. Values from `configRawYaml` will be ignored. +If both `configSecret` and `configRawYaml` are defined, only configuration from `configRawYaml` will be used. Values from `configSecret` will be ignored. ### Using VMAlertmanagerConfig -See details at [VMAlertmanagerConfig](./vmalertmanagerconfig.md). +See details at [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig). The CRD specifies which `VMAlertmanagerConfig`s should be covered by the deployed `VMAlertmanager` instances based on label selection. -The Operator then generates a configuration based on the included `VMAlertmanagerConfig`s and updates the `Configmaps` containing +The Operator then generates a configuration based on the included `VMAlertmanagerConfig`s and updates the `Secret` containing the configuration. It continuously does so for all changes that are made to `VMAlertmanagerConfig`s or to the `VMAlertmanager` resource itself. +Main goal of operator - generate safe configuration for alertmanager. In case of any of misconfiguration at `VMAlertmanagerConfig` operator skips it from config generation and updates `VMAlertmanagerConfig` `Status` field with error cause. + Configs are filtered by selectors `configNamespaceSelector` and `configSelector` in `VMAlertmanager` CRD definition. For selecting rules from all namespaces you must specify it to empty value: @@ -118,8 +120,8 @@ spec: configNamespaceSelector: {} ``` -[VMAlertmanagerConfig](./vmalertmanagerconfig.md) objects are -generates part of [VMAlertmanager](./vmalertmanager.md) configuration. +[VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig) objects are +generates part of [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager) configuration. For filtering rules `VMAlertmanager` uses selectors `configNamespaceSelector` and `configSelector`. It allows configuring rules access control across namespaces and different environments. @@ -147,7 +149,7 @@ Here's a more visual and more detailed view: | *any* | undefined | *any* | **defined** | all vmalertmanagerconfigs only at `VMAlertmanager`'s namespace | | *any* | **defined** | *any* | **defined** | all vmalertmanagerconfigs only at `VMAlertmanager`'s namespace for given `configSelector` are matching | -More details about `WATCH_NAMESPACE` variable you can read in [this doc](../configuration.md#namespaced-mode). +More details about `WATCH_NAMESPACE` variable you can read in [this doc](https://docs.victoriametrics.com/operator/configuration#namespaced-mode). Here are some examples of `VMAlertmanager` configuration with selectors: @@ -207,6 +209,7 @@ spec: ``` These templates will be automatically added to `VMAlertmanager` configuration and will be automatically reloaded on changes in source `ConfigMap`. + - `spec.configMaps` - list of `ConfigMap` names (in the same namespace) that will be mounted at `VMAlertmanager` workload and will be automatically reloaded on changes in source `ConfigMap`. Mount path is `/etc/vm/configs/`. @@ -281,7 +284,7 @@ spec: ``` If these parameters are not specified, then, -by default all `VMAlertManager` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): +by default all `VMAlertManager` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration): - `VM_VMALERTMANAGER_RESOURCE_LIMIT_MEM` - default memory limit for `VMAlertManager` pods, - `VM_VMALERTMANAGER_RESOURCE_LIMIT_CPU` - default memory limit for `VMAlertManager` pods, diff --git a/docs/operator/resources/vmalertmanagerconfig.md b/docs/operator/resources/vmalertmanagerconfig.md index 71f084833..326a8102c 100644 --- a/docs/operator/resources/vmalertmanagerconfig.md +++ b/docs/operator/resources/vmalertmanagerconfig.md @@ -1,19 +1,17 @@ --- -sort: 4 weight: 4 title: VMAlertmanagerConfig menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmalertmanagerconfig + parent: operator-cr weight: 4 aliases: - - /operator/resources/vmalertmanagerconfig.html + - /operator/resources/vmalertmanagerconfig/ + - /operator/resources/vmalertmanagerconfig/index.html --- - -# VMAlertmanagerConfig - -The `VMAlertmanagerConfig` provides way to configure [VMAlertmanager](./vmalertmanager.md) -configuration with CRD. It allows to define different configuration parts, which will be merged by operator into config. +The `VMAlertmanagerConfig` provides way to configure [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager) +configuration with CRD. It allows to define different configuration parts, which will be merged by operator into config. It behaves like other config parts - `VMServiceScrape` and etc. @@ -21,11 +19,45 @@ Read [Usage](#usage) and [Special case](#special-case) before using. ## Specification -You can see the full actual specification of the `VMAlertmanagerConfig` resource in -the **[API docs -> VMAlertmanagerConfig](../api.md#vmalertmanagerconfig)**. +You can see the full actual specification of the `VMAlertmanagerConfig` resource in +the **[API docs -> VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig)**. Also, you can check out the [examples](#examples) section. +## Validation + + The operator performs validation of `VMAlertmanagerConfig`. In case of any misconfiguration it adds corresponding validation fail message into `status.lastSyncError` field and updates `status.status` field to `failed` status. + + For example `VMAlertmanagerConfig` without required fields: + +```yaml +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMAlertmanagerConfig +metadata: + name: invalid-config + namespace: default +spec: + receivers: + - name: blackhole + - name: pagerduty + pagerduty_configs: + - url: http://example + route: + group_by: + - alertname + receiver: blackhole + routes: + - matchers: + - alertname="pd" + receiver: pagerduty +status: + lastErrorParentAlertmanagerName: default/example-alertmanager + lastSyncError: 'receiver at idx=2 is invalid: at idx=0 pagerduty_configs one of + ''routing_key'' or ''service_key'' must be configured' + lastSyncErrorTimestamp: 1722950290 + status: failed +``` + ## Usage `VMAlertmanagerConfig` allows delegating notification configuration to the kubernetes cluster users. diff --git a/docs/operator/resources/vmauth.md b/docs/operator/resources/vmauth.md index 6146d454e..c21919c10 100644 --- a/docs/operator/resources/vmauth.md +++ b/docs/operator/resources/vmauth.md @@ -1,17 +1,15 @@ --- -sort: 5 weight: 5 title: VMAuth menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmauth + parent: operator-cr weight: 5 aliases: - - /operator/resources/vmauth.html + - /operator/resources/vmauth/ + - /operator/resources/vmauth/index.html --- - -# VMAuth - The `VMAuth` CRD provides mechanism for exposing application with authorization to outside world or to other applications inside kubernetes cluster. For first case, user can configure `ingress` setting at `VMAuth` CRD. For second one, operator will create secret with `username` and `password` at `VMUser` CRD name. @@ -20,10 +18,10 @@ So it will be possible to access these credentials from any application by targe ## Specification You can see the full actual specification of the `VMAuth` resource in -the **[API docs -> VMAuth](../api.md#vmauth)**. +the **[API docs -> VMAuth](https://docs.victoriametrics.com/operator/api#vmauth)**. If you can't find necessary field in the specification of the custom resource, -see [Extra arguments section](./README.md#extra-arguments). +see [Extra arguments section](./#extra-arguments). Also, you can check out the [examples](#examples) section. @@ -33,7 +31,7 @@ The CRD specifies which `VMUser`s should be covered by the deployed `VMAuth` ins The Operator then generates a configuration based on the included `VMUser`s and updates the `Configmaps` containing the configuration. It continuously does so for all changes that are made to `VMUser`s or to the `VMAuth` resource itself. -[VMUser](./vmuser.md) objects generate part of `VMAuth` configuration. +[VMUser](https://docs.victoriametrics.com/operator/resources/vmuser) objects generate part of `VMAuth` configuration. For filtering users `VMAuth` uses selectors `userNamespaceSelector` and `userSelector`. It allows configuring rules access control across namespaces and different environments. @@ -60,7 +58,7 @@ Here's a more visual and more detailed view: | *any* | undefined | *any* | **defined** | all vmusers only at `VMAuth`'s namespace | | *any* | **defined** | *any* | **defined** | all vmusers only at `VMAuth`'s namespace for given `userSelector` are matching | -More details about `WATCH_NAMESPACE` variable you can read in [this doc](../configuration.md#namespaced-mode). +More details about `WATCH_NAMESPACE` variable you can read in [this doc](https://docs.victoriametrics.com/operator/configuration#namespaced-mode). Here are some examples of `VMAuth` configuration with selectors: @@ -181,7 +179,7 @@ spec: ``` If these parameters are not specified, then, -by default all `VMAuth` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): +by default all `VMAuth` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration): - `VM_VMAUTHDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAuth` pods, - `VM_VMAUTHDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAuth` pods, @@ -202,19 +200,19 @@ Also, you can specify requests without limits - in this case default values for ## Enterprise features -Custom resource `VMAuth` supports feature [IP filters](https://docs.victoriametrics.com/vmauth.html#ip-filters) -from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). +Custom resource `VMAuth` supports feature [IP filters](https://docs.victoriametrics.com/vmauth#ip-filters) +from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). -For using Enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth.html) +For using Enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth) you need to change version of `vmauth` to version with `-enterprise` suffix using [Version management](#version-management). All the enterprise apps require `-eula` command-line flag to be passed to them. -This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). -So you can use [extraArgs](./README.md#extra-arguments) for passing this flag to `VMAuth`: +This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). +So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMAuth`: ### IP Filters -After that you can use [IP filters for `VMUser`](./vmuser.md#enterprise-features) +After that you can use [IP filters for `VMUser`](https://docs.victoriametrics.com/operator/resources/vmuser#enterprise-features) and field `ip_filters` for `VMAuth`. Here are complete example with described above: @@ -236,7 +234,7 @@ spec: eula: true # using enterprise features: ip filters for vmauth - # more details about ip filters you can read in https://docs.victoriametrics.com/vmauth.html#ip-filters + # more details about ip filters you can read in https://docs.victoriametrics.com/vmauth#ip-filters ip_filters: allow_list: - 10.0.0.0/24 @@ -265,7 +263,7 @@ spec: password: simple-password # using enterprise features: ip filters for vmuser - # more details about ip filters you can read in https://docs.victoriametrics.com/vmuser.html#enterprise-features + # more details about ip filters you can read in https://docs.victoriametrics.com/operator/resources/vmuser#enterprise-features ip_filters: allow_list: - 10.0.0.0/24 diff --git a/docs/operator/resources/vmcluster.md b/docs/operator/resources/vmcluster.md index 69564e76c..fe3c0bba6 100644 --- a/docs/operator/resources/vmcluster.md +++ b/docs/operator/resources/vmcluster.md @@ -1,19 +1,17 @@ --- -sort: 6 weight: 6 title: VMCluster menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmcluster + parent: operator-cr weight: 6 aliases: - - /operator/resources/vmcluster.html + - /operator/resources/vmcluster/ + - /operator/resources/vmcluster/index.html --- - -# VMCluster - `VMCluster` represents a high-available and fault-tolerant version of VictoriaMetrics database. -The `VMCluster` CRD defines a [cluster version VM](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html). +The `VMCluster` CRD defines a [cluster version VM](https://docs.victoriametrics.com/Cluster-VictoriaMetrics). For each `VMCluster` resource, the Operator creates: @@ -38,10 +36,10 @@ The most important is `VM_PODWAITREADYTIMEOUT=80s` - it controls how long to wai ## Specification -You can see the full actual specification of the `VMCluster` resource in the **[API docs -> VMCluster](../api.md#vmcluster)**. +You can see the full actual specification of the `VMCluster` resource in the **[API docs -> VMCluster](https://docs.victoriametrics.com/operator/api#vmcluster)**. If you can't find necessary field in the specification of the custom resource, -see [Extra arguments section](./README.md#extra-arguments). +see [Extra arguments section](./#extra-arguments). Also, you can check out the [examples](#examples) section. @@ -51,9 +49,9 @@ The cluster version provides a full set of high availability features - metrics First, we recommend familiarizing yourself with the high availability tools provided by "VictoriaMetrics Cluster" itself: -- [High availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#high-availability), -- [Cluster availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#cluster-availability), -- [Replication and data safety](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#replication-and-data-safety). +- [High availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#high-availability), +- [Cluster availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#cluster-availability), +- [Replication and data safety](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#replication-and-data-safety). `VMCluster` supports all listed in the above-mentioned articles parameters and features: @@ -245,7 +243,7 @@ spec: ``` If these parameters are not specified, then, -by default all `VMCluster` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): +by default all `VMCluster` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration): - `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMCluster/vmstorage` pods, - `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMCluster/vmstorage` pods, @@ -275,30 +273,30 @@ Also, you can specify requests without limits - in this case default values for ## Enterprise features VMCluster supports following features -from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise): +from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise): -- [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#downsampling) -- [Multiple retentions / Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#retention-filters) -- [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic.html) -- [mTLS for cluster components](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection) -- [Backup automation](https://docs.victoriametrics.com/vmbackupmanager.html) +- [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling) +- [Multiple retentions / Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters) +- [Advanced per-tenant statistic](https://docs.victoriametrics.com/pertenantstatistic) +- [mTLS for cluster components](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection) +- [Backup automation](https://docs.victoriametrics.com/vmbackupmanager) VMCluster doesn't support yet feature -[Automatic discovery for vmstorage nodes](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#automatic-vmstorage-discovery). +[Automatic discovery for vmstorage nodes](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#automatic-vmstorage-discovery). -For using Enterprise version of [vmcluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html) +For using Enterprise version of [vmcluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics) you need to change version of `VMCluster` to version with `-enterprise` suffix using [Version management](#version-management). All the enterprise apps require `-eula` command-line flag to be passed to them. -This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). -So you can use [extraArgs](./README.md#extra-arguments) for passing this flag to `VMCluster`. +This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). +So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMCluster`. ### Downsampling -After that you can pass [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#downsampling) -flag to `VMCluster/vmselect` and `VMCluster/vmstorage` with [extraArgs](./README.md#extra-arguments) too. +After that you can pass [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling) +flag to `VMCluster/vmselect` and `VMCluster/vmstorage` with [extraArgs](./#extra-arguments) too. -Here are complete example for [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#downsampling): +Here are complete example for [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -319,7 +317,7 @@ spec: eula: true # using enterprise features: Downsampling - # more details about downsampling you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#downsampling + # more details about downsampling you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling downsampling.period: 30d:5m,180d:1h,1y:6h,2y:1d vmstorage: @@ -334,7 +332,7 @@ spec: eula: true # using enterprise features: Downsampling - # more details about downsampling you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#downsampling + # more details about downsampling you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling downsampling.period: 30d:5m,180d:1h,1y:6h,2y:1d # ...other fields... @@ -342,10 +340,10 @@ spec: ### Retention filters -You can pass [Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#retention-filters) -flag to `VMCluster/vmstorage` with [extraArgs](./README.md#extra-arguments). +You can pass [Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters) +flag to `VMCluster/vmstorage` with [extraArgs](./#extra-arguments). -Here are complete example for [Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#retention-filters): +Here are complete example for [Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -366,7 +364,7 @@ spec: eula: true # using enterprise features: Retention filters - # more details about retention filters you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#retention-filters + # more details about retention filters you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters retentionFilter: '{vm_account_id="5",env="dev"}:5d,{vm_account_id="5",env="prod"}:5y' # ...other fields... @@ -374,10 +372,10 @@ spec: ### Advanced per-tenant statistic -For using [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic.html) +For using [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic) you only need to [enable Enterprise version of vmcluster components](#enterprise-features) and operator will automatically create -[Scrape objects](./vmagent.md#scraping) for cluster components. +[Scrape objects](https://docs.victoriametrics.com/operator/resources/vmagent#scraping) for cluster components. ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -422,16 +420,16 @@ spec: # ...other fields... ``` -After that [VMAgent](./vmagent.md) will automatically -scrape [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic.html) for cluster components. +After that [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) will automatically +scrape [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic) for cluster components. ### mTLS protection -You can pass [mTLS protection](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection) -flags to `VMCluster/vmstorage`, `VMCluster/vmselect` and `VMCluster/vminsert` with [extraArgs](./README.md#extra-arguments) and mount secret files +You can pass [mTLS protection](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection) +flags to `VMCluster/vmstorage`, `VMCluster/vmselect` and `VMCluster/vminsert` with [extraArgs](./#extra-arguments) and mount secret files with `extraVolumes` and `extraVolumeMounts` fields. -Here are complete example for [mTLS protection](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection) +Here are complete example for [mTLS protection](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection) ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -452,7 +450,7 @@ spec: eula: true # using enterprise features: mTLS protection - # more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection + # more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection cluster.tls: true cluster.tlsCAFile: /etc/mtls/ca.crt cluster.tlsCertFile: /etc/mtls/vmselect.crt @@ -477,7 +475,7 @@ spec: eula: true # using enterprise features: mTLS protection - # more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection + # more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection cluster.tls: true cluster.tlsCAFile: /etc/mtls/ca.crt cluster.tlsCertFile: /etc/mtls/vminsert.crt @@ -507,7 +505,7 @@ spec: eula: true # using enterprise features: mTLS protection - # more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection + # more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection cluster.tls: true cluster.tlsCAFile: /etc/mtls/ca.crt cluster.tlsCertFile: /etc/mtls/$(POD).crt @@ -574,7 +572,7 @@ on [this page](https://gist.github.com/f41gh7/76ed8e5fb1ebb9737fe746bae9175ee6#g ### Backup automation -You can check [vmbackupmanager documentation](https://docs.victoriametrics.com/vmbackupmanager.html) for backup automation. +You can check [vmbackupmanager documentation](https://docs.victoriametrics.com/vmbackupmanager) for backup automation. It contains a description of the service and its features. This section covers vmbackumanager integration in vmoperator. `VMCluster` has built-in backup configuration, it uses `vmbackupmanager` - proprietary tool for backups. @@ -597,7 +595,7 @@ spec: acceptEULA: true # using enterprise features: Backup automation - # more details about backup automation you can read on https://docs.victoriametrics.com/vmbackupmanager.html + # more details about backup automation you can read on https://docs.victoriametrics.com/vmbackupmanager destination: "s3://your_bucket/folder" credentialsSecret: name: remote-storage-keys @@ -622,13 +620,13 @@ stringData: **NOTE**: for cluster version operator adds suffix for destination: `"s3://your_bucket/folder"`, it becomes `"s3://your_bucket/folder/$(POD_NAME)"`. It's needed to make consistent backups for each storage node. -You can read more about backup configuration options and mechanics [here](https://docs.victoriametrics.com/vmbackupmanager.html) +You can read more about backup configuration options and mechanics [here](https://docs.victoriametrics.com/vmbackupmanager) -Possible configuration options for backup crd can be found at [link](../api.md#vmbackup) +Possible configuration options for backup crd can be found at [link](https://docs.victoriametrics.com/operator/api#vmbackup) -**Using VMBackupmanager for restoring backups** in Kubernetes environment is described [here](https://docs.victoriametrics.com/vmbackupmanager.html#how-to-restore-in-kubernetes). +**Using VMBackupmanager for restoring backups** in Kubernetes environment is described [here](https://docs.victoriametrics.com/vmbackupmanager#how-to-restore-in-kubernetes). -Also see VMCLuster example spec [here](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmcluster_with_backuper.yaml). +Also see VMCluster example spec [here](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmcluster_with_backuper.yaml). ## Examples diff --git a/docs/operator/resources/vmnodescrape.md b/docs/operator/resources/vmnodescrape.md index bf0d9ab01..74d27413b 100644 --- a/docs/operator/resources/vmnodescrape.md +++ b/docs/operator/resources/vmnodescrape.md @@ -1,33 +1,31 @@ --- -sort: 7 weight: 7 title: VMNodeScrape menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmnodescrape + parent: operator-cr weight: 7 aliases: - - /operator/resources/vmnodescrape.html + - /operator/resources/vmnodescrape/ + - /operator/resources/vmnodescrape/index.html --- - -# VMNodeScrape - The `VMNodeScrape` CRD provides discovery mechanism for scraping metrics kubernetes nodes, it is useful for node exporters monitoring. -`VMNodeScrape` object generates part of [VMAgent](./vmagent.md) configuration. +`VMNodeScrape` object generates part of [VMAgent](https://docs.victoriametrics.com/vmagent) configuration. It has various options for scraping configuration of target (with basic auth,tls access, by specific port name etc.). By specifying configuration at CRD, operator generates config -for [VMAgent](./vmagent.md) and syncs it. It's useful for cadvisor scraping, +for [VMAgent](https://docs.victoriametrics.com/vmagent) and syncs it. It's useful for cadvisor scraping, node-exporter or other node-based exporters. `VMAgent` `nodeScrapeSelector` must match `VMNodeScrape` labels. -More information about selectors you can find in [this doc](./vmagent.md#scraping). +More information about selectors you can find in [this doc](https://docs.victoriametrics.com/operator/resources/vmagent#scraping). ## Specification You can see the full actual specification of the `VMNodeScrape` resource in -the **[API docs -> VMNodeScrape](../api.md#vmnodescrape)**. +the **[API docs -> VMNodeScrape](https://docs.victoriametrics.com/operator/api#vmnodescrape)**. Also, you can check out the [examples](#examples) section. diff --git a/docs/operator/resources/vmpodscrape.md b/docs/operator/resources/vmpodscrape.md index 3a9d5ca37..3c8862732 100644 --- a/docs/operator/resources/vmpodscrape.md +++ b/docs/operator/resources/vmpodscrape.md @@ -1,24 +1,22 @@ --- -sort: 8 weight: 8 title: VMPodScrape menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmpodscrape + parent: operator-cr weight: 8 aliases: - - /operator/resources/vmpodscrape.html + - /operator/resources/vmpodscrape/ + - /operator/resources/vmpodscrape/index.html --- - -# VMPodScrape - The `VMPodScrape` CRD allows to declaratively define how a dynamic set of pods should be monitored. Use label selections to match pods for scraping. This allows an organization to introduce conventions for how metrics should be exposed. Following these conventions new services will be discovered automatically without need to reconfigure. -`VMPodScrape` object generates part of [VMAgent](./vmagent.md) configuration with -[kubernetes service discovery](https://docs.victoriametrics.com/sd_configs.html#kubernetes_sd_configs) role `pod` having specific labels and ports. +`VMPodScrape` object generates part of [VMAgent](https://docs.victoriametrics.com/vmagent) configuration with +[kubernetes service discovery](https://docs.victoriametrics.com/sd_configs#kubernetes_sd_configs) role `pod` having specific labels and ports. It has various options for scraping configuration of target (with basic auth,tls access, by specific port name etc.). A `Pod` is a collection of one or more containers which can expose Prometheus metrics on a number of ports. @@ -43,12 +41,12 @@ spec: any: true ``` -More information about selectors you can find in [this doc](./vmagent.md#scraping). +More information about selectors you can find in [this doc](https://docs.victoriametrics.com/operator/resources/vmagent#scraping). ## Specification You can see the full actual specification of the `VMPodScrape` resource in -the **[API docs -> VMPodScrape](../api.md#vmpodscrape)**. +the **[API docs -> VMPodScrape](https://docs.victoriametrics.com/operator/api#vmpodscrape)**. Also, you can check out the [examples](#examples) section. @@ -57,7 +55,7 @@ Also, you can check out the [examples](#examples) section. The `VMPodScrape` CRD from VictoriaMetrics Operator is a drop-in replacement for the Prometheus `PodMonitor` from prometheus-operator. -More details about migration from prometheus-operator you can read in [this doc](../migration.md). +More details about migration from prometheus-operator you can read in [this doc](https://docs.victoriametrics.com/operator/migration). ## Examples diff --git a/docs/operator/resources/vmprobe.md b/docs/operator/resources/vmprobe.md index fbcfbb0bb..3517e9ccc 100644 --- a/docs/operator/resources/vmprobe.md +++ b/docs/operator/resources/vmprobe.md @@ -1,35 +1,33 @@ --- -sort: 9 weight: 9 title: VMProbe menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmprobe + parent: operator-cr weight: 9 aliases: - - /operator/resources/vmprobe.html + - /operator/resources/vmprobe/ + - /operator/resources/vmprobe/index.html --- - -# VMProbe - The `VMProbe` CRD provides probing target ability with some external prober. The most common prober is [blackbox exporter](https://github.com/prometheus/blackbox_exporter). -By specifying configuration at CRD, operator generates config for [VMAgent](./vmagent.md) +By specifying configuration at CRD, operator generates config for [VMAgent](https://docs.victoriametrics.com/vmagent) and syncs it. It's possible to use static targets or use standard k8s discovery mechanism with `Ingress`. -`VMProbe` object generates part of [VMAgent](./vmagent.md) configuration; +`VMProbe` object generates part of [VMAgent](https://docs.victoriametrics.com/vmagent) configuration; It has various options for scraping configuration of target (with basic auth, tls access, by specific port name etc.). You have to configure blackbox exporter before you can use this feature. -The second requirement is [VMAgent](./vmagent.md) selectors, +The second requirement is [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) selectors, it must match your `VMProbe` by label or namespace selector. `VMAgent` `probeSelector` must match `VMProbe` labels. -See more details about selectors [here](./vmagent.md#scraping). +See more details about selectors [here](https://docs.victoriametrics.com/operator/resources/vmagent#scraping). ## Specification You can see the full actual specification of the `VMProbe` resource in -the **[API docs -> VMProbe](../api.md#vmprobe)**. +the **[API docs -> VMProbe](https://docs.victoriametrics.com/operator/api#vmprobe)**. Also, you can check out the [examples](#examples) section. @@ -38,7 +36,7 @@ Also, you can check out the [examples](#examples) section. The `VMProbe` CRD from VictoriaMetrics Operator is a drop-in replacement for the Prometheus `Probe` from prometheus-operator. -More details about migration from prometheus-operator you can read in [this doc](../migration.md). +More details about migration from prometheus-operator you can read in [this doc](https://docs.victoriametrics.com/operator/migration). ## Examples diff --git a/docs/operator/resources/vmrule.md b/docs/operator/resources/vmrule.md index 3fbd672ae..c5dc26e19 100644 --- a/docs/operator/resources/vmrule.md +++ b/docs/operator/resources/vmrule.md @@ -1,46 +1,44 @@ --- -sort: 10 weight: 10 title: VMRule menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmrule + parent: operator-cr weight: 10 aliases: - - /operator/resources/vmrule.html + - /operator/resources/vmrule/ + - /operator/resources/vmrule/index.html --- - -# VMRule - `VMRule` represents [alerting](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) or [recording](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) rules -for [VMAlert](./vmalert.md) instances. +for [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert) instances. The `VMRule` CRD declaratively defines a desired Prometheus rule to be consumed by one or more VMAlert instances. -`VMRule` object generates [VMAlert](./vmalert.md) +`VMRule` object generates [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert) with ruleset defined at `VMRule` spec. Alerts and recording rules can be saved and applied as YAML files, and dynamically loaded without requiring any restart. -See more details about rule configuration in [VMAlert docs](https://docs.victoriametrics.com/vmalert.html#quickstart). +See more details about rule configuration in [VMAlert docs](https://docs.victoriametrics.com/vmalert#quickstart). ## Specification You can see the full actual specification of the `VMRule` resource in -the **[API docs -> VMRule](../api.md#vmrule)**. +the **[API docs -> VMRule](https://docs.victoriametrics.com/operator/api#vmrule)**. Also, you can check out the [examples](#examples) section. ## Enterprise features -Custom resource `VMRule` supports feature [Multitenancy](https://docs.victoriametrics.com/vmalert.html#multitenancy) -from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). +Custom resource `VMRule` supports feature [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy) +from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). ### Multitenancy -For using [Multitenancy](https://docs.victoriametrics.com/vmalert.html#multitenancy) in `VMRule` -you need to **[enable VMAlert Enterprise](./vmalert.md#enterprise-features)**. +For using [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy) in `VMRule` +you need to **[enable VMAlert Enterprise](https://docs.victoriametrics.com/operator/resources/vmalert#enterprise-features)**. After that you can add `tenant` field for groups in `VMRule`: @@ -54,7 +52,7 @@ spec: - name: vmalert-1 rules: # using enterprise features: Multitenancy - # more details about multitenancy you can read on https://docs.victoriametrics.com/vmalert.html#multitenancy + # more details about multitenancy you can read on https://docs.victoriametrics.com/operator/resources/vmalert#multitenancy - tenant: 1 alert: vmalert config reload error expr: delta(vmalert_config_last_reload_errors_total[5m]) > 0 diff --git a/docs/operator/resources/vmscrapeconfig.md b/docs/operator/resources/vmscrapeconfig.md index 33952ce47..fb600e7e9 100644 --- a/docs/operator/resources/vmscrapeconfig.md +++ b/docs/operator/resources/vmscrapeconfig.md @@ -1,25 +1,23 @@ --- -sort: 11 weight: 11 title: VMScrapeConfig menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmscrapeconfig + parent: operator-cr weight: 11 aliases: - - /operator/resources/vmscrapeconfig.html + - /operator/resources/vmscrapeconfig/ + - /operator/resources/vmscrapeconfig/index.html --- +The `VMScrapeConfig` CRD allows to define a scrape config using [any of the service discovery options supported in victoriametrics](https://docs.victoriametrics.com/sd_configs). -# VMScrapeConfig - -The `VMScrapeConfig` CRD allows to define a scrape config using [any of the service discovery options supported in victoriametrics](https://docs.victoriametrics.com/sd_configs/). - -`VMScrapeConfig` object generates part of [VMAgent](./vmagent.md) configuration with Prometheus-compatible scrape targets. +`VMScrapeConfig` object generates part of [VMAgent](https://docs.victoriametrics.com/vmagent) configuration with Prometheus-compatible scrape targets. ## Specification You can see the full actual specification of the `VMScrapeConfig` resource in -the **[API docs -> VMScrapeConfig](../api.md#vmscrapeconfig)**. +the **[API docs -> VMScrapeConfig](https://docs.victoriametrics.com/operator/api#vmscrapeconfig)**. Also, you can check out the [examples](#examples) section. @@ -28,7 +26,7 @@ Also, you can check out the [examples](#examples) section. The `VMScrapeConfig` CRD from VictoriaMetrics Operator is a drop-in replacement for the Prometheus `ScrapeConfig` from prometheus-operator. -More details about migration from prometheus-operator you can read in [this doc](../migration.md). +More details about migration from prometheus-operator you can read in [this doc](https://docs.victoriametrics.com/operator/migration). ## Examples diff --git a/docs/operator/resources/vmservicescrape.md b/docs/operator/resources/vmservicescrape.md index 9379273c7..01aa7eca2 100644 --- a/docs/operator/resources/vmservicescrape.md +++ b/docs/operator/resources/vmservicescrape.md @@ -1,24 +1,22 @@ --- -sort: 12 weight: 12 title: VMServiceScrape menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmservicescrape + parent: operator-cr weight: 12 aliases: - - /operator/resources/vmservicescrape.html + - /operator/resources/vmservicescrape/ + - /operator/resources/vmservicescrape/index.html --- - -# VMServiceScrape - The `VMServiceScrape` CRD allows to define a dynamic set of services for monitoring. Services and scraping configurations can be matched via label selections. This allows an organization to introduce conventions for how metrics should be exposed. Following these conventions new services will be discovered automatically without need to reconfigure. -`VMServiceScrape` object generates part of [VMAgent](./vmagent.md) configuration with -[kubernetes service discovery](https://docs.victoriametrics.com/sd_configs.html#kubernetes_sd_configs) targets by corresponding `Service`. +`VMServiceScrape` object generates part of [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) configuration with +[kubernetes service discovery](https://docs.victoriametrics.com/sd_configs#kubernetes_sd_configs) targets by corresponding `Service`. It has various options for scraping configuration of target (with basic auth,tls access, by specific port name etc.). Monitoring configuration based on `discoveryRole` setting. By default, `endpoints` is used to get objects from kubernetes api. @@ -31,7 +29,7 @@ selector and adds those to the `Endpoints` object. A `Service` may expose one or more service ports backed by a list of one or multiple endpoints pointing to specific `Pod`s. The same reflected in the respective `Endpoints` object as well. -The `VMServiceScrape` object discovers `Endpoints` objects and configures [VMAgent](./vmagent.md) to monitor `Pod`s. +The `VMServiceScrape` object discovers `Endpoints` objects and configures [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) to monitor `Pod`s. The `Endpoints` section of the `VMServiceScrapeSpec` is used to configure which `Endpoints` ports should be scraped. For advanced use cases, one may want to monitor ports of backing `Pod`s, which are not a part of the service endpoints. @@ -41,7 +39,7 @@ Therefore, when specifying an endpoint in the `endpoints` section, they are stri Both `VMServiceScrape` and discovered targets may belong to any namespace. It is important for cross-namespace monitoring use cases, e.g. for meta-monitoring. Using the `serviceScrapeSelector` of the `VMAgentSpec` -one can restrict the namespaces from which `VMServiceScrape`s are selected from by the respective [VMAgent](./vmagent.md) server. +one can restrict the namespaces from which `VMServiceScrape`s are selected from by the respective [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) server. Using the `namespaceSelector` of the `VMServiceScrape` one can restrict the namespaces from which `Endpoints` can be discovered from. To discover targets in all namespaces the `namespaceSelector` has to be empty: @@ -55,12 +53,12 @@ spec: # ... ``` -More information about selectors you can find in [this doc](./vmagent.md#scraping). +More information about selectors you can find in [this doc](https://docs.victoriametrics.com/operator/resources/vmagent#scraping). ## Specification You can see the full actual specification of the `VMServiceScrape` resource in -the **[API docs -> VMServiceScrape](../api.md#vmservicescrape)**. +the **[API docs -> VMServiceScrape](https://docs.victoriametrics.com/operator/api#vmservicescrape)**. Also, you can check out the [examples](#examples) section. @@ -69,7 +67,7 @@ Also, you can check out the [examples](#examples) section. The `VMServiceScrape` CRD from VictoriaMetrics Operator is a drop-in replacement for the Prometheus `ServiceMonitor` from prometheus-operator. -More details about migration from prometheus-operator you can read in [this doc](../migration.md). +More details about migration from prometheus-operator you can read in [this doc](https://docs.victoriametrics.com/operator/migration). ## Examples diff --git a/docs/operator/resources/vmsingle.md b/docs/operator/resources/vmsingle.md index 1abf04b86..c6768b116 100644 --- a/docs/operator/resources/vmsingle.md +++ b/docs/operator/resources/vmsingle.md @@ -1,19 +1,17 @@ --- -sort: 13 weight: 13 title: VMSingle menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmsingle + parent: operator-cr weight: 13 aliases: - - /operator/resources/vmsingle.html + - /operator/resources/vmsingle/ + - /operator/resources/vmsingle/index.html --- - -# VMSingle - `VMSingle` represents database for storing metrics. -The `VMSingle` CRD declaratively defines a [single-node VM](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html) +The `VMSingle` CRD declaratively defines a [single-node VM](https://docs.victoriametrics.com/) installation to run in a Kubernetes cluster. For each `VMSingle` resource, the Operator deploys a properly configured `Deployment` in the same namespace. @@ -25,17 +23,17 @@ For each `VMSingle` resource, the Operator adds `Service` and `VMServiceScrape` ## Specification -You can see the full actual specification of the `VMSingle` resource in the **[API docs -> VMSingle](../api.md#vmsingle)**. +You can see the full actual specification of the `VMSingle` resource in the **[API docs -> VMSingle](https://docs.victoriametrics.com/operator/api#vmsingle)**. If you can't find necessary field in the specification of the custom resource, -see [Extra arguments section](./README.md#extra-arguments). +see [Extra arguments section](./#extra-arguments). Also, you can check out the [examples](#examples) section. ## High availability `VMSingle` doesn't support high availability by default, for such purpose -use [`VMCluster`](./vmcluster.md) instead or duplicate the setup. +use [`VMCluster`](https://docs.victoriametrics.com/operator/resources/vmcluster) instead or duplicate the setup. ## Version management @@ -93,7 +91,7 @@ spec: ``` If these parameters are not specified, then, -by default all `VMSingle` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): +by default all `VMSingle` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration): - `VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMSingle` pods, - `VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMSingle` pods, @@ -114,25 +112,25 @@ Also, you can specify requests without limits - in this case default values for ## Enterprise features -VMSingle supports features from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise): +VMSingle supports features from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise): -- [Downsampling](https://docs.victoriametrics.com/#downsampling) +- [Downsampling](https://docs.victoriametrics.com/#downsampling) - [Multiple retentions / Retention filters](https://docs.victoriametrics.com/#retention-filters) -- [Backup automation](https://docs.victoriametrics.com/vmbackupmanager.html) +- [Backup automation](https://docs.victoriametrics.com/vmbackupmanager) -For using Enterprise version of [vmsingle](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html) +For using Enterprise version of [vmsingle](https://docs.victoriametrics.com/) you need to change version of `VMSingle` to version with `-enterprise` suffix using [Version management](#version-management). All the enterprise apps require `-eula` command-line flag to be passed to them. -This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). -So you can use [extraArgs](./README.md#extra-arguments) for passing this flag to `VMSingle`. +This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). +So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMSingle`. ### Downsampling -After that you can pass [Downsampling](https://docs.victoriametrics.com/#downsampling) -flag to `VMSingle` with [extraArgs](./README.md#extra-arguments) too. +After that you can pass [Downsampling](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/#downsampling) +flag to `VMSingle` with [extraArgs](./#extra-arguments) too. -Here are complete example for [Downsampling](https://docs.victoriametrics.com/#downsampling): +Here are complete example for [Downsampling](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/#downsampling): ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -159,7 +157,7 @@ spec: ### Retention filters -The same method is used to enable retention filters - here are complete example for [Retention filters](https://docs.victoriametrics.com/#retention-filters). +The same method is used to enable retention filters - here are complete example for [Retention filters](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/#retention-filters). ```yaml apiVersion: operator.victoriametrics.com/v1beta1 @@ -186,7 +184,7 @@ spec: ### Backup automation -You can check [vmbackupmanager documentation](https://docs.victoriametrics.com/vmbackupmanager.html) for backup automation. +You can check [vmbackupmanager documentation](https://docs.victoriametrics.com/vmbackupmanager) for backup automation. It contains a description of the service and its features. This section covers vmbackumanager integration in vmoperator. `VMSingle` has built-in backup configuration, it uses `vmbackupmanager` - proprietary tool for backups. @@ -208,7 +206,7 @@ spec: acceptEULA: true # using enterprise features: Backup automation - # more details about backup automation you can read on https://docs.victoriametrics.com/vmbackupmanager.html + # more details about backup automation you can read on https://docs.victoriametrics.com/vmbackupmanager/ destination: "s3://your_bucket/folder" credentialsSecret: name: remote-storage-keys @@ -230,13 +228,13 @@ stringData: aws_secret_access_key = your_secret_access_key ``` -You can read more about backup configuration options and mechanics [here](https://docs.victoriametrics.com/vmbackupmanager.html) +You can read more about backup configuration options and mechanics [here](https://docs.victoriametrics.com/vmbackupmanager) -Possible configuration options for backup crd can be found at [link](../api.md#vmbackup) +Possible configuration options for backup crd can be found at [link](https://docs.victoriametrics.com/operator/api#vmbackup) #### Restoring backups -There are several ways to restore with [vmrestore](https://docs.victoriametrics.com/vmrestore.html) or [vmbackupmanager](https://docs.victoriametrics.com/vmbackupmanager.html). +There are several ways to restore with [vmrestore](https://docs.victoriametrics.com/vmrestore) or [vmbackupmanager](https://docs.victoriametrics.com/vmbackupmanager). ##### Manually mounting disk @@ -269,7 +267,7 @@ Steps: acceptEULA: true # using enterprise features: Backup automation - # more details about backup automation you can read on https://docs.victoriametrics.com/vmbackupmanager.html + # more details about backup automation you can read https://docs.victoriametrics.com/vmbackupmanager/ destination: "s3://your_bucket/folder" credentialsSecret: name: remote-storage-keys @@ -301,7 +299,7 @@ Note that using `VMRestore` will require adjusting `src` for each pod because re ##### Using VMBackupmanager init container -Using VMBackupmanager restore in Kubernetes environment is described [here](https://docs.victoriametrics.com/vmbackupmanager.html#how-to-restore-in-kubernetes). +Using VMBackupmanager restore in Kubernetes environment is described [here](https://docs.victoriametrics.com/vmbackupmanager#how-to-restore-in-kubernetes). Advantages of using `VMBackupmanager` include: diff --git a/docs/operator/resources/vmstaticscrape.md b/docs/operator/resources/vmstaticscrape.md index a70f73449..23a5f8630 100644 --- a/docs/operator/resources/vmstaticscrape.md +++ b/docs/operator/resources/vmstaticscrape.md @@ -1,34 +1,32 @@ --- -sort: 14 weight: 14 title: VMStaticScrape menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmstaticscrape + parent: operator-cr weight: 14 aliases: - - /operator/resources/vmstaticscrape.html + - /operator/resources/vmstaticscrape/ + - /operator/resources/vmstaticscrape/index.html --- - -# VMStaticScrape - The `VMStaticScrape` CRD provides mechanism for scraping metrics from static targets, configured by CRD targets. -`VMStaticScrape` object generates part of [VMAgent](./vmagent.md) -configuration with [static "service discovery"](https://docs.victoriametrics.com/sd_configs.html#static_configs). +`VMStaticScrape` object generates part of [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) +configuration with [static "service discovery"](https://docs.victoriametrics.com/sd_configs#static_configs). It has various options for scraping configuration of target (with basic auth,tls access, by specific port name etc.). By specifying configuration at CRD, operator generates config -for [VMAgent](./vmagent.md) and syncs it. +for [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) and syncs it. It's useful for external targets management, when service-discovery is not available. `VMAgent` `staticScrapeSelector` must match `VMStaticScrape` labels. -More information about selectors you can find in [this doc](./vmagent.md#scraping). +More information about selectors you can find in [this doc](https://docs.victoriametrics.com/operator/resources/vmagent#scraping). ## Specification You can see the full actual specification of the `VMStaticScrape` resource in -the **[API docs -> VMStaticScrape](../api.md#vmstaticscrape)**. +the **[API docs -> VMStaticScrape](https://docs.victoriametrics.com/operator/api#vmstaticscrape)**. Also, you can check out the [examples](#examples) section. diff --git a/docs/operator/resources/vmuser.md b/docs/operator/resources/vmuser.md index 67c09c89b..cc6edf1f6 100644 --- a/docs/operator/resources/vmuser.md +++ b/docs/operator/resources/vmuser.md @@ -1,17 +1,15 @@ --- -sort: 15 weight: 15 title: VMUser menu: docs: - parent: "operator-custom-resources" + identifier: operator-cr-vmuser + parent: operator-cr weight: 15 aliases: - - /operator/resources/vmuser.html + - /operator/resources/vmuser/ + - /operator/resources/vmuser/index.html --- - -# VMUser - The `VMUser` CRD describes user configuration, its authentication methods `basic auth` or `Authorization` header. User access permissions, with possible routing information. @@ -21,7 +19,7 @@ operator queries kubernetes API, retrieves information about CRD and builds prop ## Specification You can see the full actual specification of the `VMUser` resource in -the **[API docs -> VMUser](../api.md#vmuser)**. +the **[API docs -> VMUser](https://docs.victoriametrics.com/operator/api#vmuser)**. Also, you can check out the [examples](#examples) section. @@ -64,13 +62,13 @@ or with `crd`, in this case, operator queries kubernetes API, retrieves informat Here are details about other fields in `targetRefs`: -- `paths` is the same as `src_paths` from [auth config](https://docs.victoriametrics.com/vmauth.html#auth-config) -- `headers` is the same as `headers` from [auth config](https://docs.victoriametrics.com/vmauth.html#auth-config) -- `targetPathSuffix` is the suffix for `url_prefix` (target URL) from [auth config](https://docs.victoriametrics.com/vmauth.html#auth-config) +- `paths` is the same as `src_paths` from [auth config](https://docs.victoriametrics.com/vmauth#auth-config) +- `headers` is the same as `headers` from [auth config](https://docs.victoriametrics.com/vmauth#auth-config) +- `targetPathSuffix` is the suffix for `url_prefix` (target URL) from [auth config](https://docs.victoriametrics.com/vmauth#auth-config) ### Static -The `static` field is the same as `url_prefix` (target URL) from [auth config](https://docs.victoriametrics.com/vmauth.html#auth-config), +The `static` field is the same as `url_prefix` (target URL) from [auth config](https://docs.victoriametrics.com/vmauth#auth-config), it allows you to set a specific static URL. ### CRDRef @@ -81,11 +79,11 @@ User can define routing target with `crd` config, by entering `kind`, `name` and Operator supports following kinds in `kind` field: -- `VMAgent` for [VMAgent](./vmagent.md) -- `VMAlert` for [VMAlert](./vmalert.md) -- `VMAlertmanager` for [VMAlertmanager](./vmalertmanager.md) -- `VMSingle` for [VMSingle](./vmsingle.md) -- `VMCluster/vmselect`, `VMCluster/vminsert` and `VMCluster/vmstorage` for [VMCluster](./vmcluster.md) +- `VMAgent` for [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) +- `VMAlert` for [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert) +- `VMAlertmanager` for [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager) +- `VMSingle` for [VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle) +- `VMCluster/vmselect`, `VMCluster/vminsert` and `VMCluster/vmstorage` for [VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster) Also, you can check out the [examples](#examples) section. @@ -93,13 +91,13 @@ Additional fields like `path` and `scheme` can be added to `CRDRef` config. ## Enterprise features -Custom resource `VMUser` supports feature [IP filters](https://docs.victoriametrics.com/vmauth.html#ip-filters) -from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). +Custom resource `VMUser` supports feature [IP filters](https://docs.victoriametrics.com/vmauth#ip-filters) +from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise). ### IP Filters -For using [IP filters](https://docs.victoriametrics.com/vmauth.html#ip-filters) -you need to **[enable VMAuth Enterprise](./vmauth.md#enterprise-features)**. +For using [IP filters](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/vmauth#ip-filters) +you need to **[enable VMAuth Enterprise](https://docs.victoriametrics.com/vmauth#enterprise-features)**. After that you can add `ip_filters` field to `VMUser`: @@ -113,7 +111,7 @@ spec: password: simple-password # using enterprise features: ip filters for vmuser - # more details about ip filters you can read in https://docs.victoriametrics.com/vmuser.html#enterprise-features + # more details about ip filters you can read in https://docs.victoriametrics.com/operator/resources/vmuser#enterprise-features ip_filters: allow_list: - 10.0.0.0/24 @@ -143,5 +141,5 @@ spec: paths: ["/api/v1/groups","/api/v1/alerts"] ``` -More examples see on [Authorization and exposing components](../auth.md) page -and in [Quickstart guide](../quick-start.md#vmuser). +More examples see on [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth) page +and in [Quickstart guide](https://docs.victoriametrics.com/operator/quick-start#vmuser). diff --git a/docs/operator/security.md b/docs/operator/security.md index c5de95212..57f5926d1 100644 --- a/docs/operator/security.md +++ b/docs/operator/security.md @@ -1,5 +1,4 @@ --- -sort: 3 weight: 3 title: Security menu: @@ -7,11 +6,9 @@ menu: parent: "operator" weight: 3 aliases: - - /operator/security.html + - /operator/security/ + - /operator/security/index.html --- - -# Security - ## Access control ### Roles @@ -21,15 +18,15 @@ To run in a cluster the operator needs certain permissions, you can see them in - [`role.yaml` file](https://github.com/VictoriaMetrics/operator/blob/master/config/rbac/role.yaml) - basic set of cluster roles for launching an operator. - [`leader_election_role.yaml` file](https://github.com/VictoriaMetrics/operator/blob/master/config/rbac/leader_election_role.yaml) - set of roles with permissions to do leader election (is necessary to run the operator in several replicas for high availability). -Also, you can use single-namespace mode with minimal permissions, see [this section](./configuration.md#namespaced-mode) for details. +Also, you can use single-namespace mode with minimal permissions, see [this section](https://docs.victoriametrics.com/operator/configuration#namespaced-mode) for details. -Also in [the same directory](https://github.com/VictoriaMetrics/operator/tree/master/config/rbac) are files with a set of separate permissions to view or edit [operator resources](./resources/README.md) to organize fine-grained access: +Also in [the same directory](https://github.com/VictoriaMetrics/operator/tree/master/config/rbac) are files with a set of separate permissions to view or edit [operator resources](https://docs.victoriametrics.com/operator/resources/) to organize fine-grained access: - file `_viewer_role.yaml` - permissions for viewing (`get`, `list` and `watch`) some resource of vmoperator. - file `_editor_role.yaml` - permissions for editing (`create`, `delete`, `patch`, `update` and `deletecollection`) some resource of vmoperator (also includes viewing permissions). For instance, [`vmalert_editor_role.yaml` file](https://github.com/VictoriaMetrics/operator/blob/master/config/rbac/vmalert_editor_role.yaml) contain permission -for editing [`vmagent` custom resources](./resources/vmagent.md). +for editing [`vmagent` custom resources](https://docs.victoriametrics.com/operator/resources/vmagent). diff --git a/docs/operator/setup.md b/docs/operator/setup.md index 6e370510e..282faffeb 100644 --- a/docs/operator/setup.md +++ b/docs/operator/setup.md @@ -1,5 +1,4 @@ --- -sort: 2 weight: 2 title: Setup menu: @@ -7,11 +6,9 @@ menu: parent: "operator" weight: 2 aliases: - - /operator/setup.html + - /operator/setup/ + - /operator/setup/index.html --- - -# VictoriaMetrics Operator Setup - ## Installing by helm-charts You can use one of the following official helm-charts with `vmoperator`: @@ -24,9 +21,43 @@ For installing VictoriaMetrics operator with helm-chart follow the instructions ([this](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-operator/README.md) or [this](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/README.md)). -in addition, you can use [quickstart guide](./quick-start.md) for +in addition, you can use [quickstart guide](https://docs.victoriametrics.com/operator/quick-start) for installing VictoriaMetrics operator with helm-chart. +## Installing by Manifest + +Obtain release from releases page: +[https://github.com/VictoriaMetrics/operator/releases](https://github.com/VictoriaMetrics/operator/releases) + +We suggest use the latest release. + +```sh +# Get latest release version from https://github.com/VictoriaMetrics/operator/releases/latest +export VM_VERSION=`basename $(curl -fs -o/dev/null -w %{redirect_url} https://github.com/VictoriaMetrics/operator/releases/latest)` +wget https://github.com/VictoriaMetrics/operator/releases/download/$VM_VERSION/install.yaml +``` + +Operator use `vm` namespace, but you can install it to specific namespace with command: + +```sh +sed -i "s/namespace: vm/namespace: YOUR_NAMESPACE/g" install.yaml +``` + +and apply it: + +```sh +kubectl apply -f install.yaml +``` + +Check the status of operator + +```sh +kubectl get pods -n YOUR_NAMESPACE + +#NAME READY STATUS RESTARTS AGE +#vm-operator-667dfbff55-cbvkf 1/1 Running 0 101s +``` + ## Installing by Kustomize You can install operator using [Kustomize](https://kustomize.io/) by pointing to the remote kustomization file. @@ -40,7 +71,7 @@ cat << EOF > kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: -- github.com/VictoriaMetrics/operator/config/default?ref=${VM_VERSION} +- github.com/VictoriaMetrics/operator/config/base?ref=${VM_VERSION} namespace: ${NAMESPACE} @@ -77,11 +108,39 @@ kubectl get pods -n whatever-namespace ### Installing to K8s -TODO +VictoriaMetrics operator OLM package is available at [OperatorHub](https://operatorhub.io/operator/victoriametrics-operator). +Installation instructions are available there. ### Installing to Openshift -TODO +Create `Subscription` manifest with `installPlanApproval` set to `Manual` to prevent unexpected upgrades. + +```yaml +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: victoriametrics-operator + namespace: vm +spec: + channel: beta + installPlanApproval: Manual + name: victoriametrics-operator + source: community-operators + sourceNamespace: openshift-marketplace + startingCSV: victoriametrics-operator.v0.46.4 +``` + +Apply manifest + +```shell +oc apply -f manifest.yaml +``` + +After some time operator should be up and running in `vm` namespace + +```shell +oc get pods -n vm +``` ### Run locally @@ -94,4 +153,4 @@ There is no need in an additional configuration for ARM. Operator and VictoriaMe ## Configuring -You can read detailed instructions about operator configuring in [this document](./configuration.md). +You can read detailed instructions about operator configuring in [this document](https://docs.victoriametrics.com/operator/configuration). diff --git a/docs/operator/vars.md b/docs/operator/vars.md index a154639de..17fa498ed 100644 --- a/docs/operator/vars.md +++ b/docs/operator/vars.md @@ -1,5 +1,4 @@ --- -sort: 11 weight: 11 title: Variables menu: @@ -7,12 +6,11 @@ menu: parent: "operator" weight: 11 aliases: - - /operator/vars.html + - /operator/vars/ + - /operator/vars/index.html --- - -# Auto Generated vars for package config - updated at Fri Jul 5 11:51:01 UTC 2024 + updated at Fri Aug 9 18:57:09 UTC 2024 | variable name | variable default value | variable required | variable description | @@ -21,8 +19,16 @@ aliases: | VM_CONTAINERREGISTRY | - | false | container registry name prefix, e.g. docker.io | | VM_CUSTOMCONFIGRELOADERIMAGE | victoriametrics/operator:config-reloader-v0.43.0 | false | - | | VM_PSPAUTOCREATEENABLED | false | false | - | +| VM_VLOGSDEFAULT_IMAGE | victoriametrics/victoria-logs | false | - | +| VM_VLOGSDEFAULT_VERSION | v0.28.0-victorialogs | false | - | +| VM_VLOGSDEFAULT_PORT | 9428 | false | - | +| VM_VLOGSDEFAULT_USEDEFAULTRESOURCES | true | false | - | +| VM_VLOGSDEFAULT_RESOURCE_LIMIT_MEM | 1500Mi | false | - | +| VM_VLOGSDEFAULT_RESOURCE_LIMIT_CPU | 1200m | false | - | +| VM_VLOGSDEFAULT_RESOURCE_REQUEST_MEM | 500Mi | false | - | +| VM_VLOGSDEFAULT_RESOURCE_REQUEST_CPU | 150m | false | - | | VM_VMALERTDEFAULT_IMAGE | victoriametrics/vmalert | false | - | -| VM_VMALERTDEFAULT_VERSION | v1.101.0 | false | - | +| VM_VMALERTDEFAULT_VERSION | v1.102.0 | false | - | | VM_VMALERTDEFAULT_PORT | 8080 | false | - | | VM_VMALERTDEFAULT_USEDEFAULTRESOURCES | true | false | - | | VM_VMALERTDEFAULT_RESOURCE_LIMIT_MEM | 500Mi | false | - | @@ -33,7 +39,7 @@ aliases: | VM_VMALERTDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - | | VM_VMALERTDEFAULT_CONFIGRELOADIMAGE | jimmidyson/configmap-reload:v0.3.0 | false | - | | VM_VMAGENTDEFAULT_IMAGE | victoriametrics/vmagent | false | - | -| VM_VMAGENTDEFAULT_VERSION | v1.101.0 | false | - | +| VM_VMAGENTDEFAULT_VERSION | v1.102.0 | false | - | | VM_VMAGENTDEFAULT_CONFIGRELOADIMAGE | quay.io/prometheus-operator/prometheus-config-reloader:v0.68.0 | false | - | | VM_VMAGENTDEFAULT_PORT | 8429 | false | - | | VM_VMAGENTDEFAULT_USEDEFAULTRESOURCES | true | false | - | @@ -44,7 +50,7 @@ aliases: | VM_VMAGENTDEFAULT_CONFIGRELOADERCPU | 100m | false | - | | VM_VMAGENTDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - | | VM_VMSINGLEDEFAULT_IMAGE | victoriametrics/victoria-metrics | false | - | -| VM_VMSINGLEDEFAULT_VERSION | v1.101.0 | false | - | +| VM_VMSINGLEDEFAULT_VERSION | v1.102.0 | false | - | | VM_VMSINGLEDEFAULT_PORT | 8429 | false | - | | VM_VMSINGLEDEFAULT_USEDEFAULTRESOURCES | true | false | - | | VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_MEM | 1500Mi | false | - | @@ -55,14 +61,14 @@ aliases: | VM_VMSINGLEDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - | | VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES | true | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_IMAGE | victoriametrics/vmselect | false | - | -| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_VERSION | v1.101.0-cluster | false | - | +| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_VERSION | v1.102.0-cluster | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_PORT | 8481 | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_MEM | 1000Mi | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_CPU | 500m | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_MEM | 500Mi | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_CPU | 100m | false | - | | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_IMAGE | victoriametrics/vmstorage | false | - | -| VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VERSION | v1.101.0-cluster | false | - | +| VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VERSION | v1.102.0-cluster | false | - | | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VMINSERTPORT | 8400 | false | - | | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VMSELECTPORT | 8401 | false | - | | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_PORT | 8482 | false | - | @@ -71,7 +77,7 @@ aliases: | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_MEM | 500Mi | false | - | | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_CPU | 250m | false | - | | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_IMAGE | victoriametrics/vminsert | false | - | -| VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_VERSION | v1.101.0-cluster | false | - | +| VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_VERSION | v1.102.0-cluster | false | - | | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_PORT | 8480 | false | - | | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_MEM | 500Mi | false | - | | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_CPU | 500m | false | - | @@ -90,7 +96,7 @@ aliases: | VM_VMALERTMANAGER_RESOURCE_REQUEST_CPU | 30m | false | - | | VM_DISABLESELFSERVICESCRAPECREATION | false | false | - | | VM_VMBACKUP_IMAGE | victoriametrics/vmbackupmanager | false | - | -| VM_VMBACKUP_VERSION | v1.101.0-enterprise | false | - | +| VM_VMBACKUP_VERSION | v1.102.0-enterprise | false | - | | VM_VMBACKUP_PORT | 8300 | false | - | | VM_VMBACKUP_USEDEFAULTRESOURCES | true | false | - | | VM_VMBACKUP_RESOURCE_LIMIT_MEM | 500Mi | false | - | @@ -99,7 +105,7 @@ aliases: | VM_VMBACKUP_RESOURCE_REQUEST_CPU | 150m | false | - | | VM_VMBACKUP_LOGLEVEL | INFO | false | - | | VM_VMAUTHDEFAULT_IMAGE | victoriametrics/vmauth | false | - | -| VM_VMAUTHDEFAULT_VERSION | v1.101.0 | false | - | +| VM_VMAUTHDEFAULT_VERSION | v1.102.0 | false | - | | VM_VMAUTHDEFAULT_CONFIGRELOADIMAGE | quay.io/prometheus-operator/prometheus-config-reloader:v0.68.0 | false | - | | VM_VMAUTHDEFAULT_PORT | 8427 | false | - | | VM_VMAUTHDEFAULT_USEDEFAULTRESOURCES | true | false | - | @@ -131,4 +137,4 @@ aliases: | VM_PODWAITREADYINITDELAY | 10s | false | - | | VM_FORCERESYNCINTERVAL | 60s | false | configures force resync interval for VMAgent, VMAlert, VMAlertmanager and VMAuth. | | VM_ENABLESTRICTSECURITY | false | false | EnableStrictSecurity will add default `securityContext` to pods and containers created by operatorDefault PodSecurityContext include:1. RunAsNonRoot: true2. RunAsUser/RunAsGroup/FSGroup: 65534'65534' refers to 'nobody' in all the used default images like alpine, busybox.If you're using customize image, please make sure '65534' is a valid uid in there or specify SecurityContext.3. FSGroupChangePolicy: &onRootMismatchIf KubeVersion>=1.20, use `FSGroupChangePolicy="onRootMismatch"` to skip the recursive permission changewhen the root of the volume already has the correct permissions4. SeccompProfile:type: RuntimeDefaultUse `RuntimeDefault` seccomp profile by default, which is defined by the container runtime,instead of using the Unconfined (seccomp disabled) mode.Default container SecurityContext include:1. AllowPrivilegeEscalation: false2. ReadOnlyRootFilesystem: true3. Capabilities:drop:- allturn off `EnableStrictSecurity` by default, see https://github.com/VictoriaMetrics/operator/issues/749 for details | -[envconfig-sum]: 3308f7a50407d573736a9fe441821a37 +[envconfig-sum]: e9e93721c4232b8d21d8195387649304