Skip to content

Releases: VictoriaMetrics/operator

v0.69.0

22 Apr 11:29
8e41c83

Choose a tag to compare

  • Dependency: vmoperator: Updated default versions for VM apps to v1.140.0 version

  • Dependency: vmoperator: Updated default versions for VM apps to v1.139.0 version
    Update note 1: deprecated env variables for Prometheus CRs conversion VM_ENABLEDPROMETHEUSCONVERTER_PODMONITOR, VM_ENABLEDPROMETHEUSCONVERTER_SERVICESCRAPE, VM_ENABLEDPROMETHEUSCONVERTER_PROMETHEUSRULE, VM_ENABLEDPROMETHEUSCONVERTER_PROBE, VM_ENABLEDPROMETHEUSCONVERTER_SCRAPECONFIG. Use -controller.disableReconcileFor command-line flag with comma-separated list of controller names, that should be disabled.
    Update note 2: removed operator_prometheus_converter_watch_events_total metric since migration of Prometheus object watchers to controllers made this counter obsolete.
    Update note 3: made controller.prometheusCRD.resyncPeriod command line flag noop, which was relevant to Prometheus object watchers.
    Update note 4: -eula flag is not set by default anymore for VMBackup and VMRestore. To avoid VMCluster/VMSingle rollouts set spec.vmstorage.vmBackup.acceptEula: true for VMCluster and spec.vmBackup.acceptEula: true" for VMSingle and replace it with spec.license during VMSingle/VMCluster upgrade.
    Update note 5: new flag was introduced, so VMAnomaly pods will be recreated. VMAnomaly version should be at least 1.25.
    Update note 6: fixed port name collision in VMSingle and VMCluster, when VMBackup is enabled. To avoid VMSingle/VMCluster pods recreation set VM_USE_OLD_BACKUP_RESTORE_PORT_NAMES environment variable to true.
    Update note 7: the default VMDistributed unauthorizedUserAccessSpec was removed to allow users to decide whether access should be anonymous or authorized. Please check documentation with examples for unauthorized and authorized access and update your CRs accordingly.

  • Dependency: vmoperator: Updated default versions for VM apps to v1.139.0 version

  • Dependency: vmoperator: Updated default versions for VL apps to v1.50.0.

  • FEATURE: helm-converter: new CLI tool that helps with migration from Helm charts to their corresponding Operator Custom Resources (CRs).

  • FEATURE: vmsingle: VMSingle reuses vmagent implementation to allow scraping and relabelling. See #1694

  • FEATURE: vmoperator: perform statefulset pods deletion instead of eviction when maxUnavailable set to 100%, which is important for minimum downtime strategy. See #1706.

  • FEATURE: vmuser: support referencing multiple targets of the same kind at targetRefs[*].crd.objects.

  • FEATURE: vmoperator: prettify reconcile diff in logs, now diff objects show only changed JSON fields.

  • FEATURE: VLCluster, VLSingle, VLAgent, VTCluster, VTSingle, VMCluster, VMAgent, VMAnomaly, VMAlert, VMAlertmanager, VMAuth: add spec.componentVersion as an alternative to spec.clusterVersion. This field also available in all objects deploying pods. See this #1949 issue for details.

  • FEATURE: vmanomaly: add support for settings.retention configuration (ttl and check_interval) in configRawYaml and configSecret. See these docs for details.

  • FEATURE: vmuser: support JWT-based auth.

  • FEATURE: vmagent: support HPA in VMAgent CR and in VMAgent, which is a part of VMDistributed. See #1961.

  • FEATURE: vmagent: VMAgent CRs running in statefulSet mode, including VMAgent components in VMDistributed, now support configuring rolling update strategy behavior. See #1987.

  • FEATURE: vmagent: VMAgent CRs running in DaemonSet mode now support configuring rolling update strategy behavior.

  • FEATURE: vmoperator: Dry-run mode. See #1832.

  • FEATURE: vmanomaly: introduce VMAnomalyConfig CRD to enable dynamic configuration and hot-reload support starting from VMAnomaly version 1.25.0.

  • FEATURE: vmalertmanager: introduce arbitrary fs access feature for VMAlertmanager. See #899

  • FEATURE: vmalertmanagerconfig: add update_message field to SlackConfig. This allows alertmanager to edit the original Slack message in-place when alert status changes instead of sending a new one. Requires alertmanager v0.32.0+. See #2064.

  • BUGFIX: vmbackupmanager: remove deprecated -eula flag from vmbackupmanager and vmrestore container args. See #1319.

  • BUGFIX: vmoperator: VMPodScrape for VLAgent and VMAgent now uses the correct port; previously it used the wrong port and could cause scrape failures. See #1887.

  • BUGFIX: vmdistributed: updated VMAuth config consolidating all VMSelects into a single read and all VMClusters into a single write backend

  • BUGFIX: vmdistributed: fix PVC being owned by StatefulSet and top-level object simultaneously. See #1845.

  • BUGFIX: vmoperator: remove unneeded finalizer from core K8s resources. See #835.

  • BUGFIX: vmdistributed: remove finalizers from VMServiceScrape and VMPodScrape objects, and keep finalizers on VMAgent, VMCluster, and VMAuth when DeletionTimestamp is not empty.

  • BUGFIX: vmsingle and vmagent: previously, ingest-only mode could still mount scrape configuration secrets when relabeling or stream aggregation was configured, which caused unexpected secret mounts and RBAC-related failures; now these secrets are not mounted in ingest-only mode, so deployments start with the expected minimal permissions and avoid related runtime errors. See #1828.

  • BUGFIX: vmoperator: recreate STS if immutable fields changed.

  • BUGFIX: vmoperator: wait for STS deletion in case of recreation without throwing an error.

  • BUGFIX: vmdistributed: ignore VMAuth update/delete operations if controller is disabled.

  • BUGFIX: vmalertmanager: fixed ignored tracing config, when no alertmanagerconfig CRs collected. See #1983.

  • BUGFIX: vmagent: apply scrape class relabellings before job ones. See #1997.

  • BUGFIX: vmanomaly and vmagent: render %SHARD_NUM% placeholder when shard count is greater than 0. See [#2001](https://github.com/VictoriaMetrics/operator/i...

Read more

v0.68.4

09 Apr 09:24
5ea6e39

Choose a tag to compare

  • FEATURE: vmagent: introduce statefulRollingUpdateStrategyBehavior to allow managing VMAgent update strategy in a statefulMode. See #1987.

  • FEATURE: vmoperator: Dry-run mode. See #1832.

  • BUGFIX: vmoperator: wait till PVC resize finished. See #1970.

  • BUGFIX: vmalertmanager: fixed ignored tracing config, when no alertmanagerconfig CRs collected. See #1983.

  • BUGFIX: vmagent: apply scrape class relabellings before job ones. See #1997.

  • BUGFIX: vmanomaly and vmagent: render %SHARD_NUM% placeholder when shard count is greater than 0. See #2001.

  • BUGFIX: vlcluster and vtcluster: do not ignore ExtraStorageNodes for select, when default storage is disabled. See #1910.

  • BUGFIX: vmdistributed: use default stub, when no VMAuth backends are available

v0.68.3

16 Mar 12:23
de8b5e5

Choose a tag to compare

  • FEATURE: vmoperator: prettify reconcile diff in logs, now diff objects show only changed JSON fields.

  • FEATURE: vmoperator: introduce VM_LOOPBACK env variable, which allows to override default loopback address, which is either localhost if VM _ENABLETCP6=true or 127.0.0.1 in other cases. Note: this change may cause component rollouts when 127.0.0.1 is used as the loopback address. Make sure to set this env var before upgrading
    .

  • BUGFIX: vmoperator: recreate STS if immutable fields changed.

  • BUGFIX: vmoperator: pod recreation isn't lost after triggerring StatefulSet delete.

  • BUGFIX: vmdistributed: updated VMAuth config consolidating all VMSelects into a single read and all VMAgents into a si
    ngle write backend.

  • BUGFIX: vmoperator: fix finalizer cleanup for VLAgent, VLogs, VMAgent, and VMSingle to target the correct resources.

  • BUGFIX: config-reloader: log-format option supported as fallback for loggerFormat. See [#1954](https://gi
    thub.com//issues/1954).

  • SECURITY: upgrade Go builder from Go1.25.7 to Go1.25.8. See the list of issues addressed in Go1.25.8.

v0.68.3-rc0

16 Mar 09:42
f48547d

Choose a tag to compare

v0.68.3-rc0 Pre-release
Pre-release
  • FEATURE: vmoperator: prettify reconcile diff in logs, now diff objects show only changed JSON fields.

  • FEATURE: vmoperator: introduce VM_LOOPBACK env variable, which allows to override default loopback address, which is either localhost if VM _ENABLETCP6=true or 127.0.0.1 in other cases. Note: this change may cause component rollouts when 127.0.0.1 is used as the loopback address. Make sure to set this env var before upgrading
    .

  • BUGFIX: vmoperator: recreate STS if immutable fields changed.

  • BUGFIX: vmoperator: pod recreation isn't lost after triggerring StatefulSet delete.

  • BUGFIX: vmdistributed: updated VMAuth config consolidating all VMSelects into a single read and all VMAgents into a si
    ngle write backend.

  • BUGFIX: vmoperator: fix finalizer cleanup for VLAgent, VLogs, VMAgent, and VMSingle to target the correct resources.

  • BUGFIX: config-reloader: log-format option supported as fallback for loggerFormat. See [#1954](https://gi
    thub.com//issues/1954).

  • SECURITY: upgrade Go builder from Go1.25.7 to Go1.25.8. See the list of issues addressed in Go1.25.8.

v0.68.2

04 Mar 18:43
44e7578

Choose a tag to compare

  • Dependency: vmoperator: Updated default versions for VL apps to v1.47.0.

  • BUGFIX: vmoperator: perform statefulset pods deletion instead of eviction when maxUnavailable set to 100%, which is important for minimum downtime strategy. See #1706.

  • BUGFIX: vmoperator: VMPodScrape for VLAgent and VMAgent now uses the correct port; previously it used the wrong port and could cause scrape failures. See #1887.

  • BUGFIX: vmdistributed: fix PVC being owned by StatefulSet and top-level object simultaenously. See #1845.

  • BUGFIX: vmoperator: remove unneeded finalizer from core K8s resources. See #835.

  • BUGFIX: vmdistributed: remove finalizers from VMServiceScrape and VMPodScrape objects, and keep finalizers on VMAgent, VMCluster, and VMAuth when DeletionTimestamp is not empty.

  • BUGFIX: vmsingle and vmagent: previously, ingest-only mode could still mount scrape configuration secrets when relabeling or stream aggregation was configured, which caused unexpected secret mounts and RBAC-related failures; now these secrets are not mounted in ingest-only mode, so deployments start with the expected minimal permissions and avoid related runtime errors. See #1828.

  • BUGFIX: vmoperator: do not recreate STS if VCT size was increased and recreate in other cases.

  • BUGFIX: vmoperator: wait for STS deletion in case of recreation without throwing an error.

v0.69.0-rc1

03 Mar 19:50
61acd66

Choose a tag to compare

v0.69.0-rc1 Pre-release
Pre-release
  • Dependency: vmoperator: Updated default versions for VM apps to v1.137.0 version

  • Dependency: vmoperator: Updated default versions for VL apps to v1.47.0.

  • FEATURE: vmsingle: VMSingle reuses vmagent implementation to allow scraping and relabelling. See #1694

  • FEATURE: vmoperator: perform statefulset pods deletion instead of eviction when maxUnavailable set to 100%, which is important for minimum downtime strategy. See #1706.

  • FEATURE: vmuser: support targetRefs[*].crds to place multiple CRD objects behind a single backend

  • BUGFIX: vmoperator: VMPodScrape for VLAgent and VMAgent now uses the correct port; previously it used the wrong port and could cause scrape failures. See #1887.

  • BUGFIX: vmdistributed: updated VMAuth config consolidating all VMSelects into a single read and all VMClusters into a single write backend

  • BUGFIX: vmdistributed: fix PVC being owned by StatefulSet and top-level object simultaenously. See #1845.

  • BUGFIX: vmoperator: remove unneeded finalizer from core K8s resources. See #835.

v0.69.0-rc0

27 Feb 10:33
dd6bb17

Choose a tag to compare

v0.69.0-rc0 Pre-release
Pre-release
  • Dependency: vmoperator: Updated default versions for VL apps to v1.47.0.

  • FEATURE: vmsingle: VMSingle reuses vmagent implementation to allow scraping and relabelling. See #1694

  • FEATURE: vmoperator: perform statefulset pods deletion instead of eviction when maxUnavailable set to 100%, which is important for minimum downtime strategy. See #1706.

  • BUGFIX: vmoperator: VMPodScrape for VLAgent and VMAgent now uses the correct port; previously it used the wrong port and could cause scrape failures. See #1887.

  • BUGFIX: vmoperator: remove unneeded finalizer from core K8s resources. See #835.

v0.68.1

23 Feb 12:15
3fdcf59

Choose a tag to compare

SECURITY: upgrade Go builder from Go1.25.5 to Go1.25.7. See the list of issues addressed in Go1.25.7.)

  • BUGFIX: vmanomaly: fix configuration marshalling for Prophet model. Previously, using Prophet model would lead to panic during configuration marshalling.

v0.68.0

23 Feb 09:57
103b19e

Choose a tag to compare

Release date: 23 February 2026

Update note 1: deprecated VMProbe's spec.targets.ingress. Use spec.targets.kubernetes slice instead. Please check example of VMProbe with Ingress discovery. This field will be removed in v0.71.0.

Update note 2: deprecated VMProbe's spec.targets.staticConfig. Use spec.targets.static instead. Please check example of VMProbe with static targets. This field will be removed in v0.71.0.

  • Dependency: vmoperator: Updated default versions for VM apps to v1.136.0 version

  • Dependency: vmoperator: Updated default versions for VL apps to v1.45.0.

  • FEATURE: vmalertmanager: added namespace to --cluster.peer arguments explicitly when spec.clusterDomainName is omitted and added unit tests to test this.

  • FEATURE: vmoperator: introduce VMDistributed CR, which helps to propagate changes to each zone without affecting global availability. Before distributed setup deployment was multistep manual action. See #1515.

  • FEATURE: vlagent: support ability to override default stream fields for vlagent in logs collection mode.

  • FEATURE: vmoperator: added VM_*_EPHEMERAL_STORAGE_REQUEST and VM_*_EPHEMERAL_STORAGE_LIMIT global variables that allow to configure ephemeralStorage requests and limits. See #1711.

  • FEATURE: vmalertmanager: added tracing support. See #1770.

  • FEATURE: vmprobe: added spec.targets.kubernetes property, that allows to configure probe for ingress, pod and service roles. See #1078 and #1716.

  • FEATURE: vmscrapeconfig: added nomad_sd_config support. See #1809.

  • FEATURE: vmoperator: support VPA for vmcluster, vtcluster, vlcluster and vmauth. See #1795. Thanks to the @dctrwatson for the pull request #1803.

  • BUGFIX: vmagent: previously the operator requested nodes/proxy RBAC permissions even though vmagent did not use them; now this permission is no longer required, reducing the default privilege footprint for users running vmagent. See #1753.

  • BUGFIX: vmalert: throw error if no notifiers found. See #1757.

  • BUGFIX: vlagent: previously the operator emitted quoted spec.k8sCollector.{msgField,timeField,ignoreFields,decolorizeFields} values, which caused vlagent to misparse these fields; now these fields are emitted unquoted so collector settings are applied correctly. See #1749.

  • BUGFIX: vmoperator: fixed conflicts for VMAlert, VMAlertmanager and VMAuth reconcilers, which are updating same objects concurrently with reconcilers for their child objects.

  • BUGFIX: vmoperator: previously PVC downscaling always emitted a warning, which is not expected, while using PVC autoresizer; now warning during attempt to downsize PVC is only emitted if operator.victoriametrics.com/pvc-allow-volume-expansion: false is not set. See #1747.

  • BUGFIX: vmoperator: skip self scrape objects management if respective controller is disabled. See #1718.

  • BUGFIX: vmagent: support both prometheus-compatible endpointslice and old endpointslices roles.

  • BUGFIX: vmanomaly: fix pod metrics port in the default VMPodScrape.

  • BUGFIX: vmoperator: support Prometheus operator AlertmanagerConfig spec.muteTimeIntervals conversion to VMAlertmanagerConfig spec.timeIntervals. See #1783.

  • BUGFIX: vmoperator: previously StatefulSet/Deployment/DaemonSet rollouts could proceed in parallel, now pods are rolled out sequentially. See #1693.

  • BUGFIX: config-reloader: previously --only-init-config still kept the reloader running background watchers; now it exits after the initial config update so the pod terminates as expected. See #1785.

  • BUGFIX: vmoperator: previously, recreating a resource after deletion could hang and block updates; now resource recreation completes normally. See #1707.

  • BUGFIX: vmoperator: use global image registry unless image.repository is defined. See #1813.

  • BUGFIX: vmalertmanagerconfig: previously spec.route and spec.receivers were required; now both parameters are optional to align with prometheus operator. VMAlertmanager now can be used to set just the global inhibition rules. See #1800.

  • BUGFIX: vmoperator: use global image registry unless image.repository is defined. See #1813.

  • BUGFIX: vmagent: fixed RBAC, when ingestOnlyMode is enabled and relabel of stream aggregation configurations defined. See #1828.

v0.68.0-rc1

16 Feb 15:04
4c7e3a1

Choose a tag to compare

v0.68.0-rc1 Pre-release
Pre-release

Update note 1: deprecated VMProbe's spec.targets.ingress. Use spec.targets.kubernetes slice instead. Please check example of VMProbe with Ingress discovery. This field will be removed in v0.71.0.

Update note 2: deprecated VMProbe's spec.targets.staticConfig. Use spec.targets.static instead. Please check example of VMProbe with static targets. This field will be removed in v0.71.0.

  • Dependency: vmoperator: Updated default versions for VM apps to v1.135.0 version

  • Dependency: vmoperator: Updated default versions for VL apps to v1.45.0.

  • FEATURE: vmalertmanager: added namespace to --cluster.peer arguments explicitly when spec.clusterDomainName is omitted and added unit tests to test this.

  • FEATURE: vmoperator: introduce VMDistributed CR, which helps to propagate changes to each zone without affecting global availability. Before distributed setup deployment was multistep manual action. See #1515.

  • FEATURE: vlagent: support ability to override default stream fields for vlagent in logs collection mode.

  • FEATURE: vmoperator: added VM_*_EPHEMERAL_STORAGE_REQUEST and VM_*_EPHEMERAL_STORAGE_LIMIT global variables that allow to configure ephemeralStorage requests and limits. See #1711.

  • FEATURE: vmalertmanager: added tracing support. See #1770.

  • FEATURE: vmprobe: added spec.targets.kubernetes property, that allows to configure probe for ingress, pod and service roles. See #1078 and #1716.

  • BUGFIX: vmagent: previously the operator requested nodes/proxy RBAC permissions even though vmagent did not use them; now this permission is no longer required, reducing the default privilege footprint for users running vmagent. See #1753.

  • BUGFIX: vmalert: throw error if no notifiers found. See #1757.

  • BUGFIX: vlagent: previously the operator emitted quoted spec.k8sCollector.{msgField,timeField,ignoreFields,decolorizeFields} values, which caused vlagent to misparse these fields; now these fields are emitted unquoted so collector settings are applied correctly. See #1749.

  • BUGFIX: vmoperator: fixed conflicts for VMAlert, VMAlertmanager and VMAuth reconcilers, which are updating same objects concurrently with reconcilers for their child objects.

  • BUGFIX: vmoperator: previously PVC downscaling always emitted a warning, which is not expected, while using PVC autoresizer; now warning during attempt to downsize PVC is only emitted if operator.victoriametrics.com/pvc-allow-volume-expansion: false is not set. See #1747.

  • BUGFIX: vmoperator: skip self scrape objects management if respective controller is disabled. See #1718.

  • BUGFIX: vmagent: support both prometheus-compatible endpointslice and old endpointslices roles.

  • BUGFIX: vmanomaly: fix pod metrics port in the default VMPodScrape.

  • BUGFIX: vmoperator: support Prometheus operator AlertmanagerConfig spec.muteTimeIntervals conversion to VMAlertmanagerConfig spec.timeIntervals. See #1783.

  • BUGFIX: vmoperator: previously StatefulSet/Deployment/DaemonSet rollouts could proceed in parallel, now pods are rolled out sequentially. See #1693.

  • BUGFIX: config-reloader: previously --only-init-config still kept the reloader running background watchers; now it exits after the initial config update so the pod terminates as expected. See #1785.

  • BUGFIX: vmoperator: previously, recreating a resource after deletion could hang and block updates; now resource recreation completes normally. See #1707.