Automatic update operator docs from VictoriaMetrics/operator@64879fb (#6831)

Automated changes by
[create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: f41gh7 <nik@victoriametrics.com>
This commit is contained in:
Github Actions 2024-08-16 07:32:25 -07:00 committed by GitHub
parent e58dde6925
commit 015f0b0424
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
42 changed files with 1376 additions and 999 deletions

View File

@ -1,5 +1,4 @@
--- ---
sort: 10
weight: 10 weight: 10
title: CHANGELOG title: CHANGELOG
menu: menu:
@ -8,10 +7,33 @@ menu:
weight: 10 weight: 10
identifier: operator-changelog identifier: operator-changelog
aliases: aliases:
- /operator/CHANGELOG.html - /operator/changelog/
- /operator/changelog.html - /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 ## [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]: 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. - [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. - [operator](https://docs.victoriametrics.com/operator/): 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. - [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 ## [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. - [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](./README.md): fixes panic at `PodMonitor` convertion with configured `tlsConfig`. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1025) 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](./api.md): return back `targetPort` for `VMPodScrape` definition. See this [issue](https://github.com/VictoriaMetrics/operator/issues/1015) 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 ## [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 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 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 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/<suffix>` 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/<suffix>` 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 ### 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](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](./README.md): kubebuilder v2 -> v4 upgrade - [operator](https://docs.victoriametrics.com/operator/): kubebuilder v2 -> v4 upgrade
- [operator](./README.md): operator docker images are now distroless based - [operator](https://docs.victoriametrics.com/operator/): operator docker images are now distroless based
- [operator](./README.md): upgraded certificates.cert-manager.io/v1alpha2 to certificates.cert-manager.io/v1 - [operator](https://docs.victoriametrics.com/operator/): upgraded certificates.cert-manager.io/v1alpha2 to certificates.cert-manager.io/v1
- [operator](./README.md): code-generator v0.27.11 -> v0.30.0 upgrade - [operator](https://docs.victoriametrics.com/operator/): 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. - [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](./api.md#vmrule): sync group attributes `eval_offset`, `eval_delay` and `eval_alignment` from [upstream](https://docs.victoriametrics.com/vmalert/#groups). - [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](./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. - [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](./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). - [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
<a name="v0.45.0"></a> <a name="v0.45.0"></a>
## [v0.45.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.45.0) - 10 Jun 2024 ## [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. - [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](./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. - [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](./README.md): 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/): 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. - [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](./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](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](./api.html#vmauth): fix deployment when custom reloader is used. See [this pull request](https://github.com/VictoriaMetrics/operator/pull/964). - [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](./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/*). - [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](./README.md): fix alertmanagerconfig converting with receiver `opsgenie_configs`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/968). - [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 ## [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. - [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](./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](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](./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 - [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](./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. - [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](./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. - [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](./resources/vmscrapeconfig.md): `authorization` section in sd configs works properly with empty `type` field (default value for this field is `Bearer`). - [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](./README.md): fixes owner reference type on VMScrapeConfig objects - [prometheus-converter](https://docs.victoriametrics.com/operator/): 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. - [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.
<a name="v0.43.5"></a> <a name="v0.43.5"></a>
@ -85,59 +109,59 @@ aliases:
## [v0.43.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.4) - 25 Apr 2024 ## [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](https://docs.victoriametrics.com/operator/): 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/): 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.
<a name="v0.43.3"></a> <a name="v0.43.3"></a>
## [v0.43.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.3) - 23 Apr 2024 ## [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](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](./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 selector match for config resources like VMUser, VMRule... , before it could be ignored when update resource labels.
<a name="v0.43.2"></a> <a name="v0.43.2"></a>
## [v0.43.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.2) - 22 Apr 2024 ## [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](https://docs.victoriametrics.com/operator/api#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 `unknown long flag '--rules-dir'` for prometheus-config-reloader.
<a name="v0.43.1"></a> <a name="v0.43.1"></a>
## [v0.43.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.1) - 18 Apr 2024 ## [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`.
<a name="v0.43.0"></a> <a name="v0.43.0"></a>
## [v0.43.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.0) - 18 Apr 2024 ## [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: 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: 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.** **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). - 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](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](./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](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](./README.md): adds new field `configReloaderExtraArgs` for `VMAgent`, `VMAlert`, `VMAuth` and `VMAlertmanager` CRDs. It allows to configure config-reloader container. - [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](./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. - [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](./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](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](./README.md): updates base Docker image and prometheus_client to versions with with CVE fixes - [operator](https://docs.victoriametrics.com/operator/): 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](https://docs.victoriametrics.com/operator/): 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. - [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](./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](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](./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. - [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](./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. - [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](./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. - [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](./api.md#vmalertmanagerconfig): fix struct field tags under `Sigv4Config`. - [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#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. - [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](./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](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](./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. - [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](./api.md#vmscrapeconfig): add crd VMScrapeConfig, which can define a scrape config using any of the service discovery options supported in victoriametrics. - [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](./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 - [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](./api.md#vmprobe): add field `proxy_url`, see [this issue](https://github.com/VictoriaMetrics/operator/issues/731) for details. - [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: 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: 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). - 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 ## [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. - [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](./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](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](./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. - [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](./api.html#vmalertmanager): properly print columns at CRD `replicaCount` and `version` status fields. - [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): properly print columns at CRD `replicaCount` and `version` status fields.
<a name="v0.42.2"></a> <a name="v0.42.2"></a>
## [v0.42.](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.2) - 6 Mar 2024 ## [v0.42.](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.2) - 6 Mar 2024
- [operator](./README.md): fixes alertmanager args typo. - [operator](https://docs.victoriametrics.com/operator/): 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. - [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.
<a name="v0.42.1"></a> <a name="v0.42.1"></a>
## [v0.42.](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.1) - 5 Mar 2024 ## [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.
<a name="v0.42.0"></a> <a name="v0.42.0"></a>
## [v0.42.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.0) - 4 Mar 2024 ## [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). - 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](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](./README.md): 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](./README.md): 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](./README.md): 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 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). - [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](./api.md#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 `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. - [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](./api.html#vmalertmanager): use `blackhole` as default router if not configuration provided instead of dummy webhook. 9ee567ff9bc93f43dfedcf9361be1be54a5e7597 - [vmalertmanager](https://docs.victoriametrics.com/operator/api#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 - [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](./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. - [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](./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 <https://github.com/VictoriaMetrics/operator/issues/821>, <https://github.com/VictoriaMetrics/operator/issues/867>. - [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 <https://github.com/VictoriaMetrics/operator/issues/821>, <https://github.com/VictoriaMetrics/operator/issues/867>.
<a name="v0.41.2"></a> <a name="v0.41.2"></a>
## [v0.41.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.41.2) - 21 Feb 2024 ## [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 ## [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). - 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.
<a name="v0.40.0"></a> <a name="v0.40.0"></a>
## [v0.40.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.40.0) - 23 Jan 2024 ## [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). - [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](./README.md): 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 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) - [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](./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!** - [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](./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](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](./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). - [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).
<a name="v0.39.4"></a> <a name="v0.39.4"></a>
## [v0.39.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.4) - 13 Dec 2023 ## [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). - 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 <https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config>. - [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): add fields `entity`, `actions` and `update_alerts` for opsgenie_configs according to <https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config>.
- [vmoperator](./README.md): remove vmalert notifier null check, since `-notifier.url` is optional and is needed only if there are alerting rules. - [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.
<a name="v0.39.3"></a> <a name="v0.39.3"></a>
@ -232,17 +256,17 @@ aliases:
### Features ### Features
- [vmoperator](./README.md): 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/): 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](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](./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/): optimize statefulset update logic, that should reduce some unneeded operations. See [this PR](https://github.com/VictoriaMetrics/operator/pull/801) for details.
<a name="v0.39.1"></a> <a name="v0.39.1"></a>
## [v0.39.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.1) - 1 Nov 2023 ## [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. - [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](./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). - [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](./api.md#vmagent): updated dependency for properly parsing chained `if` expressions in validation webhook. - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): updated dependency for properly parsing chained `if` expressions in validation webhook.
<a name="v0.38.0"></a> <a name="v0.38.0"></a>
@ -250,19 +274,19 @@ aliases:
### Features ### Features
- [vmoperator](./README.md): upgrade vmagent/vmauth's default config-reloader image. - [vmoperator](https://docs.victoriametrics.com/operator/): 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) - [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](./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](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](./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/): add ability to provide license key for VictoriaMetrics enterprise components. See [this doc](https://docs.victoriametrics.com/enterprise) for the details.
### Fixes ### Fixes
- [vmcluster](./api.html#vmcluster): remove redundant annotation `operator.victoriametrics/last-applied-spec` from created workloads like vmstorage statefulset. - [vmcluster](https://docs.victoriametrics.com/operator/api#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](https://docs.victoriametrics.com/operator/): 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. - [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](./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](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](./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/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](./api.md#vmauth): correctly set config reloader image for init container. - [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): correctly set config reloader image for init container.
<a name="v0.38.0"></a> <a name="v0.38.0"></a>
@ -272,13 +296,13 @@ aliases:
### Fixes ### 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 - [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](./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](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](./README.md): bump default version of VictoriaMetrics components to [1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4). - [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 ### 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.
<a name="v0.37.1"></a> <a name="v0.37.1"></a>
@ -296,11 +320,11 @@ aliases:
### Fixes ### 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 ### 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.
<a name="v0.36.1"></a> <a name="v0.36.1"></a>
@ -308,7 +332,7 @@ aliases:
### Fixes ### 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 ### Features
@ -318,7 +342,7 @@ aliases:
### Breaking changes ### 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:** - **Affected fields:**
- **`VMAlert.spec.datasource.OAuth2` -> `VMAlert.spec.datasource.oauth2`,** - **`VMAlert.spec.datasource.OAuth2` -> `VMAlert.spec.datasource.oauth2`,**
- **`VMAlert.spec.notifier.OAuth2` -> `VMAlert.spec.notifier.oauth2`,** - **`VMAlert.spec.notifier.OAuth2` -> `VMAlert.spec.notifier.oauth2`,**
@ -326,7 +350,7 @@ aliases:
- **`VMAlert.spec.remoteRead.OAuth2` -> `VMAlert.spec.remoteRead.oauth2`,** - **`VMAlert.spec.remoteRead.OAuth2` -> `VMAlert.spec.remoteRead.oauth2`,**
- **`VMAlert.spec.remoteWrite.OAuth2` -> `VMAlert.spec.remoteWrite.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:** - **Affected fields:**
- **`VMAlert.spec.datasource.bearerTokenFilePath` --> `VMAlert.spec.datasource.bearerTokenFile`,** - **`VMAlert.spec.datasource.bearerTokenFilePath` --> `VMAlert.spec.datasource.bearerTokenFile`,**
- **`VMAlert.spec.notifier.bearerTokenFilePath` --> `VMAlert.spec.notifier.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. - 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 `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. - 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. - [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](./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. - [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](./api.md#vmagent): fix missing additional VolumeClaimTemplates when using `ClaimTemplates` under StatefulMode. - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): fix missing additional VolumeClaimTemplates when using `ClaimTemplates` under StatefulMode.
### Features ### 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](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](./api.md#vmagent)/[vmsingle](./api.md#vmsingle): adapt new features in streaming aggregation: - [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 `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 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. - 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. - [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](./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](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](./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. - [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](./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](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](./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. - [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] [Changes][v0.36.0]
@ -364,7 +388,7 @@ aliases:
### Fixes ### Fixes
- [vmagent](./api.md#vmagent): fixes regression with remoteWrite authorization (basicAuth/token). When `UseCustomConfigReloader` option was set, operator incorrectly rendered mounts for `vmagent` container. <https://github.com/VictoriaMetrics/operator/commit/f2b8cf701a33f91cef19848c857fd6efb7db59dd> - [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. <https://github.com/VictoriaMetrics/operator/commit/f2b8cf701a33f91cef19848c857fd6efb7db59dd>
[Changes][v0.35.1] [Changes][v0.35.1]
@ -374,19 +398,19 @@ aliases:
### Fixes ### 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) - [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](./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) - [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](./api.md#vmuser): remove rate limit on delete. In <https://github.com/VictoriaMetrics/operator/pull/672>. Thanks [@Haleygo](https://github.com/Haleygo) - [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): remove rate limit on delete. In <https://github.com/VictoriaMetrics/operator/pull/672>. 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) - [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 <https://github.com/VictoriaMetrics/operator/pull/681>. Thanks [@Haleygo](https://github.com/Haleygo) - Correctly publish multi-arch release at <https://github.com/VictoriaMetrics/operator/pull/681>. Thanks [@Haleygo](https://github.com/Haleygo)
### Features ### 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) - [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](./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) - [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](./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) - [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 <https://github.com/VictoriaMetrics/operator/pull/668> - add more generators Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/668>
- [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] [Changes][v0.35.0]
@ -396,9 +420,9 @@ aliases:
### Fixes ### 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 - [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](./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. - [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](./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. - [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] [Changes][v0.34.1]
@ -412,18 +436,18 @@ aliases:
### Fixes ### Fixes
- [vmnodescrape](./api.md#vmnodescrape): fixed selectors for Exists and NotExists operators with empty label Thanks [@Amper](https://github.com/Amper) in <https://github.com/VictoriaMetrics/operator/pull/646> - [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 <https://github.com/VictoriaMetrics/operator/pull/646>
- [vmrule](./api.md#vmrule): Add config for vmrule in validating webhook Thanks in <https://github.com/VictoriaMetrics/operator/pull/650> - [vmrule](https://docs.victoriametrics.com/operator/api#vmrule): Add config for vmrule in validating webhook Thanks in <https://github.com/VictoriaMetrics/operator/pull/650>
- [vmagent](./api.md#vmagent): skips misconfigured objects with missed secret references: <https://github.com/VictoriaMetrics/operator/issues/648> - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): skips misconfigured objects with missed secret references: <https://github.com/VictoriaMetrics/operator/issues/648>
- [vmagent](./api.md#vmagent): correctly renders initContainer for configuration download: <https://github.com/VictoriaMetrics/operator/issues/649> - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): correctly renders initContainer for configuration download: <https://github.com/VictoriaMetrics/operator/issues/649>
### Features ### Features
- [vmalertmanager](./api.md#vmalertmanager): Bump alertmanager to v0.25.0 Thanks [@tamcore](https://github.com/tamcore) in <https://github.com/VictoriaMetrics/operator/pull/636> - [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): Bump alertmanager to v0.25.0 Thanks [@tamcore](https://github.com/tamcore) in <https://github.com/VictoriaMetrics/operator/pull/636>
- [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 <https://github.com/VictoriaMetrics/operator/pull/639> - [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 <https://github.com/VictoriaMetrics/operator/pull/639>
- [vmrule](./api.md#vmrule): add notifierHeader field in vmrule spec Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/622> - [vmrule](https://docs.victoriametrics.com/operator/api#vmrule): add notifierHeader field in vmrule spec Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/622>
- [vmpodscrape](./api.md#vmpodscrape): adds FilterRunning option as prometheus does in <https://github.com/VictoriaMetrics/operator/pull/640> - [vmpodscrape](https://docs.victoriametrics.com/operator/api#vmpodscrape): adds FilterRunning option as prometheus does in <https://github.com/VictoriaMetrics/operator/pull/640>
- [vmauth](./api.md#vmauth): adds latest features in <https://github.com/VictoriaMetrics/operator/pull/642> - [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): adds latest features in <https://github.com/VictoriaMetrics/operator/pull/642>
[Changes][v0.34.0] [Changes][v0.34.0]
@ -433,22 +457,22 @@ aliases:
### Fixes ### Fixes
- [vmalert](./api.md#vmalert): skip bad rules and improve logging for rules exceed max configmap size <https://github.com/VictoriaMetrics/operator/commit/bb754d5c20bb371a197cd6ff5afac1ba86a4d92b> - [vmalert](https://docs.victoriametrics.com/operator/api#vmalert): skip bad rules and improve logging for rules exceed max configmap size <https://github.com/VictoriaMetrics/operator/commit/bb754d5c20bb371a197cd6ff5afac1ba86a4d92b>
- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): fixed error with headers in VMAlertmanagerConfig.Receivers.EmailConfigs.Headers unmarshalling. Thanks [@Amper](https://github.com/Amper) in <https://github.com/VictoriaMetrics/operator/pull/610> - [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 <https://github.com/VictoriaMetrics/operator/pull/610>
- [vmagent](./api.md#vmagent): fixed keepInput setting for streaming aggregation. Thanks [@Amper](https://github.com/Amper) in <https://github.com/VictoriaMetrics/operator/pull/618> - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): fixed keepInput setting for streaming aggregation. Thanks [@Amper](https://github.com/Amper) in <https://github.com/VictoriaMetrics/operator/pull/618>
- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): fix webhook config maxAlerts not work. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/625> - [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): fix webhook config maxAlerts not work. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/625>
- [vmagent](./api.md#vmagent): Remove single quotes from remote write headers. Thanks [@axelsccp](https://github.com/axelsccp) in <https://github.com/VictoriaMetrics/operator/pull/613> - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): Remove single quotes from remote write headers. Thanks [@axelsccp](https://github.com/axelsccp) in <https://github.com/VictoriaMetrics/operator/pull/613>
- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): fix parse route error and some comments. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/630> - [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): fix parse route error and some comments. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/630>
- [vmuser](./api.md#vmuser): properly removes finalizers for objects <https://github.com/VictoriaMetrics/operator/commit/8f10113920a353f21fbcc8637076905f2e57bb34> - [vmuser](https://docs.victoriametrics.com/operator/api#vmuser): properly removes finalizers for objects <https://github.com/VictoriaMetrics/operator/commit/8f10113920a353f21fbcc8637076905f2e57bb34>
### Features ### Features
- [vmalertmanager](./api.md#vmalertmanager): add option to disable route continue enforce. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/621> - [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): add option to disable route continue enforce. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/621>
- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): support set require_tls to false. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/624> - [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): support set require_tls to false. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/624>
- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): add sanity check. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/627> - [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): add sanity check. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/627>
- Makefile: bump Alpine base image to latest v3.17.3. Thanks [@denisgolius](https://github.com/denisgolius) in <https://github.com/VictoriaMetrics/operator/pull/628> - Makefile: bump Alpine base image to latest v3.17.3. Thanks [@denisgolius](https://github.com/denisgolius) in <https://github.com/VictoriaMetrics/operator/pull/628>
- [vmalertmanagerconfig](./api.md#vmalertmanagerconfig): support sound field in pushover config. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/631> - [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig): support sound field in pushover config. Thanks [@Haleygo](https://github.com/Haleygo) in <https://github.com/VictoriaMetrics/operator/pull/631>
- [vmagent](./api.md#vmagent)/[vmauth](./api.md#vmauth): download initial config with initContainer <https://github.com/VictoriaMetrics/operator/commit/612e7c8f40659731e7938ef9556eb088c67eb4b7> - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent)/[vmauth](https://docs.victoriametrics.com/operator/api#vmauth): download initial config with initContainer <https://github.com/VictoriaMetrics/operator/commit/612e7c8f40659731e7938ef9556eb088c67eb4b7>
[Changes][v0.33.0] [Changes][v0.33.0]
@ -459,7 +483,7 @@ aliases:
### Fixes ### Fixes
- config: fixes typo at default vm apps version <https://github.com/VictoriaMetrics/operator/issues/608> - config: fixes typo at default vm apps version <https://github.com/VictoriaMetrics/operator/issues/608>
- [vmsingle](./api.md#vmsingle): conditionally adds stream aggregation config <https://github.com/VictoriaMetrics/operator/commit/4a0ca54113afcde439ca4c77e22d3ef1c0d36241> - [vmsingle](https://docs.victoriametrics.com/operator/api#vmsingle): conditionally adds stream aggregation config <https://github.com/VictoriaMetrics/operator/commit/4a0ca54113afcde439ca4c77e22d3ef1c0d36241>
[Changes][v0.32.1] [Changes][v0.32.1]
@ -473,10 +497,10 @@ aliases:
### Features ### Features
- [vmauth](./api.md#vmauth): automatically configures `proxy-protocol` client and `reloadAuthKey` for `config-reloader` container. <https://github.com/VictoriaMetrics/operator/commit/611819233bf595a4dbd04b07d7be24b7e994379c> - [vmauth](https://docs.victoriametrics.com/operator/api#vmauth): automatically configures `proxy-protocol` client and `reloadAuthKey` for `config-reloader` container. <https://github.com/VictoriaMetrics/operator/commit/611819233bf595a4dbd04b07d7be24b7e994379c>
- [vmagent](./api.md#vmagent): adds `scrapeTimeout` global configuration for `VMAgent` <https://github.com/VictoriaMetrics/operator/commit/d1d5024c6befa0961f8d56c82a0554935a4b1878> - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): adds `scrapeTimeout` global configuration for `VMAgent` <https://github.com/VictoriaMetrics/operator/commit/d1d5024c6befa0961f8d56c82a0554935a4b1878>
- [vmagent](./api.md#vmagent): adds [streaming aggregation](https://docs.victoriametrics.com/stream-aggregation.html) for `remoteWrite` targets <https://github.com/VictoriaMetrics/operator/commit/b8baa6c2b72bdda64ebfcc9c3d86d846cd9b3c98> Thanks [@Amper](https://github.com/Amper) - [vmagent](https://docs.victoriametrics.com/operator/api#vmagent): adds [streaming aggregation](https://docs.victoriametrics.com/stream-aggregation) for `remoteWrite` targets <https://github.com/VictoriaMetrics/operator/commit/b8baa6c2b72bdda64ebfcc9c3d86d846cd9b3c98> 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 <https://github.com/VictoriaMetrics/operator/commit/b8baa6c2b72bdda64ebfcc9c3d86d846cd9b3c98> 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 <https://github.com/VictoriaMetrics/operator/commit/b8baa6c2b72bdda64ebfcc9c3d86d846cd9b3c98> Thanks [@Amper](https://github.com/Amper)
[Changes][v0.32.0] [Changes][v0.32.0]
@ -491,8 +515,8 @@ aliases:
### Features ### Features
- [vmalertmanager](./api.md#vmalertmanager): Add support of vmalertmanager.spec.templates and autoreload dirs for templates and configmaps thanks [@Amper](https://github.com/Amper) <https://github.com/VictoriaMetrics/operator/issues/590> <https://github.com/VictoriaMetrics/operator/issues/592> - [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) <https://github.com/VictoriaMetrics/operator/issues/590> <https://github.com/VictoriaMetrics/operator/issues/592>
- [vmalertmanager](./api.md#vmalertmanager): Add support "%SHARD_NUM%" placeholder for vmagent sts/deployment Thanks [@Amper](https://github.com/Amper) <https://github.com/VictoriaMetrics/operator/issues/508> - [vmalertmanager](https://docs.victoriametrics.com/operator/api#vmalertmanager): Add support "%SHARD_NUM%" placeholder for vmagent sts/deployment Thanks [@Amper](https://github.com/Amper) <https://github.com/VictoriaMetrics/operator/issues/508>
[Changes][v0.31.0] [Changes][v0.31.0]
@ -503,7 +527,7 @@ aliases:
### Fixes ### Fixes
- vmalertmanagerconfig: properly build `name` setting for `mute_time_intervals`. It must be uniq <https://github.com/VictoriaMetrics/operator/commit/4db1c89abd5360a119e68874d51c27872265acb6> - vmalertmanagerconfig: properly build `name` setting for `mute_time_intervals`. It must be uniq <https://github.com/VictoriaMetrics/operator/commit/4db1c89abd5360a119e68874d51c27872265acb6>
- vmcluster: add `dedupMinScrape` only if replicationFactor > 1. It must improve overall cluster perfomance. Thanks [@hagen1778](https://github.com/hagen1778) <https://github.com/VictoriaMetrics/operator/commit/837d6e71c6298e5a44c3f73f85235560aec4ee60> - vmcluster: add `dedupMinScrape` only if replicationFactor > 1. It must improve overall cluster performance. Thanks [@hagen1778](https://github.com/hagen1778) <https://github.com/VictoriaMetrics/operator/commit/837d6e71c6298e5a44c3f73f85235560aec4ee60>
- controllers/vmalert: do not delete annotations from created secret. Thanks [@zoetrope](https://github.com/zoetrope) <https://github.com/VictoriaMetrics/operator/pull/588> - controllers/vmalert: do not delete annotations from created secret. Thanks [@zoetrope](https://github.com/zoetrope) <https://github.com/VictoriaMetrics/operator/pull/588>
### Features ### Features
@ -547,12 +571,12 @@ aliases:
- dependency: upgrade deps for fs-notify <https://github.com/VictoriaMetrics/operator/pull/576> Thanks [@yanggangtony](https://github.com/yanggangtony) - dependency: upgrade deps for fs-notify <https://github.com/VictoriaMetrics/operator/pull/576> Thanks [@yanggangtony](https://github.com/yanggangtony)
- controllers/options: fixes incorrectly used flags at options <https://github.com/VictoriaMetrics/operator/commit/eac040c947ab4821bf6eb0eeae22b9b2d02b938c> - controllers/options: fixes incorrectly used flags at options <https://github.com/VictoriaMetrics/operator/commit/eac040c947ab4821bf6eb0eeae22b9b2d02b938c>
- controllers/self-serviceScrape: prevents matching for auto-created serviceScrapes <https://github.com/VictoriaMetrics/operator/issues/578> - controllers/self-serviceScrape: prevents matching for auto-created serviceScrapes <https://github.com/VictoriaMetrics/operator/issues/578>
- controllers/vmauth: fixes missing ows for serviceScrape <https://github.com/VictoriaMetrics/operator/issues/579> - controllers/vmauth: fixes missing owns for serviceScrape <https://github.com/VictoriaMetrics/operator/issues/579>
### Features ### Features
- adds `/ready` and `/health` api endpoints for probes <https://github.com/VictoriaMetrics/operator/commit/b74d103998547fae5e69966bb68eddd08ae1ac00> - adds `/ready` and `/health` api endpoints for probes <https://github.com/VictoriaMetrics/operator/commit/b74d103998547fae5e69966bb68eddd08ae1ac00>
- controllers/concurrency: introduce new setting for reconcilation concurrency `controller.maxConcurrentReconciles` <https://github.com/VictoriaMetrics/operator/commit/e8bbf9159cd61257d11e515fa77510ab2444a557> <https://github.com/VictoriaMetrics/operator/issues/575> - controllers/concurrency: introduce new setting for reconciliation concurrency `controller.maxConcurrentReconciles` <https://github.com/VictoriaMetrics/operator/commit/e8bbf9159cd61257d11e515fa77510ab2444a557> <https://github.com/VictoriaMetrics/operator/issues/575>
- api/relabelConfig: adds missing `if`, `labels` and `match` actions <https://github.com/VictoriaMetrics/operator/commit/93c9e780981ceb6869ee2953056a9bd3b6e6eae7> - api/relabelConfig: adds missing `if`, `labels` and `match` actions <https://github.com/VictoriaMetrics/operator/commit/93c9e780981ceb6869ee2953056a9bd3b6e6eae7>
[Changes][v0.30.1] [Changes][v0.30.1]
@ -625,7 +649,7 @@ aliases:
### Features ### Features
- podDistruptionBudget: adds configurable selectors <https://github.com/VictoriaMetrics/operator/commit/4f3f5eaf29ad85c6e9b142be5b05ef57b962fcb6> - podDisruptionBudget: adds configurable selectors <https://github.com/VictoriaMetrics/operator/commit/4f3f5eaf29ad85c6e9b142be5b05ef57b962fcb6>
### New Contributors ### New Contributors
@ -790,7 +814,7 @@ aliases:
- security: new alpine image with security fixes <https://github.com/VictoriaMetrics/operator/commit/c991b5f315ebb3176b98f5cb00c64430efa0d9c1> - security: new alpine image with security fixes <https://github.com/VictoriaMetrics/operator/commit/c991b5f315ebb3176b98f5cb00c64430efa0d9c1>
- alertmanager: metrics endpoint when routePrefix is configured <https://github.com/VictoriaMetrics/operator/pull/488> Thanks [@blesswinsamuel](https://github.com/blesswinsamuel) - alertmanager: metrics endpoint when routePrefix is configured <https://github.com/VictoriaMetrics/operator/pull/488> Thanks [@blesswinsamuel](https://github.com/blesswinsamuel)
- alertmanager: Automaticly disable high availability mode for 1 replica in <https://github.com/VictoriaMetrics/operator/pull/495>. Thanks [@hadesy](https://github.com/hadesy) - alertmanager: Automatically disable high availability mode for 1 replica in <https://github.com/VictoriaMetrics/operator/pull/495>. Thanks [@hadesy](https://github.com/hadesy)
- vmalertmanager: fix extraArgs, add two dashes <https://github.com/VictoriaMetrics/operator/pull/503> Thanks [@flokli](https://github.com/flokli) - vmalertmanager: fix extraArgs, add two dashes <https://github.com/VictoriaMetrics/operator/pull/503> Thanks [@flokli](https://github.com/flokli)
- vmcluster: disables selectNode arg passing to vmselect with enabled `HPA`. It should prevent vmselect cascade restarts <https://github.com/VictoriaMetrics/operator/issues/499> - vmcluster: disables selectNode arg passing to vmselect with enabled `HPA`. It should prevent vmselect cascade restarts <https://github.com/VictoriaMetrics/operator/issues/499>
- controllers: changes default rate limiter max delay from 16minutes to 2 minutes. <https://github.com/VictoriaMetrics/operator/issues/500> - controllers: changes default rate limiter max delay from 16minutes to 2 minutes. <https://github.com/VictoriaMetrics/operator/issues/500>
@ -847,7 +871,7 @@ aliases:
- Added `StatefulMode` for `VMAgent` it allows to use `Statefulset` instead of `Deployment` <https://github.com/VictoriaMetrics/operator/issues/219> - Added `StatefulMode` for `VMAgent` it allows to use `Statefulset` instead of `Deployment` <https://github.com/VictoriaMetrics/operator/issues/219>
- Added `Validation Webhook` for `VMRule`, it allows check errors at rules <https://github.com/VictoriaMetrics/operator/issues/471> - Added `Validation Webhook` for `VMRule`, it allows check errors at rules <https://github.com/VictoriaMetrics/operator/issues/471>
- 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` <https://github.com/VictoriaMetrics/operator/commit/b941a42fb6fdfd8ea99ff190e822cb9314efb9d0> <https://github.com/VictoriaMetrics/operator/commit/b3c7286e7dc737c46c4d33aa203c0b598a5ef187> - 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` <https://github.com/VictoriaMetrics/operator/commit/b941a42fb6fdfd8ea99ff190e822cb9314efb9d0> <https://github.com/VictoriaMetrics/operator/commit/b3c7286e7dc737c46c4d33aa203c0b598a5ef187>
- Adds rate limiting for `VMAgent` and `VMAlert` reconcilation <https://github.com/VictoriaMetrics/operator/commit/dfb6a14e1193089ba5ab112e0acf4e459aba68b4> - Adds rate limiting for `VMAgent` and `VMAlert` reconciliation <https://github.com/VictoriaMetrics/operator/commit/dfb6a14e1193089ba5ab112e0acf4e459aba68b4>
### New Contributors ### New Contributors
@ -865,7 +889,7 @@ aliases:
- Finalizers at UrlRelabelConfig and additionalScrapeConfigs <https://github.com/VictoriaMetrics/operator/issues/442> - Finalizers at UrlRelabelConfig and additionalScrapeConfigs <https://github.com/VictoriaMetrics/operator/issues/442>
- vmagent config update after scrape objects secret data changes <https://github.com/VictoriaMetrics/operator/issues/443> - vmagent config update after scrape objects secret data changes <https://github.com/VictoriaMetrics/operator/issues/443>
- Log typos <https://github.com/VictoriaMetrics/operator/issues/459> - Log typos <https://github.com/VictoriaMetrics/operator/issues/459>
- Correctly renders `opsgenia_config` for `VMAlertmanagerConfig` <https://github.com/VictoriaMetrics/operator/commit/9128b7f24d5d6d98dcf7abc6f212d57cd39b0e7d> thanks [@iyuroch](https://github.com/iyuroch) - Correctly renders `opsgenie_config` for `VMAlertmanagerConfig` <https://github.com/VictoriaMetrics/operator/commit/9128b7f24d5d6d98dcf7abc6f212d57cd39b0e7d> thanks [@iyuroch](https://github.com/iyuroch)
- Updates basic image with CVE fix <https://github.com/VictoriaMetrics/operator/commit/f4a9e530be6d5ebd6e450085ec807117b05e80a8> - Updates basic image with CVE fix <https://github.com/VictoriaMetrics/operator/commit/f4a9e530be6d5ebd6e450085ec807117b05e80a8>
- Adds missing finalizer for `VMSingle` deployment <https://github.com/VictoriaMetrics/operator/commit/06dada488d629d4d321985e80d14ee04e099bdfd> thanks [@lujiajing1126](https://github.com/lujiajing1126) - Adds missing finalizer for `VMSingle` deployment <https://github.com/VictoriaMetrics/operator/commit/06dada488d629d4d321985e80d14ee04e099bdfd> thanks [@lujiajing1126](https://github.com/lujiajing1126)
- `pager_duty` generation for `VMAlertmanagerConfig` <https://github.com/VictoriaMetrics/operator/pull/439/files> thanks [@okzheng](https://github.com/okzheng) - `pager_duty` generation for `VMAlertmanagerConfig` <https://github.com/VictoriaMetrics/operator/pull/439/files> thanks [@okzheng](https://github.com/okzheng)
@ -952,7 +976,7 @@ aliases:
### Features ### Features
- bumps VictoriaMetrics appllications versions to the v1.72.0 <https://github.com/VictoriaMetrics/operator/commit/de289af8af8472e5299fc6ff6e99749b58012edd> - bumps VictoriaMetrics applications versions to the v1.72.0 <https://github.com/VictoriaMetrics/operator/commit/de289af8af8472e5299fc6ff6e99749b58012edd>
[Changes][v0.22.1] [Changes][v0.22.1]
@ -993,7 +1017,7 @@ aliases:
- Adds alertmanager service scrape auto generation <https://github.com/VictoriaMetrics/operator/issues/385> thanks [@FRosner](https://github.com/FRosner) - Adds alertmanager service scrape auto generation <https://github.com/VictoriaMetrics/operator/issues/385> thanks [@FRosner](https://github.com/FRosner)
- Auto-add routing for vminsert and vmselect CRD components for `VMUser` <https://github.com/VictoriaMetrics/operator/issues/379> - Auto-add routing for vminsert and vmselect CRD components for `VMUser` <https://github.com/VictoriaMetrics/operator/issues/379>
- Updates docs for `VMAuth`<https://github.com/VictoriaMetrics/operator/blob/master/docs/auth.md> - Updates docs for [VMAuth](https://docs.victoriametrics.com/vmauth)
- Allows changing default disk space usage for `VMAgent` <https://github.com/VictoriaMetrics/operator/pull/381> thanks [@arctan90](https://github.com/arctan90) - Allows changing default disk space usage for `VMAgent` <https://github.com/VictoriaMetrics/operator/pull/381> thanks [@arctan90](https://github.com/arctan90)
- Adds Arch labels for clusterversion template <https://github.com/VictoriaMetrics/operator/commit/9e89c3b2459fb85faa8e973fa1f1558d924000f3> thanks [@yselkowitz](https://github.com/yselkowitz) - Adds Arch labels for clusterversion template <https://github.com/VictoriaMetrics/operator/commit/9e89c3b2459fb85faa8e973fa1f1558d924000f3> thanks [@yselkowitz](https://github.com/yselkowitz)
- improves docs and fixes typos <https://github.com/VictoriaMetrics/operator/commit/ae248dcb352a092d9f9caee87454b1ad25650a4c> thanks [@flokli](https://github.com/flokli) - improves docs and fixes typos <https://github.com/VictoriaMetrics/operator/commit/ae248dcb352a092d9f9caee87454b1ad25650a4c> thanks [@flokli](https://github.com/flokli)
@ -1038,7 +1062,7 @@ aliases:
### Breaking changes ### Breaking changes
- **changes default behavior for CR selectors, such serviceScrapeSelector at vmagent.spec. Now it select all targets if is missing <https://github.com/VictoriaMetrics/operator/commit/519e89b457576099288af2ea135878f6da25b567> See more at docs <https://github.com/VictoriaMetrics/operator/blob/master/docs/quick-start.md#object-selectors>** - **changes default behavior for CR selectors, such serviceScrapeSelector at vmagent.spec. Now it select all targets if is missing <https://github.com/VictoriaMetrics/operator/commit/519e89b457576099288af2ea135878f6da25b567> 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 <https://github.com/VictoriaMetrics/operator/issues/354> thanks [@flokli](https://github.com/flokli)** - **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 <https://github.com/VictoriaMetrics/operator/issues/354> thanks [@flokli](https://github.com/flokli)**
### Features ### Features
@ -1063,7 +1087,7 @@ aliases:
### Fixes ### Fixes
- Regression at `VMStaticScrape` - basic auth was incorrectly handled <https://github.com/VictoriaMetrics/operator/issues/337> - Regression at `VMStaticScrape` - basic auth was incorrectly handled <https://github.com/VictoriaMetrics/operator/issues/337>
- Convesion from `PodMonitor` to `VMPodScrape` <https://github.com/VictoriaMetrics/operator/issues/335> - Conversion from `PodMonitor` to `VMPodScrape` <https://github.com/VictoriaMetrics/operator/issues/335>
[Changes][v0.19.1] [Changes][v0.19.1]
@ -1121,7 +1145,7 @@ aliases:
- Major API update for `VMServiceScrape`, `VMPodScrape`, `VMProbe`, `VMStaticScrape` and `VMNodeScrape`: - Major API update for `VMServiceScrape`, `VMPodScrape`, `VMProbe`, `VMStaticScrape` and `VMNodeScrape`:
- adds missing config params (sampleLimit and etc) - adds missing config params (sampleLimit and etc)
- Adds new config options `vm_scrape_params` <https://github.com/VictoriaMetrics/operator/issues/303> - Adds new config options `vm_scrape_params` <https://github.com/VictoriaMetrics/operator/issues/303>
- Adds proxyAuth, that allows to authenticate proxy requests <https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy> - Adds proxyAuth, that allows to authenticate [proxy requests](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy
- Adds OAuth2 support. - Adds OAuth2 support.
- Adds `apiextensions.k8s.io/v1` `CRD` generation, `v1beta1` is now legacy <https://github.com/VictoriaMetrics/operator/issues/291> - Adds `apiextensions.k8s.io/v1` `CRD` generation, `v1beta1` is now legacy <https://github.com/VictoriaMetrics/operator/issues/291>
- Adds new `CRD` `VMAlertmanagerConfig`, it supports only v0.22 `alertmanager` version or above <https://github.com/VictoriaMetrics/operator/issues/188> - Adds new `CRD` `VMAlertmanagerConfig`, it supports only v0.22 `alertmanager` version or above <https://github.com/VictoriaMetrics/operator/issues/188>
@ -1353,7 +1377,7 @@ aliases:
### Fixes ### Fixes
- Fixes `VMAlert` `rule` arg - it was unproperly escaped <https://github.com/VictoriaMetrics/operator/commit/870f258b324dbaec1e3d0d8739ff2feffc27bf0a> - Fixes `VMAlert` `rule` arg - it was improperly escaped <https://github.com/VictoriaMetrics/operator/commit/870f258b324dbaec1e3d0d8739ff2feffc27bf0a>
- Fixes `VMProbes`, now it supports relabeling for static targets <https://github.com/VictoriaMetrics/operator/commit/b4db7d5128a22d4979d7284e15576322acbc9b4c> - Fixes `VMProbes`, now it supports relabeling for static targets <https://github.com/VictoriaMetrics/operator/commit/b4db7d5128a22d4979d7284e15576322acbc9b4c>
- Fixes `VMStaticScrape` - adds `honorLabels` and `honorTimestamps` setting to CRD - Fixes `VMStaticScrape` - adds `honorLabels` and `honorTimestamps` setting to CRD
@ -1385,7 +1409,7 @@ aliases:
### Features ### 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. <https://github.com/VictoriaMetrics/operator/issues/159> <https://github.com/VictoriaMetrics/operator/pull/189> - Added finalizers to objects created by operator. It must fix an issue with resource deletion by controller manager. Note, it requires additional rbac access. <https://github.com/VictoriaMetrics/operator/issues/159> <https://github.com/VictoriaMetrics/operator/pull/189>
- Added new resouce for static targets scrapping - `VMStaticScrape` <https://github.com/VictoriaMetrics/operator/issues/155> - Added new resource for static targets scrapping - `VMStaticScrape` <https://github.com/VictoriaMetrics/operator/issues/155>
- Added `unlimited` param for default resources - <https://github.com/VictoriaMetrics/operator/issues/181> - Added `unlimited` param for default resources - <https://github.com/VictoriaMetrics/operator/issues/181>
- Added clusterVersion spec to `VMCluster` it should simplify management <https://github.com/VictoriaMetrics/operator/issues/176> - Added clusterVersion spec to `VMCluster` it should simplify management <https://github.com/VictoriaMetrics/operator/issues/176>
@ -1470,7 +1494,7 @@ aliases:
### Fixes ### Fixes
- serverName for tlsConfig <https://github.com/VictoriaMetrics/operator/issues/144> - serverName for tlsConfig <https://github.com/VictoriaMetrics/operator/issues/144>
- minScrapeInterval for vmstorage <https://github.com/VictoriaMetrics/operator/pull/143> Thansk [@umezawatakeshi](https://github.com/umezawatakeshi) - minScrapeInterval for vmstorage <https://github.com/VictoriaMetrics/operator/pull/143> Thanks [@umezawatakeshi](https://github.com/umezawatakeshi)
[Changes][v0.7.2] [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. <https://github.com/VictoriaMetrics/operator/issues/109> - PodSecurityPolicy automatically created for each object, with own ServiceAccount, ClusterRole and ClusterRoleBinding. Its possible to use custom PSP. <https://github.com/VictoriaMetrics/operator/issues/109>
- Adds `VMAgent` rbac auto-creation. - 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, <https://github.com/VictoriaMetrics/operator/pull/105> thanks [@teqwve](https://github.com/teqwve) . - Adds `ownerReferences` for converted resources from `Prometheus-operator` CRDs, <https://github.com/VictoriaMetrics/operator/pull/105> thanks [@teqwve](https://github.com/teqwve) .
- Adds `runtimeClassName`, `schedulerName` for all VictoriaMetrics applications. - Adds `runtimeClassName`, `schedulerName` for all VictoriaMetrics applications.
- Adds `topologySpreadConstraints` for all VictoriaMetrics applications. <https://github.com/VictoriaMetrics/operator/issues/107>. - Adds `topologySpreadConstraints` for all VictoriaMetrics applications. <https://github.com/VictoriaMetrics/operator/issues/107>.
@ -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.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.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 [v0.0.1]: https://github.com/VictoriaMetrics/operator/tree/v0.0.1

View File

@ -1,5 +1,4 @@
--- ---
sort: 9
weight: 9 weight: 9
title: FAQ title: FAQ
menu: menu:
@ -8,15 +7,12 @@ menu:
weight: 9 weight: 9
identifier: "operator-faq" identifier: "operator-faq"
aliases: aliases:
- /operator/FAQ.html - /operator/faq/
- /operator/faq.html - /operator/faq/index.html
--- ---
# FAQ (Frequency Asked Questions)
## How do you monitor the operator itself? ## 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 ## How to change VMStorage PVC storage class
@ -39,51 +35,51 @@ With Operator deployment:
You can use `VM_CONTAINERREGISTRY` parameter for operator: You can use `VM_CONTAINERREGISTRY` parameter for operator:
- See details about tuning [operator settings here](./setup.md#settings). - See details about tuning [operator settings here](https://docs.victoriametrics.com/operator/setup#settings).
- See [available operator settings](./vars.md) here. - See [available operator settings](https://docs.victoriametrics.com/operator/vars) here.
## How to set up automatic backups? ## How to set up automatic backups?
You can read about backups: You can read about backups:
- for `VMSingle`: [Backup automation](./resources/vmsingle.md#backup-automation) - for `VMSingle`: [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle#backup-automation)
- for `VMCluster`: [Backup automation](./resources/vmcluster.md#backup-automation) - for `VMCluster`: [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster#backup-automation)
## How to migrate from Prometheus-operator to VictoriaMetrics operator? ## 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 ## 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 ## 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: You can read about it in following sections of "Migration from prometheus-operator" docs:
- [Deletion synchronization](./migration.md#deletion-synchronization) - [Deletion synchronization](https://docs.victoriametrics.com/operator/migration#deletion-synchronization)
- [Update synchronization](./migration.md#update-synchronization) - [Update synchronization](https://docs.victoriametrics.com/operator/migration#update-synchronization)
- [Labels synchronization](./migration.md#labels-synchronization) - [Labels synchronization](https://docs.victoriametrics.com/operator/migration#labels-synchronization)
## What permissions does an operator need to run in a cluster? ## 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? ## 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) 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. - that's where we describe default version of VictoriaMetrics components.
## How to run VictoriaMetrics operator with permissions for one namespace only? ## 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? ## 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? ## What versions of Kubernetes is the operator compatible with?

View File

@ -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. 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 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) 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. and [IaC](https://en.wikipedia.org/wiki/Infrastructure_as_code) concepts.
VictoriaMetrics also provides [helm charts](https://github.com/VictoriaMetrics/helm-charts) without operator. 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 ## 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...) - 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) - 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](./resources/README.md). - 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. - 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. - 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. - 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: The basic workflow of working with the operator can be simplified as the following diagram:
<img src="README_operator-workflow.png" width="1200"> ![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)). - 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. - 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. - 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`). - 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 ### 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) If you have any questions, check out our [FAQ](https://docs.victoriametrics.com/operator/faq/)
- [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)
and feel free to can ask them: and feel free to can ask them:
- [VictoriaMetrics Slack](https://victoriametrics.slack.com/) - [VictoriaMetrics Slack](https://victoriametrics.slack.com/)
- [VictoriaMetrics Telegram](https://t.me/VictoriaMetrics_en) - [VictoriaMetrics Telegram](https://t.me/VictoriaMetrics_en)

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

View File

@ -1,6 +1,12 @@
--- ---
sort: 0
weight: 0 weight: 0
title: VictoriaMetrics Operator title: Operator
menu:
docs:
weight: 0
identifier: operator
aliases:
- /operator/
- /operator/index.html
--- ---
{{% content "README.md" %}} {{% content "README.md" %}}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
--- ---
sort: 7
weight: 7 weight: 7
title: Authorization and exposing components title: Authorization and exposing components
menu: menu:
@ -7,19 +6,17 @@ menu:
parent: "operator" parent: "operator"
weight: 7 weight: 7
aliases: aliases:
- /operator/auth.html - /operator/auth/
- /operator/auth/index.html
--- ---
# Authorization and exposing components
## Exposing components ## Exposing components
CRD objects doesn't have `ingress` configuration. 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. 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: 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 ## 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -184,8 +181,8 @@ type: Opaque
You can expose some routes without authorization with `unauthorizedAccessConfig`. 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: More details about features of `VMAuth` and `VMUser` you can read in:
- [VMAuth docs](./resources/vmauth.md), - [VMAuth docs](https://docs.victoriametrics.com/operator/resources/vmauth/),
- [VMUser docs](./resources/vmuser.md). - [VMUser docs](https://docs.victoriametrics.com/operator/resources/vmuser/).

View File

@ -1,5 +1,4 @@
--- ---
sort: 4
weight: 4 weight: 4
title: Configuration title: Configuration
menu: menu:
@ -7,13 +6,11 @@ menu:
parent: "operator" parent: "operator"
weight: 4 weight: 4
aliases: aliases:
- /operator/configuration.html - /operator/configuration/
- /operator/configuration/index.html
--- ---
# Configuration
Operator configured by env variables, list of it can be found 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. 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 ## 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 ## 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). 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. ENV variables can be set in the `victoria-metrics-operator.env` section.
```yaml ```yaml
@ -100,7 +97,7 @@ victoria-metrics-operator:
# It should reduce vmagent and vmauth config sync-time and make it predictable. # It should reduce vmagent and vmauth config sync-time and make it predictable.
useCustomConfigReloader: false 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: env:
# -- default version for vmsingle # -- default version for vmsingle
- name: VM_VMSINGLEDEFAULT_VERSION - 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). 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. ENV variables can be set in the `env` section.
```yaml ```yaml
@ -167,7 +164,7 @@ operator:
# It should reduce vmagent and vmauth config sync-time and make it predictable. # It should reduce vmagent and vmauth config sync-time and make it predictable.
useCustomConfigReloader: false 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: env:
# -- default version for vmsingle # -- default version for vmsingle
- name: VM_VMSINGLEDEFAULT_VERSION - 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 ## 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. object for each component that it manages.
You can disable this behaviour with `VM_DISABLESELFSERVICESCRAPECREATION` environment variable: You can disable this behaviour with `VM_DISABLESELFSERVICESCRAPECREATION` environment variable:
@ -266,4 +263,4 @@ kustomize build config/deployments/webhook/
### Useful links ### 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/)

View File

@ -1,5 +1,4 @@
--- ---
sort: 13
weight: 13 weight: 13
title: Enterprise features title: Enterprise features
menu: menu:
@ -7,39 +6,37 @@ menu:
parent: "operator" parent: "operator"
weight: 13 weight: 13
aliases: 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 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): - [VMAgent Enterprise features](https://docs.victoriametrics.com/operator/resources/vmagent/#enterprise-features):
- [Reading metrics from kafka](./resources/vmagent.md#reading-metrics-from-kafka) - [Reading metrics from kafka](https://docs.victoriametrics.com/operator/resources/vmagent/#reading-metrics-from-kafka)
- [Writing metrics to kafka](./resources/vmagent.md#writing-metrics-to-kafka) - [Writing metrics to kafka](https://docs.victoriametrics.com/operator/resources/vmagent/#writing-metrics-to-kafka)
- [VMAlert Enterprise features](./resources/vmalert.md#enterprise-features): - [VMAlert Enterprise features](https://docs.victoriametrics.com/operator/resources/vmalert/#enterprise-features):
- [Reading rules from object storage](./resources/vmalert.md#reading-rules-from-object-storage) - [Reading rules from object storage](https://docs.victoriametrics.com/operator/resources/vmalert/#reading-rules-from-object-storage)
- [Multitenancy](./resources/vmalert.md#multitenancy) - [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmalert/#multitenancy)
- [VMAuth Enterprise features](./resources/vmauth.md#enterprise-features) - [VMAuth Enterprise features](https://docs.victoriametrics.com/operator/resources/vmauth/#enterprise-features)
- [IP Filters](./resources/vmauth.md#ip-filters) - [IP Filters](https://docs.victoriametrics.com/operator/resources/vmauth/#ip-filters)
- [VMCluster Enterprise features](./resources/vmcluster.md#enterprise-features) - [VMCluster Enterprise features](https://docs.victoriametrics.com/operator/resources/vmcluster/#enterprise-features)
- [Downsampling](./resources/vmcluster.md#downsampling) - [Downsampling](https://docs.victoriametrics.com/operator/resources/vmcluster/#downsampling)
- [Multiple retentions / Retention filters](./resources/vmcluster.md#retention-filters) - [Multiple retentions / Retention filters](https://docs.victoriametrics.com/operator/resources/vmcluster/#retention-filters)
- [Advanced per-tenant statistic](./resources/vmcluster.md#advanced-per-tenant-statistic) - [Advanced per-tenant statistic](https://docs.victoriametrics.com/operator/resources/vmcluster/#advanced-per-tenant-statistic)
- [mTLS protection](./resources/vmcluster.md#mtls-protection) - [mTLS protection](https://docs.victoriametrics.com/operator/resources/vmcluster/#mtls-protection)
- [Backup atomation](./resources/vmcluster.md#backup-atomation) - [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster/#backup-automation)
- [VMRule Enterprise features](./resources/vmrule.md#enterprise-features) - [VMRule Enterprise features](https://docs.victoriametrics.com/operator/resources/vmrule/#enterprise-features)
- [Multitenancy](./resources/vmrule.md#multitenancy) - [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmrule/#multitenancy)
- [VMSingle Enterprise features](./resources/vmsingle.md#enterprise-features) - [VMSingle Enterprise features](https://docs.victoriametrics.com/operator/resources/vmsingle/#enterprise-features)
- [Downsampling](./resources/vmsingle.md#downsampling) - [Downsampling](https://docs.victoriametrics.com/operator/resources/vmsingle/#downsampling)
- [Retention filters](./resources/vmsingle.md#retention-filters) - [Retention filters](https://docs.victoriametrics.com/operator/resources/vmsingle/#retention-filters)
- [Backup atomation](./resources/vmsingle.md#backup-atomation) - [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle/#backup-automation)
- [VMUser Enterprise features](./resources/vmuser.md#enterprise-features) - [VMUser Enterprise features](https://docs.victoriametrics.com/operator/resources/vmuser/#enterprise-features)
- [IP Filters](./resources/vmuser.md#ip-filters) - [IP Filters](https://docs.victoriametrics.com/operator/resources/vmuser/#ip-filters)
More information about enterprise features you can read 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, 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.

View File

@ -1,5 +1,4 @@
--- ---
sort: 8
weight: 8 weight: 8
title: High Availability title: High Availability
menu: menu:
@ -7,11 +6,9 @@ menu:
parent: "operator" parent: "operator"
weight: 8 weight: 8
aliases: 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. 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. 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: VictoriaMetrics operator support high availability for each component of the monitoring stack:
- [VMAgent](./resources/vmagent.md#high-availability) - [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent/#high-availability)
- [VMAlert](./resources/vmalert.md#high-availability) - [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert/#high-availability)
- [VMAlertmanager](./resources/vmalertmanager.md#high-availability) - [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager/#high-availability)
- [VMAuth](./resources/vmauth.md#high-availability) - [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth/#high-availability)
- [VMCluster](./resources/vmcluster.md#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 ## Operator
VictoriaMetrics operator can be safely scaled horizontally, but only one replica of the operator can 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. 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 - 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. 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. distributed among the available operator replicas.
In addition, you can safely use for operator such features 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), [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...) [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/).

View File

@ -1,5 +1,4 @@
--- ---
sort: 5
weight: 5 weight: 5
title: Migration from Prometheus title: Migration from Prometheus
menu: menu:
@ -7,11 +6,9 @@ menu:
parent: "operator" parent: "operator"
weight: 5 weight: 5
aliases: 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). 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. 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: Or you can use VictoriaMetrics CRDs:
- `VMServiceScrape` (instead of `ServiceMonitor`) - defines scraping metrics configuration from pods backed by services. [See details](./resources/vmservicescrape.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](./resources/vmpodscrape.md). - `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](./resources/vmrule.md). - `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](./resources/vmprobe.md). - `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](./resources/vmalertmanagerconfig.md). - `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. - `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, 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. Otherwise, VictoriaMetrics Operator would try to discover prometheus-operator API and convert it.
<img src="migration_prometheus-conversion.png" width="1200"> ![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 ## Deletion synchronization
By default, the operator doesn't make converted objects disappear after original ones are deleted. To change this behaviour 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 ```sh
VM_ENABLEDPROMETHEUSCONVERTEROWNERREFERENCES=true VM_ENABLEDPROMETHEUSCONVERTEROWNERREFERENCES=true
@ -127,15 +124,15 @@ spec:
Annotation `operator.victoriametrics.com/ignore-prometheus-updates` can be set on one of the resources: Annotation `operator.victoriametrics.com/ignore-prometheus-updates` can be set on one of the resources:
- [VMServiceScrape](./resources/vmservicescrape.md) - [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape)
- [VMPodScrape](./resources/vmpodscrape.md) - [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape)
- [VMRule](./resources/vmrule.md) - [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule)
- [VMProbe](./resources/vmprobe.md) - [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe)
- [VMAlertmanagerConfig](./resources/vmalertmanagerconfig.md) - [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig)
- [VMScrapeConfig](./resources/vmscrapeconfig.md) - [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig)
And annotation doesn't make sense for [VMStaticScrape](./resources/vmstaticscrape.md) And annotation doesn't make sense for [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape)
and [VMNodeScrape](./resources/vmnodescrape.md) because these objects are not created as a result of conversion. and [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) because these objects are not created as a result of conversion.
## Labels and annotations synchronization ## Labels and annotations synchronization
@ -168,18 +165,18 @@ spec:
Annotation `operator.victoriametrics.com/merge-meta-strategy` can be set on one of the resources: Annotation `operator.victoriametrics.com/merge-meta-strategy` can be set on one of the resources:
- [VMServiceScrape](./resources/vmservicescrape.md) - [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape)
- [VMPodScrape](./resources/vmpodscrape.md) - [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape)
- [VMRule](./resources/vmrule.md) - [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule)
- [VMProbe](./resources/vmprobe.md) - [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe)
- [VMAlertmanagerConfig](./resources/vmalertmanagerconfig.md) - [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig)
- [VMScrapeConfig](./resources/vmscrapeconfig.md) - [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig)
And annotation doesn't make sense for [VMStaticScrape](./resources/vmstaticscrape.md) And annotation doesn't make sense for [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape)
and [VMNodeScrape](./resources/vmnodescrape.md) because these objects are not created as a result of conversion. 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 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 ```sh
# it excludes all labels that start with "helm.sh" or "argoproj.io" from synchronization # 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 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 ```sh
# it excludes all annotations that start with "helm.sh" or "argoproj.io" from synchronization # 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 ## Using converter with ArgoCD
If you use ArgoCD, you can allow ignoring objects at ArgoCD converted from Prometheus CRD 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: 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 ## 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 ## 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). 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: Check out more information about:
- [VMAgent](./resources/vmagent.md) - [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent)
- [VMServiceScrape](./resources/vmservicescrape.md) - [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape)
- [Relabeling](https://docs.victoriametrics.com/vmagent/#relabeling) - [Relabeling](https://docs.victoriametrics.com/vmagent#relabeling)

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -1,5 +1,4 @@
--- ---
sort: 6
weight: 6 weight: 6
title: Monitoring title: Monitoring
menu: menu:
@ -7,20 +6,18 @@ menu:
parent: "operator" parent: "operator"
weight: 6 weight: 6
aliases: 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. 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 ## Dashboard
Official Grafana dashboard available for [vmoperator](https://grafana.com/grafana/dashboards/17869-victoriametrics-operator/). Official Grafana dashboard available for [vmoperator](https://grafana.com/grafana/dashboards/17869-victoriametrics-operator/).
<img src="monitoring_operator-dashboard.png" width=1200> ![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. 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. 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 ### Pure operator installation
@ -74,7 +71,7 @@ spec:
- monitoring - 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -1,5 +1,4 @@
--- ---
sort: 1
weight: 1 weight: 1
title: QuickStart title: QuickStart
menu: menu:
@ -7,11 +6,9 @@ menu:
parent: "operator" parent: "operator"
weight: 1 weight: 1
aliases: 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 VictoriaMetrics Operator serves to make running VictoriaMetrics applications on top of Kubernetes as easy as possible
while preserving Kubernetes-native configuration options. 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: Also you can follow the other steps in documentation to use VictoriaMetrics Operator:
- [Setup](./setup.md) - [Setup](https://docs.victoriametrics.com/operator/setup)
- [Security](./security.md) - [Security](https://docs.victoriametrics.com/operator/security)
- [Configuration](./configuration.md) - [Configuration](https://docs.victoriametrics.com/operator/configuration)
- [Migration from Prometheus](./migration.md) - [Migration from Prometheus](https://docs.victoriametrics.com/operator/migration)
- [Monitoring](./monitoring.md) - [Monitoring](https://docs.victoriametrics.com/operator/monitoring)
- [Authorization and exposing components](./auth.md) - [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth)
- [High Availability](./high-availability.md) - [High Availability](https://docs.victoriametrics.com/operator/high-availability)
- [Enterprise](./enterprise.md) - [Enterprise](https://docs.victoriametrics.com/operator/enterprise)
- [Custom resources](./resources/README.md) - [Custom resources](https://docs.victoriametrics.com/operator/resources/)
- [FAQ (Frequency Asked Questions)](./FAQ.md) - [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), But if you want to deploy VictoriaMetrics Operator quickly from scratch (without using templating for custom resources),
you can follow this guide: you can follow this guide:
@ -47,7 +44,7 @@ you can follow this guide:
- [VMAlertmanager](#vmalertmanager) - [VMAlertmanager](#vmalertmanager)
- [VMAlert](#vmalert) - [VMAlert](#vmalert)
- [VMRule](#vmrule) - [VMRule](#vmrule)
- [VMUser](#vmuser-update) - [VMUser](#vmuser)
- [Anythings else?](#anythings-else) - [Anythings else?](#anythings-else)
Let's start! Let's start!
@ -55,7 +52,7 @@ Let's start!
## Setup operator ## Setup operator
You can find out how to and instructions for installing the VictoriaMetrics operator into your kubernetes cluster 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 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): [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 code values.yaml
``` ```
<img src="quick-start_values.png" width="1200"> ![Values](quick-start_values.webp)
{width="1200"}
Now you can change configuration in `values.yaml`. For more details about configuration options and methods, 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 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, 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`: 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" # 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. # 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: 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. Now you can create instances of VictoriaMetrics applications.
Let's create fullstack monitoring cluster with Let's create fullstack monitoring cluster with
[`vmagent`](./resources/vmagent.md), [`vmagent`](https://docs.victoriametrics.com/operator/resources/vmagent),
[`vmauth`](./resources/vmauth.md), [`vmauth`](https://docs.victoriametrics.com/operator/resources/vmauth),
[`vmalert`](./resources/vmalert.md), [`vmalert`](https://docs.victoriametrics.com/operator/resources/vmalert),
[`vmalertmanager`](./resources/vmalertmanager.md), [`vmalertmanager`](https://docs.victoriametrics.com/operator/resources/vmalertmanager),
[`vmcluster`](./resources/vmcluster.md) [`vmcluster`](https://docs.victoriametrics.com/operator/resources/vmcluster)
(a component for deploying a cluster version of (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`): consisting of `vmstorage`, `vmselect` and `vminsert`):
<img src="quick-start_cluster-scheme.png" width="1200"> ![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) ### 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` 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. We'll need them in the next steps.
More information about `vmcluster` resource you can find on 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 ### Scraping
#### VMAgent #### 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` 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 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 #### VMServiceScrape
Now we have the timeseries database (vmcluster) and the tool to collect metrics (vmagent) and send it to the database. 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 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](./resources/README.md). 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 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`: 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 #### 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` Create file `vmauth.yaml`
@ -394,7 +393,7 @@ Also, for simplicity, we don't use tls, but in real environments not having tls
#### VMUser #### VMUser
To get authorized access to our data it is necessary to create a user using 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` 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` 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): and your given password (`Yt3N2r3cPl` in our case):
<img src="quick-start_select-1.png" width="1200"> ![Select 1](quick-start_select-1.webp)
<img src="quick-start_select-2.png" width="1200"> ![Select 2](quick-start_select-2.webp)
### Alerting ### Alerting
@ -471,7 +470,7 @@ The remaining components will be needed for alerting.
#### VMAlertmanager #### 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` Create file `vmalertmanager.yaml`
@ -525,7 +524,7 @@ kubectl get pods -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.i
#### VMAlert #### 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` Create file `vmalert.yaml`
@ -575,8 +574,8 @@ kubectl get pods -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.i
#### VMRule #### VMRule
Now you can create [vmrule](./resources/vmrule.md) resource Now you can create [vmrule](https://docs.victoriametrics.com/operator/resources/vmrule) resource
for [vmalert](./resources/vmalert.md). for [vmalert](https://docs.victoriametrics.com/operator/resources/vmalert).
Create file `vmrule.yaml` 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` 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`: (for your environment it most likely will be different) with username `demo`:
<img src="quick-start_alert-1.png" width="1200"> ![Alert 1](quick-start_alert-1.webp)
<img src="quick-start_alert-2.png" width="1200"> ![Alert 2](quick-start_alert-2.webp)
## Anything else ## Anything else
That's it. We obtained a monitoring cluster corresponding to the target topology: That's it. We obtained a monitoring cluster corresponding to the target topology:
<img src="quick-start_cluster-scheme.png" width="1200"> ![Cluster Scheme](quick-start_cluster-scheme.webp)
You have a full-stack monitoring cluster with VictoriaMetrics Operator. 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: In addition, check out other sections of the documentation for VictoriaMetrics Operator:
- [Setup](./setup.md) - [Setup](https://docs.victoriametrics.com/operator/setup)
- [Security](./security.md) - [Security](https://docs.victoriametrics.com/operator/security)
- [Configuration](./configuration.md) - [Configuration](https://docs.victoriametrics.com/operator/configuration)
- [Migration from Prometheus](./migration.md) - [Migration from Prometheus](https://docs.victoriametrics.com/operator/migration)
- [Monitoring](./monitoring.md) - [Monitoring](https://docs.victoriametrics.com/operator/monitoring)
- [Authorization and exposing components](./auth.md) - [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth)
- [High Availability](./high-availability.md) - [High Availability](https://docs.victoriametrics.com/operator/high-availability)
- [Enterprise](./enterprise.md) - [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: and feel free to can ask them:
- [VictoriaMetrics Slack](https://victoriametrics.slack.com/) - [VictoriaMetrics Slack](https://victoriametrics.slack.com/)
- [VictoriaMetrics Telegram](https://t.me/VictoriaMetrics_en) - [VictoriaMetrics Telegram](https://t.me/VictoriaMetrics_en)

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

View File

@ -1,31 +1,29 @@
This documentation section describes the design and interaction between the custom resource definitions (CRD) that the Victoria This documentation section describes the design and interaction between the custom resource definitions (CRD) that the Victoria
Metrics Operator introduces. Metrics Operator introduces.
[Operator](https://docs.victoriametrics.com/operator) introduces the following custom resources:
[Operator](../README.md) introduces the following custom resources: - [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent)
- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert)
- [VMAgent](./vmagent.md) - [VMAlertManager](https://docs.victoriametrics.com/operator/resources/vmalertmanager)
- [VMAlert](./vmalert.md) - [VMAlertManagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig)
- [VMAlertManager](./vmalertmanager.md) - [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth)
- [VMAlertManagerConfig](./vmalertmanagerconfig.md) - [VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster)
- [VMAuth](./vmauth.md) - [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape)
- [VMCluster](./vmcluster.md) - [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape)
- [VMNodeScrape](./vmnodescrape.md) - [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe)
- [VMPodScrape](./vmpodscrape.md) - [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule)
- [VMProbe](./vmprobe.md) - [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape)
- [VMRule](./vmrule.md) - [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape)
- [VMServiceScrape](./vmservicescrape.md) - [VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle)
- [VMStaticScrape](./vmstaticscrape.md) - [VMUser](https://docs.victoriametrics.com/operator/resources/vmuser)
- [VMSingle](./vmsingle.md) - [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig)
- [VMUser](./vmuser.md)
- [VMScrapeConfig](./vmscrapeconfig.md)
Here is the scheme of relations between the custom resources: Here is the scheme of relations between the custom resources:
<img src="README_cr-relations.png" width="1200"> ![CR](README_cr-relations.webp)
## Specification ## 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 ### 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: Field `extraArgs` is supported for the following custom resources:
- [VMAgent spec](../api.md#vmagentspec) - [VMAgent spec](https://docs.victoriametrics.com/operator/api#vmagentspec)
- [VMAlert spec](../api.md#vmalertspec) - [VMAlert spec](https://docs.victoriametrics.com/operator/api#vmalertspec)
- [VMAlertManager spec](../api.md#vmalertmanagerspec) - [VMAlertManager spec](https://docs.victoriametrics.com/operator/api#vmalertmanagerspec)
- [VMAuth spec](../api.md#vmauthspec) - [VMAuth spec](https://docs.victoriametrics.com/operator/api#vmauthspec)
- [VMCluster/vmselect spec](../api.md#vmselect) - [VMCluster/vmselect spec](https://docs.victoriametrics.com/operator/api#vmselect)
- [VMCluster/vminsert spec](../api.md#vminsert) - [VMCluster/vminsert spec](https://docs.victoriametrics.com/operator/api#vminsert)
- [VMCluster/vmstorage spec](../api.md#vmstorage) - [VMCluster/vmstorage spec](https://docs.victoriametrics.com/operator/api#vmstorage)
- [VMSingle spec](../api.md#vmsinglespec) - [VMSingle spec](https://docs.victoriametrics.com/operator/api#vmsinglespec)
Supported flags for each application can be found the in the corresponding documentation: Supported flags for each application can be found the in the corresponding documentation:
- [VMAgent flags](https://docs.victoriametrics.com/vmagent.html#advanced-usage) - [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#advanced-usage)
- [VMAlert](https://docs.victoriametrics.com/vmalert.html#configuration) - [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#configuration)
- [VMAuth](https://docs.victoriametrics.com/vmauth.html#advanced-usage) - [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#advanced-usage)
- [VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#list-of-command-line-flags) - [VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#list-of-command-line-flags)
- [VMSingle](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#list-of-command-line-flags) - [VMSingle](https://docs.victoriametrics.com#list-of-command-line-flags)
Usage example: Usage example:
@ -87,27 +85,27 @@ spec:
``` ```
This feature really useful for using with 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 ## Examples
Page for every custom resource contains examples section: Page for every custom resource contains examples section:
- [VMAgent examples](./vmagent.md#examples) - [VMAgent examples](https://docs.victoriametrics.com/operator/resources/vmagent#examples)
- [VMAlert examples](./vmalert.md#examples) - [VMAlert examples](https://docs.victoriametrics.com/operator/resources/vmalert#examples)
- [VMAlertmanager examples](./vmalertmanager.md#examples) - [VMAlertmanager examples](https://docs.victoriametrics.com/operator/resources/vmalertmanager#examples)
- [VMAlertmanagerConfig examples](./vmalertmanagerconfig.md#examples) - [VMAlertmanagerConfig examples](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig#examples)
- [VMAuth examples](./vmauth.md#examples) - [VMAuth examples](https://docs.victoriametrics.com/operator/resources/vmauth#examples)
- [VMCluster examples](./vmcluster.md#examples) - [VMCluster examples](https://docs.victoriametrics.com/operator/resources/vmcluster#examples)
- [VMNodeScrape examples](./vmnodescrape.md#examples) - [VMNodeScrape examples](https://docs.victoriametrics.com/operator/resources/vmnodescrape#examples)
- [VMPodScrape examples](./vmpodscrape.md#examples) - [VMPodScrape examples](https://docs.victoriametrics.com/operator/resources/vmpodscrape#examples)
- [VMProbe examples](./vmprobe.md#examples) - [VMProbe examples](https://docs.victoriametrics.com/operator/resources/vmprobe#examples)
- [VMRule examples](./vmrule.md#examples) - [VMRule examples](https://docs.victoriametrics.com/operator/resources/vmrule#examples)
- [VMServiceScrape examples](./vmservicescrape.md#examples) - [VMServiceScrape examples](https://docs.victoriametrics.com/operator/resources/vmservicescrape#examples)
- [VMStaticScrape examples](./vmstaticscrape.md#examples) - [VMStaticScrape examples](https://docs.victoriametrics.com/operator/resources/vmstaticscrape#examples)
- [VMSingle examples](./vmsingle.md#examples) - [VMSingle examples](https://docs.victoriametrics.com/operator/resources/vmsingle#examples)
- [VMUser examples](./vmuser.md#examples) - [VMUser examples](https://docs.victoriametrics.com/operator/resources/vmuser#examples)
- [VMScrapeConfig examples](./vmscrapeconfig.md#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 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**. 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: 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 VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#version-management)
- [Managing versions for VMAlert](./vmalert.md#version-management) - [Managing versions for VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#version-management)
- [Managing versions for VMAlertmanager](./vmalertmanager.md#version-management) - [Managing versions for VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#version-management)
- [Managing versions for VMAuth](./vmauth.md#version-management) - [Managing versions for VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#version-management)
- [Managing versions for VMCluster](./vmcluster.md#version-management) - [Managing versions for VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#version-management)
- [Managing versions for VMSingle](./vmsingle.md#version-management) - [Managing versions for VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle#version-management)
## Managing resources ## Managing resources
Every custom resource with deployable application has a fields and operator parameters for specifying resources for the component: 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 resources for VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#resource-management)
- [Managing versions for VMAlert](./vmalert.md#resource-management) - [Managing resources for VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#resource-management)
- [Managing versions for VMAlertmanager](./vmalertmanager.md#resource-management) - [Managing resources for VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#resource-management)
- [Managing versions for VMAuth](./vmauth.md#resource-management) - [Managing resources for VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#resource-management)
- [Managing versions for VMCluster](./vmcluster.md#resource-management) - [Managing resources for VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#resource-management)
- [Managing versions for VMSingle](./vmsingle.md#resource-management) - [Managing resources for VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle#resource-management)
## High availability ## High availability
VictoriaMetrics operator support high availability for each component of the monitoring stack: VictoriaMetrics operator support high availability for each component of the monitoring stack:
- [VMAgent](./vmagent.md#high-availability) - [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#high-availability)
- [VMAlert](./vmalert.md#high-availability) - [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#high-availability)
- [VMAlertmanager](./vmalertmanager.md#high-availability) - [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#high-availability)
- [VMAuth](./vmauth.md#high-availability) - [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#high-availability)
- [VMCluster](./vmcluster.md#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: 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 ## 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): - [VMAgent Enterprise features](https://docs.victoriametrics.com/operator/resources/vmagent#enterprise-features):
- [Reading metrics from kafka](./vmagent.md#reading-metrics-from-kafka) - [Reading metrics from kafka](https://docs.victoriametrics.com/operator/resources/vmagent#reading-metrics-from-kafka)
- [Writing metrics to kafka](./vmagent.md#writing-metrics-to-kafka) - [Writing metrics to kafka](https://docs.victoriametrics.com/operator/resources/vmagent#writing-metrics-to-kafka)
- [VMAlert Enterprise features](./vmalert.md#enterprise-features): - [VMAlert Enterprise features](https://docs.victoriametrics.com/operator/resources/vmalert#enterprise-features):
- [Reading rules from object storage](./vmalert.md#reading-rules-from-object-storage) - [Reading rules from object storage](https://docs.victoriametrics.com/operator/resources/vmalert#reading-rules-from-object-storage)
- [Multitenancy](./vmalert.md#multitenancy) - [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmalert#multitenancy)
- [VMAuth Enterprise features](./vmauth.md#enterprise-features) - [VMAuth Enterprise features](https://docs.victoriametrics.com/operator/resources/vmauth#enterprise-features)
- [IP Filters](./vmauth.md#ip-filters) - [IP Filters](https://docs.victoriametrics.com/operator/resources/vmauth#ip-filters)
- [VMCluster Enterprise features](./vmcluster.md#enterprise-features) - [VMCluster Enterprise features](https://docs.victoriametrics.com/operator/resources/vmcluster#enterprise-features)
- [Downsampling](./vmcluster.md#downsampling) - [Downsampling](https://docs.victoriametrics.com/operator/resources/vmcluster#downsampling)
- [Multiple retentions / Retention filters](./vmcluster.md#retention-filters) - [Multiple retentions / Retention filters](https://docs.victoriametrics.com/operator/resources/vmcluster#retention-filters)
- [Advanced per-tenant statistic](./vmcluster.md#advanced-per-tenant-statistic) - [Advanced per-tenant statistic](https://docs.victoriametrics.com/operator/resources/vmcluster#advanced-per-tenant-statistic)
- [mTLS protection](./vmcluster.md#mtls-protection) - [mTLS protection](https://docs.victoriametrics.com/operator/resources/vmcluster#mtls-protection)
- [Backup atomation](./vmcluster.md#backup-atomation) - [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster#backup-automation)
- [VMRule Enterprise features](./vmrule.md#enterprise-features) - [VMRule Enterprise features](https://docs.victoriametrics.com/operator/resources/vmrule#enterprise-features)
- [Multitenancy](./vmrule.md#multitenancy) - [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmrule#multitenancy)
- [VMSingle Enterprise features](./vmsingle.md#enterprise-features) - [VMSingle Enterprise features](https://docs.victoriametrics.com/operator/resources/vmsingle#enterprise-features)
- [Downsampling](./vmsingle.md#downsampling) - [Downsampling](https://docs.victoriametrics.com/operator/resources/vmsingle#downsampling)
- [Retention filters](./vmsingle.md#retention-filters) - [Retention filters](https://docs.victoriametrics.com/operator/resources/vmsingle#retention-filters)
- [Backup atomation](./vmsingle.md#backup-atomation) - [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle#backup-automation)
- [VMUser Enterprise features](./vmuser.md#enterprise-features) - [VMUser Enterprise features](https://docs.victoriametrics.com/operator/resources/vmuser#enterprise-features)
- [IP Filters](./vmuser.md#ip-filters) - [IP Filters](https://docs.victoriametrics.com/operator/resources/vmuser#ip-filters)
More information about enterprise features you can read 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 ## 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. 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 ### Possible mitigations
@ -216,7 +214,7 @@ For `Secret` it doesn't work. And operator offers its implementation for side-ca
value: "true" 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). 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. It watches corresponding `Secret` for changes with Kubernetes API watch call and writes content into emptyDir.

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

View File

@ -1,11 +1,13 @@
--- ---
sort: 14
weight: 14 weight: 14
title: Custom resources title: Custom resources
menu: menu:
docs: docs:
identifier: operator-custom-resources identifier: operator-cr
parent: "operator" parent: operator
weight: 14 weight: 14
aliases:
- /operator/resources/
- /operator/resources/index.html
--- ---
{{% content "README.md" %}} {{% content "README.md" %}}

View File

@ -1,17 +1,15 @@
--- ---
sort: 1
weight: 1 weight: 1
title: VMAgent title: VMAgent
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmagent
parent: operator-cr
weight: 1 weight: 1
aliases: 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. `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) The `VMAgent` CRD declaratively defines a desired [VMAgent](https://docs.victoriametrics.com/vmagent)
setup to run in a Kubernetes cluster. 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 ## 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, 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. 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: `VMAgent` supports scraping targets with:
- [VMServiceScrape](./vmservicescrape.md), - [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape),
- [VMPodScrape](./vmpodscrape.md), - [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape),
- [VMNodeScrape](./vmnodescrape.md), - [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape),
- [VMStaticScrape](./vmstaticscrape.md), - [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape),
- [VMProbe](./vmprobe.md). - [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe).
- [VMScrapeConfig](./vmscrapeconfig.md) - [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig)
These objects tell VMAgent from which targets and how to collect metrics and 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. 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`: 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, - `serviceScrapeNamespaceSelector` and `serviceScrapeSelector` for selecting [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape) objects,
- `podScrapeNamespaceSelector` and `podScrapeSelector` for selecting [VMPodScrape](./vmpodscrape.md) objects, - `podScrapeNamespaceSelector` and `podScrapeSelector` for selecting [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape) objects,
- `probeNamespaceSelector` and `probeSelector` for selecting [VMProbe](./vmprobe.md) objects, - `probeNamespaceSelector` and `probeSelector` for selecting [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe) objects,
- `staticScrapeNamespaceSelector` and `staticScrapeSelector` for selecting [VMStaticScrape](./vmstaticscrape.md) objects, - `staticScrapeNamespaceSelector` and `staticScrapeSelector` for selecting [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape) objects,
- `nodeScrapeNamespaceSelector` and `nodeScrapeSelector` for selecting [VMNodeScrape](./vmnodescrape.md) objects. - `nodeScrapeNamespaceSelector` and `nodeScrapeSelector` for selecting [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) objects.
- `scrapeConfigNamespaceSelector` and `scrapeConfigSelector` for selecting [VMScrapeConfig](./vmscrapeconfig.md) 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. 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). 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* | 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` | | *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: Here are some examples of `VMAgent` configuration with selectors:
@ -142,10 +140,10 @@ spec:
### Replication and deduplication ### Replication and deduplication
To run VMAgent in a highly available manner at first you have to configure deduplication in Victoria Metrics 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) according [this doc for VMSingle](https://docs.victoriametrics.com/#deduplication)
or [this doc for VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 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. 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 ### 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) 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. and `VMAgent` loses state of the PersistentQueue on pod restarts.
@ -241,7 +239,7 @@ spec:
### Sharding ### 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**. for **scraping big number of targets**.
Sharding for `VMAgent` distributes scraping between multiple deployments of `VMAgent`. 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). - [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. 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 ### Inline Additional Scrape Configuration in VMAgent CRD
@ -581,7 +579,7 @@ metadata:
### Additional information ### 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 ## Version management
@ -639,7 +637,7 @@ spec:
``` ```
If these parameters are not specified, then, 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_MEM` - default memory limit for `VMAgent` pods,
- `VM_VMAGENTDEFAULT_RESOURCE_LIMIT_CPU` - 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 ## Enterprise features
VMAgent supports feature [Kafka integration](https://docs.victoriametrics.com/vmagent.html#kafka-integration) VMAgent supports feature [Kafka integration](https://docs.victoriametrics.com/vmagent#kafka-integration)
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). 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). 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. 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). 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](./README.md#extra-arguments) for passing this flag to `VMAgent`: 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) After that you can pass [Kafka integration](https://docs.victoriametrics.com/vmagent#kafka-integration)
flags to `VMAgent` with [extraArgs](./README.md#extra-arguments). flags to `VMAgent` with [extraArgs](./#extra-arguments).
### Reading metrics from Kafka ### 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -694,8 +692,8 @@ spec:
eula: true eula: true
# using enterprise features: reading metrics from kafka # 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 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.html#command-line-flags-for-kafka-consumer # 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.brokers: localhost:9092
kafka.consumer.topic.format: influx kafka.consumer.topic.format: influx
kafka.consumer.topic: metrics-by-telegraf kafka.consumer.topic: metrics-by-telegraf
@ -706,7 +704,7 @@ spec:
### Writing metrics to Kafka ### 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -725,7 +723,7 @@ spec:
eula: true eula: true
# using enterprise features: writing metrics to Kafka # 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: remoteWrite:
# sasl with username and password # sasl with username and password
- url: kafka://broker-1:9092/?topic=prom-rw-1&security.protocol=SASL_SSL&sasl.mechanisms=PLAIN - url: kafka://broker-1:9092/?topic=prom-rw-1&security.protocol=SASL_SSL&sasl.mechanisms=PLAIN

View File

@ -1,17 +1,15 @@
--- ---
sort: 2
weight: 2 weight: 2
title: VMAlert title: VMAlert
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmalert
parent: operator-cr
weight: 2 weight: 2
aliases: 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/) `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. 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. setup to run in a Kubernetes cluster.
It has few required config options - `datasource` and `notifier` are required, for other config parameters 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. 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 `<VMAlert-name>-number` containing The VMAlert `Pod`s are configured to mount a list of `Configmaps` prefixed with `<VMAlert-name>-number` containing
@ -30,10 +28,10 @@ name `<VMAlert-name>`.
## Specification ## 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, 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. Also, you can check out the [examples](#examples) section.
@ -51,7 +49,7 @@ spec:
ruleNamespaceSelector: {} 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`. For filtering rules `VMAlert` uses selectors `ruleNamespaceSelector` and `ruleSelector`.
It allows configuring rules access control across namespaces and different environments. 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* | 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 | | *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: Here are some examples of `VMAlert` configuration with selectors:
@ -108,9 +106,9 @@ spec:
## High availability ## 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: You have to specify all pod fqdns at `VMAlert.spec.notifiers.[url]`. Or you can use service discovery for notifier, examples:
- alertmanager: - alertmanager:
@ -219,7 +217,7 @@ spec:
url: http://vmselect-demo.vm.svc:8481/select/0/prometheus 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 ## Version management
@ -277,7 +275,7 @@ spec:
``` ```
If these parameters are not specified, then, 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_MEM` - default memory limit for `VMAlert` pods,
- `VM_VMALERTDEFAULT_RESOURCE_LIMIT_CPU` - 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 ## Enterprise features
VMAlert supports features [Reading rules from object storage](https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage) 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.html#multitenancy) and [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy)
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). 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). 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. 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). 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](./README.md#extra-arguments) for passing this flag to `VMAlert`: So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMAlert`:
### Reading rules from object storage ### Reading rules from object storage
After that you can pass `-rule` command-line argument with `s3://` or `gs://` 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -335,7 +333,7 @@ spec:
eula: true eula: true
# using enterprise features: Reading rules from object storage # 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 rule: s3://bucket/dir/alert.rules
# ...other fields... # ...other fields...
@ -343,13 +341,13 @@ spec:
### Multitenancy ### 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`. feature in `VMAlert`.
For that you need to set `clusterMode` commad-line flag 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 and specify `tenant` field for groups
in [VMRule](./vmrule.md#enterprise-features): in [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule#enterprise-features):
```yaml ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -368,7 +366,7 @@ spec:
eula: true eula: true
# using enterprise features: Multitenancy # 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 clusterMode: true
# ...other fields... # ...other fields...
@ -384,7 +382,7 @@ spec:
- name: vmalert-1 - name: vmalert-1
rules: rules:
# using enterprise features: Multitenancy # 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 - tenant: 1
alert: vmalert config reload error alert: vmalert config reload error
expr: delta(vmalert_config_last_reload_errors_total[5m]) > 0 expr: delta(vmalert_config_last_reload_errors_total[5m]) > 0

View File

@ -1,17 +1,15 @@
--- ---
sort: 3
weight: 3 weight: 3
title: VMAlertmanager title: VMAlertmanager
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmalertmanager
parent: operator-cr
weight: 3 weight: 3
aliases: 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. `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. 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 ## 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, 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. 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. 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 ### Using secret
Basically, you can use the global configuration defined at manually created `Secret`. This `Secret` must be created before `VMAlertmanager`. 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 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: vmalertmanager-example-alertmanager name: alertmanager-config
labels: labels:
app: vm-operator app: vm-operator
type: Opaque type: Opaque
@ -73,7 +73,7 @@ metadata:
name: example-alertmanager name: example-alertmanager
spec: spec:
replicaCount: 2 replicaCount: 2
configSecret: vmalertmanager-example-alertmanager configSecret: alertmanager-config
``` ```
### Using inline raw config ### Using inline raw config
@ -99,16 +99,18 @@ spec:
- name: 'default' - 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 ### 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 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. 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. 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: For selecting rules from all namespaces you must specify it to empty value:
@ -118,8 +120,8 @@ spec:
configNamespaceSelector: {} configNamespaceSelector: {}
``` ```
[VMAlertmanagerConfig](./vmalertmanagerconfig.md) objects are [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig) objects are
generates part of [VMAlertmanager](./vmalertmanager.md) configuration. generates part of [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager) configuration.
For filtering rules `VMAlertmanager` uses selectors `configNamespaceSelector` and `configSelector`. For filtering rules `VMAlertmanager` uses selectors `configNamespaceSelector` and `configSelector`.
It allows configuring rules access control across namespaces and different environments. 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* | 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 | | *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: 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`. 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` - `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/<configmap-name>`. workload and will be automatically reloaded on changes in source `ConfigMap`. Mount path is `/etc/vm/configs/<configmap-name>`.
@ -281,7 +284,7 @@ spec:
``` ```
If these parameters are not specified, then, 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_MEM` - default memory limit for `VMAlertManager` pods,
- `VM_VMALERTMANAGER_RESOURCE_LIMIT_CPU` - default memory limit for `VMAlertManager` pods, - `VM_VMALERTMANAGER_RESOURCE_LIMIT_CPU` - default memory limit for `VMAlertManager` pods,

View File

@ -1,19 +1,17 @@
--- ---
sort: 4
weight: 4 weight: 4
title: VMAlertmanagerConfig title: VMAlertmanagerConfig
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmalertmanagerconfig
parent: operator-cr
weight: 4 weight: 4
aliases: aliases:
- /operator/resources/vmalertmanagerconfig.html - /operator/resources/vmalertmanagerconfig/
- /operator/resources/vmalertmanagerconfig/index.html
--- ---
The `VMAlertmanagerConfig` provides way to configure [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager)
# VMAlertmanagerConfig 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](./vmalertmanager.md)
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. It behaves like other config parts - `VMServiceScrape` and etc.
@ -21,11 +19,45 @@ Read [Usage](#usage) and [Special case](#special-case) before using.
## Specification ## Specification
You can see the full actual specification of the `VMAlertmanagerConfig` resource in You can see the full actual specification of the `VMAlertmanagerConfig` resource in
the **[API docs -> VMAlertmanagerConfig](../api.md#vmalertmanagerconfig)**. the **[API docs -> VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig)**.
Also, you can check out the [examples](#examples) section. 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 ## Usage
`VMAlertmanagerConfig` allows delegating notification configuration to the kubernetes cluster users. `VMAlertmanagerConfig` allows delegating notification configuration to the kubernetes cluster users.

View File

@ -1,17 +1,15 @@
--- ---
sort: 5
weight: 5 weight: 5
title: VMAuth title: VMAuth
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmauth
parent: operator-cr
weight: 5 weight: 5
aliases: 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. 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. 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 ## Specification
You can see the full actual specification of the `VMAuth` resource in 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, 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. 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 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. 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`. For filtering users `VMAuth` uses selectors `userNamespaceSelector` and `userSelector`.
It allows configuring rules access control across namespaces and different environments. 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* | 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 | | *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: Here are some examples of `VMAuth` configuration with selectors:
@ -181,7 +179,7 @@ spec:
``` ```
If these parameters are not specified, then, 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_MEM` - default memory limit for `VMAuth` pods,
- `VM_VMAUTHDEFAULT_RESOURCE_LIMIT_CPU` - 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 ## Enterprise features
Custom resource `VMAuth` supports feature [IP filters](https://docs.victoriametrics.com/vmauth.html#ip-filters) Custom resource `VMAuth` supports feature [IP filters](https://docs.victoriametrics.com/vmauth#ip-filters)
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). 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). 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. 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). 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](./README.md#extra-arguments) for passing this flag to `VMAuth`: So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMAuth`:
### IP Filters ### 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`. and field `ip_filters` for `VMAuth`.
Here are complete example with described above: Here are complete example with described above:
@ -236,7 +234,7 @@ spec:
eula: true eula: true
# using enterprise features: ip filters for vmauth # 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: ip_filters:
allow_list: allow_list:
- 10.0.0.0/24 - 10.0.0.0/24
@ -265,7 +263,7 @@ spec:
password: simple-password password: simple-password
# using enterprise features: ip filters for vmuser # 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: ip_filters:
allow_list: allow_list:
- 10.0.0.0/24 - 10.0.0.0/24

View File

@ -1,19 +1,17 @@
--- ---
sort: 6
weight: 6 weight: 6
title: VMCluster title: VMCluster
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmcluster
parent: operator-cr
weight: 6 weight: 6
aliases: 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. `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: 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 ## 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, 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. 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: 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), - [High availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#high-availability),
- [Cluster availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#cluster-availability), - [Cluster availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#cluster-availability),
- [Replication and data safety](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#replication-and-data-safety). - [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: `VMCluster` supports all listed in the above-mentioned articles parameters and features:
@ -245,7 +243,7 @@ spec:
``` ```
If these parameters are not specified, then, 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_MEM` - default memory limit for `VMCluster/vmstorage` pods,
- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_LIMIT_CPU` - 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 ## Enterprise features
VMCluster supports following 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) - [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling)
- [Multiple retentions / Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#retention-filters) - [Multiple retentions / Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters)
- [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic.html) - [Advanced per-tenant statistic](https://docs.victoriametrics.com/pertenantstatistic)
- [mTLS for cluster components](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection) - [mTLS for cluster components](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection)
- [Backup automation](https://docs.victoriametrics.com/vmbackupmanager.html) - [Backup automation](https://docs.victoriametrics.com/vmbackupmanager)
VMCluster doesn't support yet feature 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). 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. 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). 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](./README.md#extra-arguments) for passing this flag to `VMCluster`. So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMCluster`.
### Downsampling ### Downsampling
After that you can pass [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#downsampling) After that you can pass [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling)
flag to `VMCluster/vmselect` and `VMCluster/vmstorage` with [extraArgs](./README.md#extra-arguments) too. 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -319,7 +317,7 @@ spec:
eula: true eula: true
# using enterprise features: Downsampling # 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 downsampling.period: 30d:5m,180d:1h,1y:6h,2y:1d
vmstorage: vmstorage:
@ -334,7 +332,7 @@ spec:
eula: true eula: true
# using enterprise features: Downsampling # 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 downsampling.period: 30d:5m,180d:1h,1y:6h,2y:1d
# ...other fields... # ...other fields...
@ -342,10 +340,10 @@ spec:
### Retention filters ### Retention filters
You can pass [Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#retention-filters) You can pass [Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters)
flag to `VMCluster/vmstorage` with [extraArgs](./README.md#extra-arguments). 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -366,7 +364,7 @@ spec:
eula: true eula: true
# using enterprise features: Retention filters # 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' retentionFilter: '{vm_account_id="5",env="dev"}:5d,{vm_account_id="5",env="prod"}:5y'
# ...other fields... # ...other fields...
@ -374,10 +372,10 @@ spec:
### Advanced per-tenant statistic ### 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) you only need to [enable Enterprise version of vmcluster components](#enterprise-features)
and operator will automatically create 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -422,16 +420,16 @@ spec:
# ...other fields... # ...other fields...
``` ```
After that [VMAgent](./vmagent.md) will automatically After that [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) will automatically
scrape [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic.html) for cluster components. scrape [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic) for cluster components.
### mTLS protection ### mTLS protection
You can pass [mTLS protection](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection) You can pass [mTLS protection](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection)
flags to `VMCluster/vmstorage`, `VMCluster/vmselect` and `VMCluster/vminsert` with [extraArgs](./README.md#extra-arguments) and mount secret files flags to `VMCluster/vmstorage`, `VMCluster/vmselect` and `VMCluster/vminsert` with [extraArgs](./#extra-arguments) and mount secret files
with `extraVolumes` and `extraVolumeMounts` fields. 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -452,7 +450,7 @@ spec:
eula: true eula: true
# using enterprise features: mTLS protection # 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.tls: true
cluster.tlsCAFile: /etc/mtls/ca.crt cluster.tlsCAFile: /etc/mtls/ca.crt
cluster.tlsCertFile: /etc/mtls/vmselect.crt cluster.tlsCertFile: /etc/mtls/vmselect.crt
@ -477,7 +475,7 @@ spec:
eula: true eula: true
# using enterprise features: mTLS protection # 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.tls: true
cluster.tlsCAFile: /etc/mtls/ca.crt cluster.tlsCAFile: /etc/mtls/ca.crt
cluster.tlsCertFile: /etc/mtls/vminsert.crt cluster.tlsCertFile: /etc/mtls/vminsert.crt
@ -507,7 +505,7 @@ spec:
eula: true eula: true
# using enterprise features: mTLS protection # 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.tls: true
cluster.tlsCAFile: /etc/mtls/ca.crt cluster.tlsCAFile: /etc/mtls/ca.crt
cluster.tlsCertFile: /etc/mtls/$(POD).crt cluster.tlsCertFile: /etc/mtls/$(POD).crt
@ -574,7 +572,7 @@ on [this page](https://gist.github.com/f41gh7/76ed8e5fb1ebb9737fe746bae9175ee6#g
### Backup automation ### 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. 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. `VMCluster` has built-in backup configuration, it uses `vmbackupmanager` - proprietary tool for backups.
@ -597,7 +595,7 @@ spec:
acceptEULA: true acceptEULA: true
# using enterprise features: Backup automation # 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" destination: "s3://your_bucket/folder"
credentialsSecret: credentialsSecret:
name: remote-storage-keys 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)"`. **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. 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 ## Examples

View File

@ -1,33 +1,31 @@
--- ---
sort: 7
weight: 7 weight: 7
title: VMNodeScrape title: VMNodeScrape
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmnodescrape
parent: operator-cr
weight: 7 weight: 7
aliases: 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, The `VMNodeScrape` CRD provides discovery mechanism for scraping metrics kubernetes nodes,
it is useful for node exporters monitoring. 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.). 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 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. 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 ## Specification
You can see the full actual specification of the `VMNodeScrape` resource in 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. Also, you can check out the [examples](#examples) section.

View File

@ -1,24 +1,22 @@
--- ---
sort: 8
weight: 8 weight: 8
title: VMPodScrape title: VMPodScrape
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmpodscrape
parent: operator-cr
weight: 8 weight: 8
aliases: 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. 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 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 for how metrics should be exposed. Following these conventions new services will be discovered automatically without
need to reconfigure. need to reconfigure.
`VMPodScrape` object generates part of [VMAgent](./vmagent.md) configuration with `VMPodScrape` object generates part of [VMAgent](https://docs.victoriametrics.com/vmagent) configuration with
[kubernetes service discovery](https://docs.victoriametrics.com/sd_configs.html#kubernetes_sd_configs) role `pod` having specific labels and ports. [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.). 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. 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 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 ## Specification
You can see the full actual specification of the `VMPodScrape` resource in 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. 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 The `VMPodScrape` CRD from VictoriaMetrics Operator is a drop-in replacement
for the Prometheus `PodMonitor` from prometheus-operator. 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 ## Examples

View File

@ -1,35 +1,33 @@
--- ---
sort: 9
weight: 9 weight: 9
title: VMProbe title: VMProbe
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmprobe
parent: operator-cr
weight: 9 weight: 9
aliases: 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 `VMProbe` CRD provides probing target ability with some external prober.
The most common prober is [blackbox exporter](https://github.com/prometheus/blackbox_exporter). 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`. 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.). 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. 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. 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 ## Specification
You can see the full actual specification of the `VMProbe` resource in 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. 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 The `VMProbe` CRD from VictoriaMetrics Operator is a drop-in replacement
for the Prometheus `Probe` from prometheus-operator. 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 ## Examples

View File

@ -1,46 +1,44 @@
--- ---
sort: 10
weight: 10 weight: 10
title: VMRule title: VMRule
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmrule
parent: operator-cr
weight: 10 weight: 10
aliases: 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/) `VMRule` represents [alerting](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
or [recording](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) 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. 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. 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. 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 ## Specification
You can see the full actual specification of the `VMRule` resource in 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. Also, you can check out the [examples](#examples) section.
## Enterprise features ## Enterprise features
Custom resource `VMRule` supports feature [Multitenancy](https://docs.victoriametrics.com/vmalert.html#multitenancy) Custom resource `VMRule` supports feature [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy)
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
### Multitenancy ### Multitenancy
For using [Multitenancy](https://docs.victoriametrics.com/vmalert.html#multitenancy) in `VMRule` For using [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy) in `VMRule`
you need to **[enable VMAlert Enterprise](./vmalert.md#enterprise-features)**. 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`: After that you can add `tenant` field for groups in `VMRule`:
@ -54,7 +52,7 @@ spec:
- name: vmalert-1 - name: vmalert-1
rules: rules:
# using enterprise features: Multitenancy # 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 - tenant: 1
alert: vmalert config reload error alert: vmalert config reload error
expr: delta(vmalert_config_last_reload_errors_total[5m]) > 0 expr: delta(vmalert_config_last_reload_errors_total[5m]) > 0

View File

@ -1,25 +1,23 @@
--- ---
sort: 11
weight: 11 weight: 11
title: VMScrapeConfig title: VMScrapeConfig
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmscrapeconfig
parent: operator-cr
weight: 11 weight: 11
aliases: 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 `VMScrapeConfig` object generates part of [VMAgent](https://docs.victoriametrics.com/vmagent) configuration with Prometheus-compatible scrape targets.
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.
## Specification ## Specification
You can see the full actual specification of the `VMScrapeConfig` resource in 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. 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 The `VMScrapeConfig` CRD from VictoriaMetrics Operator is a drop-in replacement
for the Prometheus `ScrapeConfig` from prometheus-operator. 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 ## Examples

View File

@ -1,24 +1,22 @@
--- ---
sort: 12
weight: 12 weight: 12
title: VMServiceScrape title: VMServiceScrape
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmservicescrape
parent: operator-cr
weight: 12 weight: 12
aliases: 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 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 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 for how metrics should be exposed. Following these conventions new services will be discovered automatically without
need to reconfigure. need to reconfigure.
`VMServiceScrape` object generates part of [VMAgent](./vmagent.md) configuration with `VMServiceScrape` object generates part of [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) configuration with
[kubernetes service discovery](https://docs.victoriametrics.com/sd_configs.html#kubernetes_sd_configs) targets by corresponding `Service`. [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.). 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. 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 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. 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. 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. 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 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` 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 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: 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 ## Specification
You can see the full actual specification of the `VMServiceScrape` resource in 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. 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 The `VMServiceScrape` CRD from VictoriaMetrics Operator is a drop-in replacement
for the Prometheus `ServiceMonitor` from prometheus-operator. 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 ## Examples

View File

@ -1,19 +1,17 @@
--- ---
sort: 13
weight: 13 weight: 13
title: VMSingle title: VMSingle
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmsingle
parent: operator-cr
weight: 13 weight: 13
aliases: aliases:
- /operator/resources/vmsingle.html - /operator/resources/vmsingle/
- /operator/resources/vmsingle/index.html
--- ---
# VMSingle
`VMSingle` represents database for storing metrics. `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. installation to run in a Kubernetes cluster.
For each `VMSingle` resource, the Operator deploys a properly configured `Deployment` in the same namespace. 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 ## 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, 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. Also, you can check out the [examples](#examples) section.
## High availability ## High availability
`VMSingle` doesn't support high availability by default, for such purpose `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 ## Version management
@ -93,7 +91,7 @@ spec:
``` ```
If these parameters are not specified, then, 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_MEM` - default memory limit for `VMSingle` pods,
- `VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_CPU` - 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 ## 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) - [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). 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. 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). 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](./README.md#extra-arguments) for passing this flag to `VMSingle`. So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMSingle`.
### Downsampling ### Downsampling
After that you can pass [Downsampling](https://docs.victoriametrics.com/#downsampling) After that you can pass [Downsampling](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/#downsampling)
flag to `VMSingle` with [extraArgs](./README.md#extra-arguments) too. 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -159,7 +157,7 @@ spec:
### Retention filters ### 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 ```yaml
apiVersion: operator.victoriametrics.com/v1beta1 apiVersion: operator.victoriametrics.com/v1beta1
@ -186,7 +184,7 @@ spec:
### Backup automation ### 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. 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. `VMSingle` has built-in backup configuration, it uses `vmbackupmanager` - proprietary tool for backups.
@ -208,7 +206,7 @@ spec:
acceptEULA: true acceptEULA: true
# using enterprise features: Backup automation # 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" destination: "s3://your_bucket/folder"
credentialsSecret: credentialsSecret:
name: remote-storage-keys name: remote-storage-keys
@ -230,13 +228,13 @@ stringData:
aws_secret_access_key = your_secret_access_key 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 #### 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 ##### Manually mounting disk
@ -269,7 +267,7 @@ Steps:
acceptEULA: true acceptEULA: true
# using enterprise features: Backup automation # 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" destination: "s3://your_bucket/folder"
credentialsSecret: credentialsSecret:
name: remote-storage-keys 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 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: Advantages of using `VMBackupmanager` include:

View File

@ -1,34 +1,32 @@
--- ---
sort: 14
weight: 14 weight: 14
title: VMStaticScrape title: VMStaticScrape
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmstaticscrape
parent: operator-cr
weight: 14 weight: 14
aliases: 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. The `VMStaticScrape` CRD provides mechanism for scraping metrics from static targets, configured by CRD targets.
`VMStaticScrape` object generates part of [VMAgent](./vmagent.md) `VMStaticScrape` object generates part of [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent)
configuration with [static "service discovery"](https://docs.victoriametrics.com/sd_configs.html#static_configs). 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.). 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 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. It's useful for external targets management, when service-discovery is not available.
`VMAgent` `staticScrapeSelector` must match `VMStaticScrape` labels. `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 ## Specification
You can see the full actual specification of the `VMStaticScrape` resource in 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. Also, you can check out the [examples](#examples) section.

View File

@ -1,17 +1,15 @@
--- ---
sort: 15
weight: 15 weight: 15
title: VMUser title: VMUser
menu: menu:
docs: docs:
parent: "operator-custom-resources" identifier: operator-cr-vmuser
parent: operator-cr
weight: 15 weight: 15
aliases: 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. The `VMUser` CRD describes user configuration, its authentication methods `basic auth` or `Authorization` header.
User access permissions, with possible routing information. User access permissions, with possible routing information.
@ -21,7 +19,7 @@ operator queries kubernetes API, retrieves information about CRD and builds prop
## Specification ## Specification
You can see the full actual specification of the `VMUser` resource in 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. 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`: 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) - `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.html#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.html#auth-config) - `targetPathSuffix` is the suffix for `url_prefix` (target URL) from [auth config](https://docs.victoriametrics.com/vmauth#auth-config)
### Static ### 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. it allows you to set a specific static URL.
### CRDRef ### 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: Operator supports following kinds in `kind` field:
- `VMAgent` for [VMAgent](./vmagent.md) - `VMAgent` for [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent)
- `VMAlert` for [VMAlert](./vmalert.md) - `VMAlert` for [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert)
- `VMAlertmanager` for [VMAlertmanager](./vmalertmanager.md) - `VMAlertmanager` for [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager)
- `VMSingle` for [VMSingle](./vmsingle.md) - `VMSingle` for [VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle)
- `VMCluster/vmselect`, `VMCluster/vminsert` and `VMCluster/vmstorage` for [VMCluster](./vmcluster.md) - `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. 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 ## Enterprise features
Custom resource `VMUser` supports feature [IP filters](https://docs.victoriametrics.com/vmauth.html#ip-filters) Custom resource `VMUser` supports feature [IP filters](https://docs.victoriametrics.com/vmauth#ip-filters)
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise). from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
### IP Filters ### IP Filters
For using [IP filters](https://docs.victoriametrics.com/vmauth.html#ip-filters) For using [IP filters](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/vmauth#ip-filters)
you need to **[enable VMAuth Enterprise](./vmauth.md#enterprise-features)**. you need to **[enable VMAuth Enterprise](https://docs.victoriametrics.com/vmauth#enterprise-features)**.
After that you can add `ip_filters` field to `VMUser`: After that you can add `ip_filters` field to `VMUser`:
@ -113,7 +111,7 @@ spec:
password: simple-password password: simple-password
# using enterprise features: ip filters for vmuser # 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: ip_filters:
allow_list: allow_list:
- 10.0.0.0/24 - 10.0.0.0/24
@ -143,5 +141,5 @@ spec:
paths: ["/api/v1/groups","/api/v1/alerts"] paths: ["/api/v1/groups","/api/v1/alerts"]
``` ```
More examples see on [Authorization and exposing components](../auth.md) page More examples see on [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth) page
and in [Quickstart guide](../quick-start.md#vmuser). and in [Quickstart guide](https://docs.victoriametrics.com/operator/quick-start#vmuser).

View File

@ -1,5 +1,4 @@
--- ---
sort: 3
weight: 3 weight: 3
title: Security title: Security
menu: menu:
@ -7,11 +6,9 @@ menu:
parent: "operator" parent: "operator"
weight: 3 weight: 3
aliases: aliases:
- /operator/security.html - /operator/security/
- /operator/security/index.html
--- ---
# Security
## Access control ## Access control
### Roles ### 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. - [`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). - [`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 `<RESOURCE_NAME>_viewer_role.yaml` - permissions for viewing (`get`, `list` and `watch`) some resource of vmoperator. - file `<RESOURCE_NAME>_viewer_role.yaml` - permissions for viewing (`get`, `list` and `watch`) some resource of vmoperator.
- file `<RESOURCE_NAME>_editor_role.yaml` - permissions for editing (`create`, `delete`, `patch`, `update` and `deletecollection`) some resource of vmoperator (also includes viewing permissions). - file `<RESOURCE_NAME>_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 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).
<!-- TODO: service accounts / role bindings? --> <!-- TODO: service accounts / role bindings? -->
<!-- TODO: resource/roles relations --> <!-- TODO: resource/roles relations -->

View File

@ -1,5 +1,4 @@
--- ---
sort: 2
weight: 2 weight: 2
title: Setup title: Setup
menu: menu:
@ -7,11 +6,9 @@ menu:
parent: "operator" parent: "operator"
weight: 2 weight: 2
aliases: aliases:
- /operator/setup.html - /operator/setup/
- /operator/setup/index.html
--- ---
# VictoriaMetrics Operator Setup
## Installing by helm-charts ## Installing by helm-charts
You can use one of the following official helm-charts with `vmoperator`: 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) ([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)). 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 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 ## Installing by Kustomize
You can install operator using [Kustomize](https://kustomize.io/) by pointing to the remote kustomization file. 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 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- github.com/VictoriaMetrics/operator/config/default?ref=${VM_VERSION} - github.com/VictoriaMetrics/operator/config/base?ref=${VM_VERSION}
namespace: ${NAMESPACE} namespace: ${NAMESPACE}
@ -77,11 +108,39 @@ kubectl get pods -n whatever-namespace
### Installing to K8s ### 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 ### 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 ### Run locally
@ -94,4 +153,4 @@ There is no need in an additional configuration for ARM. Operator and VictoriaMe
## Configuring ## 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).

View File

@ -1,5 +1,4 @@
--- ---
sort: 11
weight: 11 weight: 11
title: Variables title: Variables
menu: menu:
@ -7,12 +6,11 @@ menu:
parent: "operator" parent: "operator"
weight: 11 weight: 11
aliases: aliases:
- /operator/vars.html - /operator/vars/
- /operator/vars/index.html
--- ---
<!-- this doc autogenerated - don't edit it manually --> <!-- this doc autogenerated - don't edit it manually -->
# Auto Generated vars for package config updated at Fri Aug 9 18:57:09 UTC 2024
updated at Fri Jul 5 11:51:01 UTC 2024
| variable name | variable default value | variable required | variable description | | 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_CONTAINERREGISTRY | - | false | container registry name prefix, e.g. docker.io |
| VM_CUSTOMCONFIGRELOADERIMAGE | victoriametrics/operator:config-reloader-v0.43.0 | false | - | | VM_CUSTOMCONFIGRELOADERIMAGE | victoriametrics/operator:config-reloader-v0.43.0 | false | - |
| VM_PSPAUTOCREATEENABLED | false | 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_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_PORT | 8080 | false | - |
| VM_VMALERTDEFAULT_USEDEFAULTRESOURCES | true | false | - | | VM_VMALERTDEFAULT_USEDEFAULTRESOURCES | true | false | - |
| VM_VMALERTDEFAULT_RESOURCE_LIMIT_MEM | 500Mi | false | - | | VM_VMALERTDEFAULT_RESOURCE_LIMIT_MEM | 500Mi | false | - |
@ -33,7 +39,7 @@ aliases:
| VM_VMALERTDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - | | VM_VMALERTDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - |
| VM_VMALERTDEFAULT_CONFIGRELOADIMAGE | jimmidyson/configmap-reload:v0.3.0 | false | - | | VM_VMALERTDEFAULT_CONFIGRELOADIMAGE | jimmidyson/configmap-reload:v0.3.0 | false | - |
| VM_VMAGENTDEFAULT_IMAGE | victoriametrics/vmagent | 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_CONFIGRELOADIMAGE | quay.io/prometheus-operator/prometheus-config-reloader:v0.68.0 | false | - |
| VM_VMAGENTDEFAULT_PORT | 8429 | false | - | | VM_VMAGENTDEFAULT_PORT | 8429 | false | - |
| VM_VMAGENTDEFAULT_USEDEFAULTRESOURCES | true | false | - | | VM_VMAGENTDEFAULT_USEDEFAULTRESOURCES | true | false | - |
@ -44,7 +50,7 @@ aliases:
| VM_VMAGENTDEFAULT_CONFIGRELOADERCPU | 100m | false | - | | VM_VMAGENTDEFAULT_CONFIGRELOADERCPU | 100m | false | - |
| VM_VMAGENTDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - | | VM_VMAGENTDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - |
| VM_VMSINGLEDEFAULT_IMAGE | victoriametrics/victoria-metrics | 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_PORT | 8429 | false | - |
| VM_VMSINGLEDEFAULT_USEDEFAULTRESOURCES | true | false | - | | VM_VMSINGLEDEFAULT_USEDEFAULTRESOURCES | true | false | - |
| VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_MEM | 1500Mi | false | - | | VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_MEM | 1500Mi | false | - |
@ -55,14 +61,14 @@ aliases:
| VM_VMSINGLEDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - | | VM_VMSINGLEDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - |
| VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES | true | false | - | | VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES | true | false | - |
| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_IMAGE | victoriametrics/vmselect | 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_PORT | 8481 | false | - |
| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_MEM | 1000Mi | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_MEM | 1000Mi | false | - |
| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_CPU | 500m | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_CPU | 500m | false | - |
| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_MEM | 500Mi | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_MEM | 500Mi | false | - |
| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_CPU | 100m | false | - | | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_CPU | 100m | false | - |
| VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_IMAGE | victoriametrics/vmstorage | 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_VMINSERTPORT | 8400 | false | - |
| VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VMSELECTPORT | 8401 | false | - | | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VMSELECTPORT | 8401 | false | - |
| VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_PORT | 8482 | 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_MEM | 500Mi | false | - |
| VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_CPU | 250m | false | - | | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_CPU | 250m | false | - |
| VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_IMAGE | victoriametrics/vminsert | 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_PORT | 8480 | false | - |
| VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_MEM | 500Mi | false | - | | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_MEM | 500Mi | false | - |
| VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_CPU | 500m | false | - | | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_CPU | 500m | false | - |
@ -90,7 +96,7 @@ aliases:
| VM_VMALERTMANAGER_RESOURCE_REQUEST_CPU | 30m | false | - | | VM_VMALERTMANAGER_RESOURCE_REQUEST_CPU | 30m | false | - |
| VM_DISABLESELFSERVICESCRAPECREATION | false | false | - | | VM_DISABLESELFSERVICESCRAPECREATION | false | false | - |
| VM_VMBACKUP_IMAGE | victoriametrics/vmbackupmanager | 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_PORT | 8300 | false | - |
| VM_VMBACKUP_USEDEFAULTRESOURCES | true | false | - | | VM_VMBACKUP_USEDEFAULTRESOURCES | true | false | - |
| VM_VMBACKUP_RESOURCE_LIMIT_MEM | 500Mi | false | - | | VM_VMBACKUP_RESOURCE_LIMIT_MEM | 500Mi | false | - |
@ -99,7 +105,7 @@ aliases:
| VM_VMBACKUP_RESOURCE_REQUEST_CPU | 150m | false | - | | VM_VMBACKUP_RESOURCE_REQUEST_CPU | 150m | false | - |
| VM_VMBACKUP_LOGLEVEL | INFO | false | - | | VM_VMBACKUP_LOGLEVEL | INFO | false | - |
| VM_VMAUTHDEFAULT_IMAGE | victoriametrics/vmauth | 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_CONFIGRELOADIMAGE | quay.io/prometheus-operator/prometheus-config-reloader:v0.68.0 | false | - |
| VM_VMAUTHDEFAULT_PORT | 8427 | false | - | | VM_VMAUTHDEFAULT_PORT | 8427 | false | - |
| VM_VMAUTHDEFAULT_USEDEFAULTRESOURCES | true | false | - | | VM_VMAUTHDEFAULT_USEDEFAULTRESOURCES | true | false | - |
@ -131,4 +137,4 @@ aliases:
| VM_PODWAITREADYINITDELAY | 10s | false | - | | VM_PODWAITREADYINITDELAY | 10s | false | - |
| VM_FORCERESYNCINTERVAL | 60s | false | configures force resync interval for VMAgent, VMAlert, VMAlertmanager and VMAuth. | | 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 | | 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