github.com/VictoriaMetrics/operator
v0.74.1
VictoriaMetrics/operator
What this package is like to depend on
Last release 3 days ago
21 Aug 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 165 of 178 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
753 releases · first in 2020
213 releases in the last 12 months
see the full history below
Release timeline
753 releases · Jun 2020 to Aug 2026Releases
latest 60 of 753-
v0.74.2-0.20260821083811-d0d258c86b5a21 Aug 2026 pre-releaseNothing published for this version
-
v0.74.2-0.20260814175541-b43c2578d98f14 Aug 2026 pre-releaseNothing published for this version
-
v0.74.2-0.20260806120342-4797937241b206 Aug 2026 pre-releaseNothing published for this version
-
v0.74.104 Aug 2026Release notes
Open source →- BUGFIX: vldistributed: add validation webhook for VLDistributed resources.
Release notes
Open source →Release date: 04 Aug 2026
-
FEATURE: vmalertmanagerconfig: add
http_headersfield tohttp_config, letting a receiver send custom HTTP headers (literal values, Secret-backed values, or values read from a file) with each notification request. See #2459. -
BUGFIX: vmoperator: fix
spec.arbitraryFSAccessThroughSMs.denysilently not rejecting abearerTokenFile/basicAuth.passwordFile/oauth2.clientSecretFile/authorization.credentialsFilereference whenevertlsConfigwasn't also set, since the check discarded any already-found violation instead of just skipping the (unset) TLS-specific ones. -
BUGFIX: vldistributed: add validation webhook for VLDistributed resources.
-
BUGFIX: vmoperator: fix a regression introduced in v0.74.0 where disabling a child-object controller via
-controller.disableReconcileFor, directly or transitively through its parent (e.g. VMUser via VMAuth), could crash the operator on startup withcannot register status condition indexers. See #2478.
-
v0.74.1-0.20260803131825-a9934f98e16103 Aug 2026 pre-releaseNothing published for this version
-
v0.74.1-0.20260731114856-b8ed44125e4631 Jul 2026 pre-releaseNothing published for this version
-
v0.74.030 Jul 2026Release notes
Open source →Update note 1: vmoperator: validation webhooks for prometheus-operator CRDs added to the operator in 0.72.0 is now disabled by default. Use
VM_PROMCR_VALIDATION_ENABLEDenv var to enable it explicitly.-
Dependency: vmoperator: Updated default versions for VM apps to v1.148.0 version
-
Dependency: vmoperator: Updated default versions for VL apps to v1.52.0.
-
Dependency: vmoperator: Updated default versions for VT apps to v0.10.0 version.
-
Dependency: vmoperator: Updated default versions for VMAnomaly to v1.30.0 version
-
FEATURE: vmanomaly: support Temporal Envelope models, online-model history strength and warmup settings, causal and complexity-aware autotune options, and separate reader fetch and processing controls introduced in vmanomaly v1.30.0. See #2440.
-
FEATURE: vmoperator: add
networkPolicyfield to all supported CRDs (VMSingle,VMAgent,VMAlert,VMAlertmanager,VMAuth,VLSingle,VLAgent,VTSingle,VMAnomaly, and all cluster sub-components). When set, the operator creates and manages aNetworkPolicyresource that restricts ingress/egress to the component's pods. See #2977. -
BUGFIX: vmoperator: grant the operator's
ClusterRolepermissions onnetworking.k8s.io/networkpolicies. ThenetworkPolicyfeature above was shipped without this grant, so the operator would fail with aForbiddenerror creating/updating/deletingNetworkPolicyobjects on a real cluster. -
FEATURE: vmauth: add opt-in
spec.waitForConfigReloadfield. When enabled, the operator confirms that every replica has actually picked up a config change before marking dependentVMUserobjects as applied, so their status can be trusted to reflect what's actually running rather than what was merely written out. vmdistributed's internalVMAuthload balancer always waits for this confirmation before rotating a zone in or out of the backend list, regardless ofspec.vmAuth.spec.waitForConfigReload, so traffic is never routed to a zone that's still running a stale config. -
FEATURE: vlagent: add
basicAuthfield support toremoteWriteentries. See #2371. -
FEATURE: vmcluster: support VMCluster extraStorageNodes for vmselect component.
-
FEATURE: vmuser: add
defaultVMAccessClaimfield tospec.jwt, mapped to vmauth'sjwt.default_vm_access_claim. It lets aVMUseraccept JWTs that don't carry avm_accessclaim, matchingvmauthv1.147.0+ behavior. See #2375. -
FEATURE: helm-converter: parse the victoria-metrics-auth chart's
configvalue (vmauth's own native config file). Eachconfig.usersentry is converted into a standaloneVMUserCR, andconfig.unauthorized_useris converted into theVMAuthCR'sspec.unauthorizedUserAccessSpec. The generatedVMUserCRs are appended to the same output file as additional YAML documents, and theVMAuthCR'sspec.userSelectoris set to a dedicated label matching them, so the operator actually loads them (a bareVMAuthCR's default selectors match nothing). See #2397. -
FEATURE: vmoperator: introduce
VLDistributedCR, which controls multiple region-distributed VictoriaLogs clusters. -
BUGFIX: vmoperator: support
Ignoredstatus for child objects that were not picked, also do not setFailedstatus if object was applied on at least one parent object. See #2432. -
BUGFIX: vmoperator: removed
library/component, while building CR images that do not contain/in repo name. See #2409. -
BUGFIX: vmoperator: log only the changed key names and value sizes, instead of the full values, when updating
ConfigMap. Previously a singledata_difflog line could reach multiple megabytes for large ConfigMaps and break downstream log pipelines with per-line size limits. See #2426. -
BUGFIX: vmagent, vmsingle: add missing
listverb to config-reloader's secrets RBAC rule. See #2384. -
BUGFIX: vmoperator: return an error instead of panicking when a
Labelsmap value is malformed (missing the=separator) during config parsing. -
BUGFIX: vmalert: when no notifiers are configured, ignore alerting rules from selected VMRules instead of failing reconciliation; recording rules in the same group are kept and still reconciled. See #2388.
-
BUGFIX: vmalertmanager: default pod
securityContext.fsGroupto65534when persistent storage is configured and neitheruseStrictSecuritynor a usersecurityContextis set. Without it the alertmanager process cannot write notification log and silences to a freshly provisioned volume, so silences are silently lost on pod restart. User-providedsecurityContextanduseStrictSecuritykeep their previous behaviour. -
BUGFIX: vmoperator: allow pinning images by digest via the
image.tagfield of all operator CRs. Whentagis a digest (e.g.sha256:<hex>) it is now joined to the repository with@instead of:, producing a validrepository@sha256:<digest>reference. Regular tags are unaffected. -
BUGFIX: helm-converter: fix
persistentVolume.storageClassNamebeing dropped during conversion due to a stalestorageClassfield name. See #2389. -
BUGFIX: helm-converter: fix
securityContext.runAsNonRoot,runAsUser,runAsGroup,seccompProfile,appArmorProfile,seLinuxOptions, andwindowsOptionsbeing silently dropped during conversion; these are now promoted tospec.securityContext.podSecurityContext, matching how the operator applies them to containers. See #2391. -
BUGFIX: helm-converter: fix TLS/mTLS settings (
tlsCAFile,tlsCertFile,tlsKeyFile,tlsServerName,tlsInsecureSkipVerify) onremoteWriteentries being dropped during conversion for vmagent, vlagent, vlcollector, and vmalert charts. See #2390. -
BUGFIX: helm-converter: fix
cannot unmarshal object into Go struct field ... headers of type []stringerror when a chart's default values.yaml ships aheaders: {}map (e.g. vmalert'sdatasource.headers,notifier.headers,remoteWrite.headers); such maps are now normalized to the operator'skey:valuestring-slice format before conversion. See #2398. -
BUGFIX: helm-converter: fix
extraVolumes/extraVolumeMountsbeing silently dropped during conversion for vmsingle, vmagent, vmalert, vmanomaly, vmcluster, vlcluster, vtcluster, vtsingle, vlogs, and vmauth charts. See #2424. -
BUGFIX: vmagent, vmanomaly: target
spec.vpaat theVMAgent/VMAnomalycustom resource itself instead of its underlyingDeployment/StatefulSet. VPA rejects atargetRefwhose owner chain includes another scalable controller, so aVerticalPodAutoscalertargeting the workload directly was silently non-functional whenever the CR exposed ascalesubresource. See #2415. -
BUGFIX: vlagent: remove a vestigial
scalesubresource declaration referencing nonexistentspec/statusfields, which unconditionally brokespec.vpaforVLAgentthe same way as #2415. -
BUGFIX: vmalert, vmagent, vmalertmanager, vmauth, vmsingle: fix child object selection (
VMRule, scrape objects,VMAlertmanagerConfig,VMUser) being silently skipped whenever the parent CR's spec contains a field the running operator version doesn't recognize (e.g. after a CRD/operator version mismatch), even though the CR otherwise reconciles successfully with no errors. See #2444.
Release notes
Open source →Release date: 30 July 2026
Update note 1: vmoperator: validation webhooks for prometheus-operator CRDs added to the operator in 0.72.0 is now disabled by default. Use
VM_PROMCR_VALIDATION_ENABLEDenv var to enable it explicitly.-
Dependency: vmoperator: Updated default versions for VM apps to v1.148.0 version
-
Dependency: vmoperator: Updated default versions for VL apps to v1.52.0.
-
Dependency: vmoperator: Updated default versions for VT apps to v0.10.0 version.
-
Dependency: vmoperator: Updated default versions for VMAnomaly to v1.30.0 version
-
FEATURE: vmanomaly: support Temporal Envelope models, online-model history strength and warmup settings, causal and complexity-aware autotune options, and separate reader fetch and processing controls introduced in vmanomaly v1.30.0. See #2440.
-
FEATURE: vmoperator: add
networkPolicyfield to all supported CRDs (VMSingle,VMAgent,VMAlert,VMAlertmanager,VMAuth,VLSingle,VLAgent,VTSingle,VMAnomaly, and all cluster sub-components). When set, the operator creates and manages aNetworkPolicyresource that restricts ingress/egress to the component's pods. See #2977. -
BUGFIX: vmoperator: grant the operator's
ClusterRolepermissions onnetworking.k8s.io/networkpolicies. ThenetworkPolicyfeature above was shipped without this grant, so the operator would fail with aForbiddenerror creating/updating/deletingNetworkPolicyobjects on a real cluster. -
FEATURE: vmauth: add opt-in
spec.waitForConfigReloadfield. When enabled, the operator confirms that every replica has actually picked up a config change before marking dependentVMUserobjects as applied, so their status can be trusted to reflect what's actually running rather than what was merely written out. vmdistributed's internalVMAuthload balancer always waits for this confirmation before rotating a zone in or out of the backend list, regardless ofspec.vmAuth.spec.waitForConfigReload, so traffic is never routed to a zone that's still running a stale config. -
FEATURE: vlagent: add
basicAuthfield support toremoteWriteentries. See #2371. -
FEATURE: vmcluster: support VMCluster extraStorageNodes for vmselect component.
-
FEATURE: vmuser: add
defaultVMAccessClaimfield tospec.jwt, mapped to vmauth'sjwt.default_vm_access_claim. It lets aVMUseraccept JWTs that don't carry avm_accessclaim, matchingvmauthv1.147.0+ behavior. See #2375. -
FEATURE: helm-converter: parse the victoria-metrics-auth chart's
configvalue (vmauth's own native config file). Eachconfig.usersentry is converted into a standaloneVMUserCR, andconfig.unauthorized_useris converted into theVMAuthCR'sspec.unauthorizedUserAccessSpec. The generatedVMUserCRs are appended to the same output file as additional YAML documents, and theVMAuthCR'sspec.userSelectoris set to a dedicated label matching them, so the operator actually loads them (a bareVMAuthCR's default selectors match nothing). See #2397. -
FEATURE: vmoperator: introduce
VLDistributedCR, which controls multiple region-distributed VictoriaLogs clusters. -
BUGFIX: vmoperator: support
Ignoredstatus for child objects that were not picked, also do not setFailedstatus if object was applied on at least one parent object. See #2432. -
BUGFIX: vmoperator: removed
library/component, while building CR images that do not contain/in repo name. See #2409. -
BUGFIX: vmoperator: log only the changed key names and value sizes, instead of the full values, when updating
ConfigMap. Previously a singledata_difflog line could reach multiple megabytes for large ConfigMaps and break downstream log pipelines with per-line size limits. See #2426. -
BUGFIX: vmagent, vmsingle: add missing
listverb to config-reloader's secrets RBAC rule. See #2384. -
BUGFIX: vmoperator: return an error instead of panicking when a
Labelsmap value is malformed (missing the=separator) during config parsing. -
BUGFIX: vmalert: when no notifiers are configured, ignore alerting rules from selected VMRules instead of failing reconciliation; recording rules in the same group are kept and still reconciled. See #2388.
-
BUGFIX: vmalertmanager: default pod
securityContext.fsGroupto65534when persistent storage is configured and neitheruseStrictSecuritynor a usersecurityContextis set. Without it the alertmanager process cannot write notification log and silences to a freshly provisioned volume, so silences are silently lost on pod restart. User-providedsecurityContextanduseStrictSecuritykeep their previous behaviour. -
BUGFIX: vmoperator: allow pinning images by digest via the
image.tagfield of all operator CRs. Whentagis a digest (e.g.sha256:<hex>) it is now joined to the repository with@instead of:, producing a validrepository@sha256:<digest>reference. Regular tags are unaffected. -
BUGFIX: helm-converter: fix
persistentVolume.storageClassNamebeing dropped during conversion due to a stalestorageClassfield name. See #2389. -
BUGFIX: helm-converter: fix
securityContext.runAsNonRoot,runAsUser,runAsGroup,seccompProfile,appArmorProfile,seLinuxOptions, andwindowsOptionsbeing silently dropped during conversion; these are now promoted tospec.securityContext.podSecurityContext, matching how the operator applies them to containers. See #2391. -
BUGFIX: helm-converter: fix TLS/mTLS settings (
tlsCAFile,tlsCertFile,tlsKeyFile,tlsServerName,tlsInsecureSkipVerify) onremoteWriteentries being dropped during conversion for vmagent, vlagent, vlcollector, and vmalert charts. See #2390. -
BUGFIX: helm-converter: fix
cannot unmarshal object into Go struct field ... headers of type []stringerror when a chart's default values.yaml ships aheaders: {}map (e.g. vmalert'sdatasource.headers,notifier.headers,remoteWrite.headers); such maps are now normalized to the operator'skey:valuestring-slice format before conversion. See #2398. -
BUGFIX: helm-converter: fix
extraVolumes/extraVolumeMountsbeing silently dropped during conversion for vmsingle, vmagent, vmalert, vmanomaly, vmcluster, vlcluster, vtcluster, vtsingle, vlogs, and vmauth charts. See #2424. -
BUGFIX: vmagent, vmanomaly: target
spec.vpaat theVMAgent/VMAnomalycustom resource itself instead of its underlyingDeployment/StatefulSet. VPA rejects atargetRefwhose owner chain includes another scalable controller, so aVerticalPodAutoscalertargeting the workload directly was silently non-functional whenever the CR exposed ascalesubresource. See #2415. -
BUGFIX: vlagent: remove a vestigial
scalesubresource declaration referencing nonexistentspec/statusfields, which unconditionally brokespec.vpaforVLAgentthe same way as #2415. -
BUGFIX: vmalert, vmagent, vmalertmanager, vmauth, vmsingle: fix child object selection (
VMRule, scrape objects,VMAlertmanagerConfig,VMUser) being silently skipped whenever the parent CR's spec contains a field the running operator version doesn't recognize (e.g. after a CRD/operator version mismatch), even though the CR otherwise reconciles successfully with no errors. See #2444.
-
-
v0.73.2-0.20260730130857-ca0f602cec5230 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260730114243-323303b5c6a330 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260728112513-b9d7cc153fc928 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260728110613-8d645ae5a02528 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260727152725-0f3016d9494327 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260724153824-c89a74c0b57f24 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260723095447-b0cfc380034723 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260722131953-f7a638a7128c22 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260721173159-54a08450a22d21 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260721100749-7cd2aec4e7f621 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260721080545-15b2ec93b71b21 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260720132109-9cb420023f9720 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260717145511-a7eaac6bb5a217 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260716050722-c7a97d8826a916 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260708111915-802f6e07bf9c08 Jul 2026 pre-releaseNothing published for this version
-
v0.73.2-0.20260708110053-bbaa5713ac6808 Jul 2026 pre-releaseNothing published for this version
-
v0.73.108 Jul 2026Release notes
Open source →- BUGFIX: vmrule: removed strategic-merge list semantics from rules as it breaks many rules, where it's a common practice to use a same rule name with different thresholds and severities.
Release notes
Open source →Release date: 08 Jul 2026
- BUGFIX: vmrule: removed strategic-merge list semantics from rules as it breaks many rules, where it's a common practice to use a same rule name with different thresholds and severities.
-
v0.73.007 Jul 2026Release notes
Open source →-
Dependency: vmoperator: Updated default versions for VM apps to v1.147.0 version
-
Dependency: vmoperator: Updated default versions for VL apps to v1.51.0.
-
Dependency: vmoperator: Updated default versions for VT apps to v0.9.4 version.
-
SECURITY: vmagent, vmsingle: remove cluster-wide
secretsandconfigmapspermissions from the operator-managedClusterRole. Secret access for the config-reloader is now granted via a namespace-scopedRolelimited to the single operator-managed config secret. Forvmsinglein ingest-only mode (the default), no secret or configmap permissions are granted at all. -
FEATURE: vmuser, vmauth: add
access_logfield support. See docs and #2359. -
FEATURE: vmuser: add
useExtraServiceboolean field tocrd.namespacedNameandcrd.objectsentries inVMUsertarget references. When set totrue, the operator resolves the target URL using the CR's additional service (configured viaspec.serviceSpec) instead of the default service. This lets you route VMAuth traffic to a dedicated service with different port mappings or service type without changing the primary service. See related types:CRDRef,NamespacedName. See #2333. -
FEATURE: vmoperator: add
useLegacyNamingfield to all operator CRs. When enabled, managed resources are named using the standalone Helm chart convention (CR name directly for single-component CRs;<name>-<component>for cluster CRs) instead of the default operator prefix convention. Useful when migrating from standalone charts to operator-managed resources without recreating existing resources. -
FEATURE: vmdistributed: support using
VMSinglebackends alongsideVMClusterbackends in separate zones. -
FEATURE: vmoperator: add
VM_OPENSHIFT_COMPATIBILITYenv var (OpenshiftCompatibilityModeconfig field, defaultauto) to enable OpenShift-specific compatibility features for managed pods. Inautomode the operator detects OpenShift at startup via presence ofsecurity.openshift.io/v1API group. Currently covers automatic mounting of theopenshift-service-ca.crtConfigMap intoVMAgentandVMSinglepods at/etc/ssl/certs/openshift-service-ca/service-ca.crt, so that targets signed with the OpenShift service signing CA could be verified without additional TLS config. Supported values:auto,enabled,disabled. See #2971. -
BUGFIX: vmcluster: fix CR getting permanently stuck in
expandingstatus after an image update when HPA is enabled onvminsert,vmselect, orvmstorage. The operator was comparing a stale replica count (captured at reconcile start) against live status fields, so the readiness check could never pass once HPA changed the replica count mid-rollout. The same issue affectedVMAuth,VLCluster, andVTClustercomponents with HPA enabled. See #2324. -
BUGFIX: config-reloader: fix possible panic on Secret watch events when the informer's local cache fell out of sync and Kubernetes delivered a stale tombstone entry instead of the Secret object. The config-reloader now unwraps tombstones correctly and logs an error for any other unexpected types.
-
BUGFIX: vmanomaly: add missing
scatter_infer_jobsfield to the periodic scheduler config struct. See #2328. -
BUGFIX: vmoperator: switch default app probes to
tcpSocketstartupProbewhen TLS is enabled on the managed HTTP endpoint. This avoids broken kubelethttpGetchecks against TLS and mTLS-protected workloads. See #1824. -
BUGFIX: vmagent, vmsingle: create a
RoleandRoleBindingin each namespace listed inWATCH_NAMESPACESso that vmagent/vmsingle can perform service discovery in all watched namespaces, not only its own. Previously, in namespaced mode, vmagent/vmsingle could only scrape targets from its own namespace due to missing RBAC in other watched namespaces. -
BUGFIX: vmagent: fix missing credential secret and config-reloader setup in
ingestOnlyModewhen remote write entries carry authentication secrets (basicAuth.password,bearerTokenSecret, oroauth2.clientSecret). Previously the operator-managed secret containing the credential files was never created in ingest-only mode, causing vmagent to start with dangling file references. The secret is now reconciled and the config-reloader is configured to watch it for credential rotation.
Release notes
Open source →Release date: 07 Jul 2026
-
Dependency: vmoperator: Updated default versions for VM apps to v1.147.0 version
-
Dependency: vmoperator: Updated default versions for VL apps to v1.51.0.
-
Dependency: vmoperator: Updated default versions for VT apps to v0.9.4 version.
-
SECURITY: vmagent, vmsingle: remove cluster-wide
secretsandconfigmapspermissions from the operator-managedClusterRole. Secret access for the config-reloader is now granted via a namespace-scopedRolelimited to the single operator-managed config secret. Forvmsinglein ingest-only mode (the default), no secret or configmap permissions are granted at all. -
FEATURE: vmuser, vmauth: add
access_logfield support. See docs and #2359. -
FEATURE: vmuser: add
useExtraServiceboolean field tocrd.namespacedNameandcrd.objectsentries inVMUsertarget references. When set totrue, the operator resolves the target URL using the CR's additional service (configured viaspec.serviceSpec) instead of the default service. This lets you route VMAuth traffic to a dedicated service with different port mappings or service type without changing the primary service. See related types:CRDRef,NamespacedName. See #2333. -
FEATURE: vmoperator: add
useLegacyNamingfield to all operator CRs. When enabled, managed resources are named using the standalone Helm chart convention (CR name directly for single-component CRs;<name>-<component>for cluster CRs) instead of the default operator prefix convention. Useful when migrating from standalone charts to operator-managed resources without recreating existing resources. -
FEATURE: vmdistributed: support using
VMSinglebackends alongsideVMClusterbackends in separate zones. -
FEATURE: vmoperator: add
VM_OPENSHIFT_COMPATIBILITYenv var (OpenshiftCompatibilityModeconfig field, defaultauto) to enable OpenShift-specific compatibility features for managed pods. Inautomode the operator detects OpenShift at startup via presence ofsecurity.openshift.io/v1API group. Currently covers automatic mounting of theopenshift-service-ca.crtConfigMap intoVMAgentandVMSinglepods at/etc/ssl/certs/openshift-service-ca/service-ca.crt, so that targets signed with the OpenShift service signing CA could be verified without additional TLS config. Supported values:auto,enabled,disabled. See #2971. -
BUGFIX: vmcluster: fix CR getting permanently stuck in
expandingstatus after an image update when HPA is enabled onvminsert,vmselect, orvmstorage. The operator was comparing a stale replica count (captured at reconcile start) against live status fields, so the readiness check could never pass once HPA changed the replica count mid-rollout. The same issue affectedVMAuth,VLCluster, andVTClustercomponents with HPA enabled. See #2324. -
BUGFIX: config-reloader: fix possible panic on Secret watch events when the informer's local cache fell out of sync and Kubernetes delivered a stale tombstone entry instead of the Secret object. The config-reloader now unwraps tombstones correctly and logs an error for any other unexpected types.
-
BUGFIX: vmanomaly: add missing
scatter_infer_jobsfield to the periodic scheduler config struct. See #2328. -
BUGFIX: vmoperator: switch default app probes to
tcpSocketstartupProbewhen TLS is enabled on the managed HTTP endpoint. This avoids broken kubelethttpGetchecks against TLS and mTLS-protected workloads. See #1824. -
BUGFIX: vmagent, vmsingle: create a
RoleandRoleBindingin each namespace listed inWATCH_NAMESPACESso that vmagent/vmsingle can perform service discovery in all watched namespaces, not only its own. Previously, in namespaced mode, vmagent/vmsingle could only scrape targets from its own namespace due to missing RBAC in other watched namespaces. -
BUGFIX: vmagent: fix missing credential secret and config-reloader setup in
ingestOnlyModewhen remote write entries carry authentication secrets (basicAuth.password,bearerTokenSecret, oroauth2.clientSecret). Previously the operator-managed secret containing the credential files was never created in ingest-only mode, causing vmagent to start with dangling file references. The secret is now reconciled and the config-reloader is configured to watch it for credential rotation.
-
-
v0.72.1-0.20260625115004-94a0db57e12725 Jun 2026 pre-releaseNothing published for this version
-
v0.72.1-0.20260619185142-9f6908b20f4b19 Jun 2026 pre-releaseNothing published for this version
-
v0.72.1-0.20260616064546-84424090585416 Jun 2026 pre-releaseNothing published for this version
-
v0.72.015 Jun 2026Release notes
Open source →Release date: 15 Jun 2026
- FEATURE: vmrule: add strategic-merge list semantics for rules using
recordandalertas merge keys. See #657.
Update note 1: vmalert: rule ConfigMaps now store gzip-compressed content in
binaryDataand an init container decompresses them before VMAlert starts. Existing VMAlert pods will be rolled out once during this upgrade.-
FEATURE: vmoperator: add validating webhooks for Prometheus Operator CRDs (
ServiceMonitor,PodMonitor,PrometheusRule,Probe,ScrapeConfig,AlertmanagerConfig). Each object is converted to its VM equivalent and validated when webhooks are enabled. See #2270. -
FEATURE: vmscrapeconfig: add support for
consulAgentSDConfigs,dockerSDConfigs,dockerSwarmSDConfigs,marathonSDConfigs, andyandexCloudSDConfigsservice discovery types, bringingVMScrapeConfigto full parity with VictoriaMetrics sd_configs. See #2265. -
FEATURE: vmagent, vmalert, vmalertmanager, vmsingle, vlsingle, vtsingle, vlagent: add
spec.vpafield to support VerticalPodAutoscaler. See #2252. -
FEATURE: vmalert: rule ConfigMaps now store gzip-compressed rule files in
binaryData, allowing larger rule sets within Kubernetes object size limits. An init container decompresses the rules before VMAlert starts. -
FEATURE: vmoperator: add
victoriametrics_app=truelabel to all metrics scraped by the operator. See #2261. -
BUGFIX: vmoperator: skip reconciliation only for CRs with genuine spec parse errors; CRs whose
ParsingSpecErroris caused solely by unknown fields (e.g. after an operator downgrade) are now reconciled normally instead of being silently skipped. -
BUGFIX: vmoperator: fix potential deadlock in
operator_object_statusmetrics collector when the number of tracked objects exceeds 250. TheCollectmethod previously held a mutex while sending to the prometheus channel, which could deadlock if the channel was full and another goroutine was waiting on the same mutex. See #2239. -
BUGFIX: config-reloader: fix missed reload for watched files whose names contain
..(e.g.rules..yaml). Previously any path containing..was silently skipped; now only Kubernetes synthetic entries whose basename starts with..(e.g...data) are ignored. See #2253. -
BUGFIX: vmoperator: fix potential deadlock in
operator_object_statusmetrics collector when the number of tracked objects exceeds 250. TheCollectmethod previously held a mutex while sending to the prometheus channel, which could deadlock if the channel was full and another goroutine was waiting on the same mutex. See #2239.
- FEATURE: vmrule: add strategic-merge list semantics for rules using
-
v0.71.012 Jun 2026Release notes
Open source →Release date: 12 Jun 2026
Update note 1: This release contains a bug which causes the operator to stop emitting metrics on large number of tracked objects, see more details in #2280. We recommend skipping this operator release.
Update note 2: the new default
preStophook causes a rolling update of all applicable pods on operator upgrade (on Kubernetes >= 1.29). To avoid this, setVM_ENABLE_DEFAULT_PRESTOP_HOOK=falseon the operator before upgrading. Once the upgrade is complete, you can re-enable it by removing the override (or setting it totrue) to roll out the hook at a time of your choosing. Alternatively, disable the hook per resource by settingspec.preStopSleepSeconds: 0.-
Dependency: vmoperator: Updated default versions for VM apps to v1.145.0 version
-
FEATURE: vmagent and vmsingle: when the generated scrape config exceeds the 1MB Kubernetes Secret limit, overflow scrape jobs are automatically packed into additional gzip-compressed Secrets and loaded via
scrape_config_files. The config-reloader decompresses them on the fly into an EmptyDir volume. See #1048. -
FEATURE: config-reloader: added
--target-dirflag. When provided alongside--watched-dir, changed files are decompressed (if gzip) and written to the corresponding target directory instead of triggering a reload only. -
FEATURE: vmoperator: added
VM_COMMON_LABELSandVM_COMMON_ANNOTATIONSenvironment variables to apply common labels/annotations to all Kubernetes resources managed by the operator. These cannot override labels/annotations already set by the operator or viaspec.managedMetadata. This also ensures HTTPRoutes and PVCs include ManagedMetadata labels and annotations -
FEATURE: vmoperator: support enableServiceLinks property in all CRs. See #2194.
-
FEATURE: vmalertmanagerconfig: add
url_fileandalert_source_token_filefields toIncidentioConfig, as file-based alternatives tourlandalert_source_token. See #2222. -
FEATURE: vmoperator: add
statusmetrics for objects managed by each controller. See #2238. -
FEATURE: vmsingle: added
spec.downsamplingfor structured downsampling configuration andspec.retentionFiltersfor structured retention filters configuration. Both require an enterprise license. -
FEATURE: vmcluster: added
spec.downsamplingfor structured downsampling configuration (applied to both vmselect and vmstorage) andspec.vmstorage.retentionFiltersfor structured retention filters configuration. Both require an enterprise license. -
FEATURE: vmoperator: add default
preStoplifecycle hook (15s sleep) to applicable component pods to prevent traffic loss during pod termination. Requires Kubernetes >= 1.29. Storage components (VMStorage,VLStorage,VTStorage) are excluded since their clients handle retries. The sleep duration is configurable viaspec.preStopSleepSecondson any CR; set to0to disable. See #1834. -
FEATURE: vmanomaly: add missing configuration parameters for vmanomaly config parity:
spec.reader.offsetand per-queryoffset,spec.writer.connectionRetryAttempts,spec.server.useReaderConnectionSettings,settings.logger_levels, and theexact/infer_everyparameters of the backtesting scheduler. Previously these keys were rejected by strict config parsing. -
FEATURE: vmcluster: add
spec.discoveryfield withenabled,intervalandfilterproperties to configure automatic vmstorage node discovery for vminsert and vmselect. The field can be set globally or overridden per component viaspec.vminsert.discoveryandspec.vmselect.discovery. This is an enterprise feature and requires a valid license key. See automatic vmstorage discovery. -
BUGFIX: vmoperator: update status currentRevision and currentReplicas for StatefulSet with OnDelete update strategy. See #1242.
-
BUGFIX: config-reloader: fix
configreloader_last_reload_success_timestamp_secondsmetric to report time in seconds instead of milliseconds. -
BUGFIX: vmoperator: enable strict CR spec unmarshalling when creating objects. See #2882.
-
BUGFIX: vmoperator: ignore
NotFounderrors, that may occur during attempt to update status on a missing resource. -
BUGFIX: vmagent, vmanomaly: fix VPA scale subresource lookup failure when
spec.shardCountis unset by always reporting at least 1 instatus.shards. See #2229. -
BUGFIX: vmagent: fix HPA targeting the underlying Deployment/StatefulSet (pod replicas) instead of the VMAgent CR scale subresource (
spec.shardCount); HPA now correctly scales the number of shards. See #2229. -
BUGFIX: vmanomaly: emit the
OnlineQuantileModelsmoothing parameter under its correct keyglobal_smoothinginstead of the unrecognizedglobal_smooth, which vmanomaly silently ignored. -
BUGFIX: vmanomaly: pass the configured TLS CA bundle to the reader, writer and monitoring clients. Previously the CA was mounted as a volume but dropped during config generation, so a
tlsConfigwith only a CA produced noverify_tlsreference to it;insecureSkipVerifyis now also propagated correctly. -
BUGFIX: vmanomaly: serialize the
tztimezone ofspec.reader, of each query, and of the periodic scheduler as a string. It was serialized to{}and could not be parsed from a string, so any configuration that settzfailed to reconcile. -
BUGFIX: vmanomaly: fix the
AutoTunedModeltrials parameter spellingn_trials, previously it was rendered asn_trailswhich was silently ignored by vmanomaly. -
BUGFIX: vmanomaly: preserve an explicit
0.0for theanomaly_score_outside_data_rangeparameter (bothsettingsand model level), which was dropped by the underlying float field and silently reverted to the vmanomaly default. -
BUGFIX: vmanomaly: validate online models'
decayagainst the(0, 1]range while still allowing it to be omitted. -
BUGFIX: vmanomaly: accept a float value (for example
0.01) for the isolation forestcontaminationparameter in addition to the stringauto. -
BUGFIX: vmanomaly: omit the
OnlineQuantileModelmin_subseasonkey when it is unset instead of emitting an empty string. -
BUGFIX: vmanomaly: preserve insertion order of keys in
ProphetModelseasonalities,tz_seasonalities,compression, andargsfields; previously the operator re-emitted them with keys sorted alphabetically, which broke round-trips for configs that specified keys in a non-alphabetical order. Also renamed the singularseasonality/tz_seasonalityYAML keys (deprecated) to the pluralseasonalities/tz_seasonalitiesto match the vmanomaly configuration format. See #2356. -
BUGFIX: vmanomaly: remove the artificial upper bound on
spec.server.maxConcurrentTasks; vmanomaly accepts any positive integer.
-
-
v0.70.2-0.20260612201037-e92bd7d73f1312 Jun 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260612122831-fcad2b5e6e0512 Jun 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260610111729-d42a16b53f0b10 Jun 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260529183531-a0d1f071e5f129 May 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260527085153-d5e2ed4cc67c27 May 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260525064723-b998cf9e60d225 May 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260525062949-4e2b3f3c0a1525 May 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260523070658-98314b1a51a023 May 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260521145151-4630b8edec6721 May 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260521131522-4610acf436ed21 May 2026 pre-releaseNothing published for this version
-
v0.70.2-0.20260520085242-94f92c00e3ea20 May 2026 pre-releaseNothing published for this version
-
v0.70.120 May 2026Release notes
Open source →Release date: 20 May 2026
-
FEATURE: vmauth: support HPA for requests load balancer.
-
BUGFIX: vmagent: skip replica count update when VMAgent is in stateful mode and HPA is enabled. See #2190.
-
BUGFIX: vmalertmanagerconfig: Remove prefix from empty subroute receiver. See #2185.
-
-
v0.70.1-0.20260520073842-1694db0f621b20 May 2026 pre-releaseNothing published for this version
-
v0.70.1-0.20260519173052-68fd7bce41a219 May 2026 pre-releaseNothing published for this version
-
v0.70.1-0.20260519133121-e00b0767259019 May 2026 pre-releaseNothing published for this version
-
v0.70.1-0.20260519122219-88e8d1fe515b19 May 2026 pre-releaseNothing published for this version
-
v0.70.1-0.20260519085325-c414d7a0adce19 May 2026 pre-releaseNothing published for this version
-
v0.70.1-0.20260519051648-13a44aa6cd6719 May 2026 pre-releaseNothing published for this version
-
v0.70.1-0.20260518133710-d8e87afd0f1518 May 2026 pre-releaseNothing published for this version
-
v0.70.1-0.20260518122723-dc7495ace6c818 May 2026 pre-releaseNothing published for this version
-
v0.70.018 May 2026Release notes
Open source →Release date: 18 May 2026
-
SECURITY: upgrade Go builder from Go1.26.2 to Go1.26.3. See the list of issues addressed in Go1.26.3.
-
Dependency: vmoperator: Updated default versions for VM apps to v1.143.0 version
-
Dependency: vmoperator: Updated default versions for VM apps to v1.142.0 version
-
FEATURE: vmauth: previously VMAuth could read configuration only from predefined locations; now VMAuth supports arbitrary filesystem access configuration, allowing users to reference required files directly and reducing configuration workarounds. See #899.
-
FEATURE: vmuser: support VMAnomaly CRD in VMUser targetRefs. See #2141.
-
FEATURE: vmdistributed: introduce
spec.zones[*].trafficModeproperty, which allows disable read, write or whole traffic to a zone. See #1995. -
FEATURE: vmagent: support per remote write queues configuration. See #2138.
-
BUGFIX: converter: disable all prometheus controllers if CRD group was not found. See #2838.
-
BUGFIX: vmdistributed: change default load balancing policy for write requests from
first_availabletoleast_loaded. This should allow to evenly distribute write load across all VMAgents. -
BUGFIX: vmalertmanagerconfig: fix previously ignored negative values in VMAlertmanagerConfig. See #2132.
-
BUGFIX: vmalertmanager: fixed ignored alertmanager template if it has no discovered VMAlertmanagerconfig CRs or tracing config defined. See #2121.
-
BUGFIX: VMCluster, VTCluster and VLCluster: fixed infinite non-default additional service recreation, when requestsLoadBalancer.enabled: true
-
BUGFIX: vmauth: fixed case, when target_path_suffix can be appended multiple times.
-
BUGFIX: vmoperator: retry reconcile errors, that may lead to expanding state, before resource could hang in expanding state.
-
BUGFIX: vmcluster, vlcluster and vtcluster: when storage HPA was enabled, generated
-storageNodeflags could become incorrect after scaling, which could break expected routing to storage nodes; now the operator derives storage node count from the current StatefulSet state so generated flags stay correct during HPA-driven scaling. See #2117. -
BUGFIX: vmdistributed: expose VMClusterSpec parsing error in status, previously it was just swallowed and led to infinite reconciles. See #2113.
-
-
v0.69.1-0.20260515124732-f03aa5dd74a715 May 2026 pre-releaseNothing published for this version
-
v0.69.1-0.20260515112430-67513a19b52315 May 2026 pre-releaseNothing published for this version
-
v0.69.1-0.20260515063822-d1f70c2b55b415 May 2026 pre-releaseNothing published for this version
-
v0.69.1-0.20260514104231-34bf0a58952914 May 2026 pre-releaseNothing published for this version
-
v0.69.1-0.20260514074724-46ef9ffa50be14 May 2026 pre-releaseNothing published for this version
-
v0.69.1-0.20260514054012-cfd15d43a84c14 May 2026 pre-releaseNothing published for this version
-
v0.69.1-0.20260513170942-c4dcb9aeae2013 May 2026 pre-releaseNothing published for this version
-
v0.69.1-0.20260513122807-7236b7b0e8c513 May 2026 pre-releaseNothing published for this version
-
v0.69.1-0.20260513101152-3db01415cbf213 May 2026 pre-releaseNothing published for this version