tip #

v0.51.0 #

Release date: 17 Dec 2024

AppVersion: v1.107.0 AppVersion: v0.32.0

Update note 1: labels and annotations inheritance is deprecated and will be remove at upcoming v0.52.0 release. It’s recommend to move all needed labels and annotations to the spec.managedMetadata fields. Operator will preserve annotations, but any changes to it will be ignored. labels inherited from CRD.metata.labels will be removed after upgrade to v0.52.0.

Update note 2: VMAuth.spec.unauthorizedAccessConfig is deprecated in favour of VMAuth.spec.unauthorizedUserAccessSpec. Operator still serves deprecated fields until v1.0 release.

Update note 3: The following fields: [default_url,tlsConfig,discover_backend_ips,headers,response_headers,retry_status_codes,max_concurrent_requests,load_balancing_policy,drop_src_path_prefix_parts] are deprecated at VMAuth.spec. in favour of VMAuth.spec.unauthorizedUserAccessSpec. Operator still serves deprecated fields until v1.0 release.

  • vmcluster: add "app.kubernetes.io/part-of": "vmcluster" label to the objects generated for VMCluster components. It helps to use labels selectors to identify objects belong to the cluster.
  • vmauth: adds new spec setting unauthorizedUserAccessSpec that replaces unauthorizedAccessConfig and inlined fields from VMUserConfigOptions. See this issue for details.
  • vmuser: fix missing options src_headers, src_query_args and discover_backend_ips in the generate vmauth config when specified under vmuserSpec.targetRefs.
  • vmoperator: add annotations to the PodDisruptionBudget and HorizontalPodAutoscaler objects generated.
  • vmoperator: fix the behaviors of vmagentSpec.ScrapeConfigSelector and vmagentSpec.scrapeConfigNamespaceSelector when vmagentSpec.selectAllByDefault=false. Previously, the VMScrapeConfig could be ignored.
  • vmoperator: fix the behaviors of xxxNamespaceSelector when vmagentSpec.selectAllByDefault=true. See this doc for detailed rules.
  • vmoperator: add support of license.forceOffile and license.reloadInterval options. See this doc for the details.
  • vmoperator: properly add securityContext to the containers with useStrictSecurity: false. See this issue for details.
  • vmoperator: Add new default security option to containers with enabled useStrictSecurity: true. It sets privileged: false.
  • vmoperator: Provided manifest without webhook
  • vmoperator: change structured logging. Move irrelevant fields into the msg body, change logger field to properly display controller.CRD name. See this issue for details.
  • api: add new field managedMetadata to VMCluster.spec, VMAgent.spec,VMAlert.spec, VMAuth.spec,VMAlertmanager.Spec, VMSingle.spec andVLogs.spec. It controls labels and annotations added to the objects created operator (such as Deployment). See this issue for details.
  • api: upgrade Kubernetes(v0.31.3) and controller-runtime(v1.19.3) dependencies. Remove versions pin with replace directive from go.mod.
  • api: rework status sub-resource for VMUser, VMAlertmanager, VMRule and VMScrape.* objects. Add new conditions field, that represents resources conditions. See this issue for details.

v0.50.0 #

Release date: 22 Nov 2024

AppVersion: v1.106.1 AppVersion: v0.32.0

  • vmoperator: add missing container labels to the metrics discovered with VMServiceScrape for endpointslices discovery role.
  • vmoperator: add new variable VM_VMSERVICESCRAPEDEFAULT_ENFORCEENDPOINTSLICES to use endpointslices instead of endpoints as discovery role for VMServiceScrape when generate scrape config for VMAgent.
  • vmoperator: adds new flag loggerJSONFields to the operator logger configuration. It allows to change json encoder fields. See this issue for details.
  • api: adds new status field observedGeneration. See this issue for details.
  • api: unify updateStatus field for CRD objects. It replaces status, clusterStatus and singleStatus for VLogs, VMCluster and VMSingle with generic updateStatus.

v0.49.1 #

Release date: 11 Nov 2024

AppVersion: v1.106.1 AppVersion: v0.32.0

  • vmrule: properly validate rules for vlogs group type.
  • operator: properly apply changes to the converted VMScrapeConfig during operator start-up.
  • operator: properly set operational update status for CRDs. Previously, operational status could be set before rollout finishes at Kubernetes due to bug at Kubernetes controller-manager.

v0.49.0 #

Release date: 15 Oct 2024

AppVersion: v1.106.0 AppVersion: v0.32.0

  • operator: properly apply useStrictSecurity: true to the initContainers for VMAuth, VMAgent and VMAlertmanager. See this issue for details.
  • vmauth: Moved spec.configSecret to spec.externalConfig.secretRef.name and added spec.externalConfig.localPath to be able to provide custom configs via sidecar.
  • vmcluster: adds requestsLoadBalancer configuration to the VMCluster.spec. See this issue for details.
  • vmcluster: properly configure monitoring for VMCluster with enabled backup.
  • vmalertmanager: properly trigger reload when ConfigMap provided via .spec.configMap are changed.
  • operator: fixed operator reconcile on storage size change
  • operator: fixed converting AlertmanagerConfig to VMAlertmanagerConfig

v0.48.4 #

Release date: 15 Oct 2024

AppVersion: v1.103.0 AppVersion: v0.32.0

  • api: adds new fields maxDiskUsagePerUrl andforceVMProto to the VMagent remoteWriteSpec
  • vmuser: fixes the protocol of generated CRD target access url for vminsert and vmstorage when TLS is enabled.
  • vmagent: properly make transition to statefulMode. See this issue for details.
  • vmagent: properly assign OwnerRefrence for Role and RoleBinding at single-namespace operator mode.
  • operator: fixes pod scheduling with useStrictSecurity enabled by removing default values for AppArmorProfile and SeccompProfile. See this issue for details.

v0.48.3 #

Release date: 29 Sep 2024

AppVersion: v1.103.0 AppVersion: v0.32.0

  • vmcluster: properly apply global container registry from configuration. It was ignored for VMCluster since v0.48.0 release. See this issue for details.
  • operator: adds new flag --disableControllerForCRD. It allows to disable reconcile controller for the given comma-separated list of CRD names. See this issue for details.

v0.48.2 #

Release date: 27 Sep 2024

AppVersion: v1.103.0 AppVersion: v0.31.0

  • operator: properly expose vm_app_version metric tag with version and short_version build info. It was broken since v0.46.0 release.
  • operator: changes default value for controller.maxConcurrentReconciles from 1 to 5. It should improve reconcile performance for the most installations.
  • operator: expose new runtime metrics rest_client_request_duration_seconds, sched_latencies_seconds. It allows to better debug operator reconcile latencies.

v0.48.1 #

Release date: 26 Sep 2024

AppVersion: v1.103.0 AppVersion: v0.28.0

  • vmalertmanager: properly build service, previously port by number instead of name was used. It produced updating service log messages.
  • vmcluster: properly add imagePullSecrets to the components. Due to bug at 0.48.0 operator ignored vmcluster.spec.imagePullSecrets See this issue for details.

v0.48.0 #

Release date: 25 Sep 2024

AppVersion: v1.103.0 AppVersion: v0.32.0

  • api: adds new fields useVMConfigReloader, configReloaderImageTag, configReloaderResources to to the VMagent, VMAlert, VMAuth, and VMAlertmanager.
  • api/vmalertmanager: adds new field enforcedTopRouteMatchers. It adds given alert label matchers to the top route of any VMAlertmanagerConfig. See this issue for details.
  • api: adds underscore version of host_aliases setting, which has priority over hostAliases.
  • api: adds useDefaultResources setting to the all applications. It has priority over global operator setting.
  • api: adds clusterDomainName to the VMCluster and VMAlertmanager. It defines optional suffix for in-cluster addresses.
  • api: adds disableSelfServiceScrape setting to the all applications. It has priority over global operator setting.
  • api: Extends applications securityContext and apply security configuration parameters to the containers.
  • api: deletes unused env variables: VM_DEFAULTLABELS, VM_PODWAITREADYINITDELAY. Adds new variable VM_APPREADYTIMEOUT.
  • vmalert: adds missing hostAliases fields to spec. See this issue for details.
  • vmsingle/vlogs: makes better compatible with argo-cd by adding ownerReference to PersistentVolumeClaim. See this issue for details.
  • operator: reduces reconcile latency. See this commit for details.
  • operator: reduces load on kubernetes api-server. See this commits: commit-0, commit-1, commit-2.
  • operator: enables client cache back for secrets and configmaps. Adds new flag -controller.disableCacheFor=secret,configmap to disable it if needed.
  • operator: made webhook port configurable. See this issue for details.
  • operator: operator trims spaces from Secret and Configmap values by default. This behaviour could be changed with flag disableSecretKeySpaceTrim. Related issue.
  • operator: expose again only command-line flags related to the operator. Release v0.45.0 added regression with incorrectly exposed flags.

v0.47.3 #

Release date: 28 Aug 2024

AppVersion: v1.102.1 AppVersion: v0.28.0

  • operator: fixes statefulset reconcile endless loop bug introduced at v0.47.0 version with commit.

v0.47.2 #

Release date: 26 Aug 2024

AppVersion: v1.102.1 AppVersion: v0.28.0

  • vmalertmanager: allow to change webserver listen port with spec.Port. See this PR for details.
  • operator: fixes statefulset rollingUpdate strategyType readiness check.
  • operator: fixes statefulset reconcile endless loop bug introduced at v0.47.1 version with commit.
  • vmuser: fixes crd.kind enum param for VMAlertmanager, it now supports both VMAlertmanager and VMAlertManager. See this issue for details.
  • operator: adds sorting for configReloaderExtraArgs.

v0.47.1 #

Release date: 23 Aug 2024

AppVersion: v1.102.0 AppVersion: v0.28.0

It is recommended upgrading to operator v0.47.2 because v0.47.1 contains a bug, which can lead to endless statefulset reconcile loop.

  • operator: properly update statefulset on revisionHistoryLimitCount change. See this issue for details.
  • vmalertmanagerconfig: properly construct tls_config for emails notifications. See this issue for details.
  • operator: fixed Prometheus scrape config metricsPath conversion. See this issue
  • config-reloader: Added reload prefix to all config-reloader tls* flags to avoid collision with flags from external package. See this issue

v0.47.0 #

Release date: 15 Aug 2024

AppVersion: v1.102.0 AppVersion: v0.28.0

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: adds new flags tlsCaFile, tlsCertFile,tlsKeyFile,tlsServerName,tlsInsecureSkipVerify. It allows to configure tls for reload endpoint. Related issue.

  • vmuser: adds status.lastSyncError field, adds server-side validation for spec.targetRefs.crd.kind. Adds small refactoring.

  • 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 for details.

  • 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: refactors config builder for VMAgent. It fixes minor bug with incorrect skip of scrape object with incorrect references for secrets and configmaps.

  • 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.clientCA`. See this issue for details.

  • operator: fixes bug with possible tlsConfig SecretOrConfigmap references clash. Operator adds configmap prefix to the configmap referenced tls asset. See this issue for details.

  • operator: properly release PodDisruptionBudget object finalizer. Previously it could be kept due to typo. See this issue for details.

  • operator: refactors finalizers usage. Simplifies finalizer manipulation with helper functions

  • operator: adds tls_config and authKey settings to auto-created VMServiceScrape for CRD objects from extraArgs. See this issue for details.

  • 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.

  • vmalertmanager: adds webConfig that simplifies tls configuration for alertmanager and allows to properly build probes and access urls for alertmanager. See this issue for details.

  • vmalertmanager: adds gossipConfig to setup client and server TLS configuration for alertmanager.

  • vmagent/vmsingle: sync stream aggregation options dropInputLabels, ignoreFirstIntervals, ignoreOldSamples from upstream, and support using configMap as the source of aggregation rules.

  • operator: added -client.qps and -client.burst flags to override default QPS and burst K8S params. Related issue.

v0.46.4 #

Release date: 9 Jul 2024

AppVersion: v1.101.0

Breaking changes #

  • Update note 1: for operatorhub based VMAgent deployment serviceAccount vmagent must be removed. It’s no longer shipped with bundle. After deletion operator will create new account with needed permissions.

  • [manifests]: properly add webhook.enable for operatorhub deployments. See this commit 7a460b090dec018ea23ab8d9de414e2f7da1c513 for details.

  • [manifests]: removes exact user from runAsUser setting. It must be defined at docker image or security profile level. See this commit 1cc4a0e5334f254a771fa06e9c07dfa93fbb734a for details.

  • operator: switches from distroless to scratch base image. See this commit 768bf76bdd1ce2080c214cf164f95711d836b960 for details.

  • config-reloader: do not specify command for container. command configured at docker image level. See this commit 2192115488e6f2be16bde7ddd71426e305a16144 for details.

v0.46.3 #

Release date: 5 Jul 2024

AppVersion: v1.101.0
  • operator: fixes config-reloader image tag name after 0.46.0 release. See this issue for details.
  • prometheus-converter: fixes panic at PodMonitor convertion with configured tlsConfig. See this issue for details.
  • api: return back targetPort for VMPodScrape definition. See this issue for details.

v0.46.0 #

Release date: 3 Jul 2024

AppVersion: v1.101.0

Breaking changes #

  • Update note 1: the --metrics-addr command-line flag at operator was deprecated. Use --metrics-bind-address instead.
  • Update note 2: the --enable-leader-election command-line flag at operator was deprecated. Use --leader-elect instead.
  • Update note 3: the --http.readyListenAddr command-line flag at operator was deprecated. Use --health-probe-bind-address instead.
  • Update note 4: multitenant endpoints suffix /insert/multitenant/<suffix> needs to be added in remoteWrite.url if storage supports multitenancy when using remoteWriteSettings.useMultiTenantMode, as upstream vmagent has deprecated -remoteWrite.multitenantURL command-line flag since v1.102.0.

Updates #

  • operator: adds tls flag check for AsURL method. It must allow to use https configuration for VMUser service discovery. See this issue for details.

  • operator: kubebuilder v2 -> v4 upgrade

  • operator: operator docker images are now distroless based

  • operator: upgraded certificates.cert-manager.io/v1alpha2 to certificates.cert-manager.io/v1

  • operator: code-generator v0.27.11 -> v0.30.0 upgrade

  • vmalertmanagerconfig: adds missing handleReconcileErr callback to the reconcile loop. It must properly handle errors and deregister objects.

  • vmrule: sync group attributes eval_offset, eval_delay and eval_alignment from upstream.

  • operator: fix VM CRs’ xxNamespaceSelector and xxSelector options, previously they are inverted. See this issue for details.

  • vmnodescrape: remove duplicated series_limit and sample_limit fields in generated scrape_config. See this issue.

  • vmscrapeconfig - added max_scrape_size parameter for scrape protocols configuration

v0.45.0 #

Release date: 10 Jun 2024

AppVersion: v1.101.0
  • operator: expose only command-line flags related to the operator. Remove all transitive dependency flags. See this issue for details.
  • vmalertmanager: ignores content of cr.spec.configSecret if it’s name clashes with secret used by operator for storing alertmanager config. See this issue for details.
  • operator: remove finalizer for child objects with non-empty DeletetionTimestamp. See this issue for details.
  • operator: skip storageClass check if there is no PVC size change. See this issue for details.
  • vmauth: fix url when default http port is changed in targetRef. See this issue for details.
  • vmauth: fix deployment when custom reloader is used. See this pull request.
  • prometheus-converter: 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: fix alertmanagerconfig converting with receiver opsgenie_configs. See this issue.

v0.44.0 #

Release date: 9 May 2024

AppVersion: v1.101.0
  • 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 for details.
  • operator: use Patch for finalizers set/unset operations. It must fix possible issues with CRD objects mutations. See this issue for details.
  • operator: adds spec.pause field to VMAgent, VMAlert, VMAuth, VMCluster, VMAlertmanager and VMSingle. It allows to suspend object reconcile by operator. See this issue for details. Thanks @just1900
  • vmagent: set status.selector field. It allows correctly use VPA with vmagent. See this issue for details.
  • prometheus-converter: fixes bug with prometheus-operator ScrapeConfig converter. Only copy spec field for it. See this issue for details.
  • vmscrapeconfig: authorization section in sd configs works properly with empty type field (default value for this field is Bearer).
  • prometheus-converter: fixes owner reference type on VMScrapeConfig objects
  • vmauth&vmuser: sync config fields from upstream, e.g., src_query_args, discover_backend_ips.

v0.43.5 #

Release date: 26 Apr 2024

AppVersion: v1.100.1
  • Update VictoriaMetrics image tags to v1.101.0.

v0.43.4 #

Release date: 25 Apr 2024

AppVersion: v1.100.1
  • operator: properly set status to expanding for VMCluster during initial creation. Previously, it was always operational.
  • operator: adds more context to Deployment and Statefulset watch ready functions. Now, it reports state of unhealthy pod. It allows to find issue with it faster.

v0.43.3 #

Release date: 23 Apr 2024

AppVersion: v1.100.1
  • operator: fix conversion from ServiceMonitor to VMServiceScrape, bearerTokenSecret is dropped mistakenly since v0.43.0. See this issue.
  • operator: fix selector match for config resources like VMUser, VMRule… , before it could be ignored when update resource labels.

v0.43.2 #

Release date: 22 Apr 2024

AppVersion: v1.100.1
  • vmagent: fixes bug with ServiceAccount not found with ingestOnlyMode.
  • vmagent: fixes unknown long flag '--rules-dir' for prometheus-config-reloader.

v0.43.1 #

Release date: 18 Apr 2024

AppVersion: v1.100.1
  • operator: properly add liveness and readiness probes to config-reloader, if VM_USECUSTOMCONFIGRELOADER=false.

v0.43.0 #

Release date: 18 Apr 2024

AppVersion: v1.100.1

Update note: 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. 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 for details. Update note: PodDisruptionBudget at betav1 API is no longer supported. Operator uses v1 stable version. See this doc for details. Update note: Alertmanager versions below v0.22.0 are no longer supported. Version must upgraded - manually for resources or use default version bundled with operator config.

  • operator: properly reconcile ServiceAccount specified for CRDs. 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.
  • operator: reduce number of watched resources owned by CRDs. 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: 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: adds new field configReloaderExtraArgs for VMAgent, VMAlert, VMAuth and VMAlertmanager CRDs. It allows to configure config-reloader container.
  • config-reloader: 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 for details.
  • operator: Changes error handling for reconcile. Operator sends Events into kubernetes API, if any error happened during object reconcile. See this issue for details.
  • operator: updates base Docker image and prometheus_client to versions with with CVE fixes
  • operator: adds reconcile retries on conflicts. See this issue for details.
  • operator: allows adjust Service generated by operator with useAsDefault option set to true for serviceSpec field. See this issue for details.
  • vmagent: allows to modify serviceName field for vmagent at statefulMode with custom service. See this issue for details. Thanks @yilmazo
  • vmagent: change service for statefulMode to the headless instead of clusterIP. See this issue for details.
  • vmservicescrape&vmpodscrape: add attach_metadata option under VMServiceScrapeSpec&VMPodScrapeSpec, the same way like prometheus serviceMonitor&podMonitor do. See this issue for details.
  • vmagent: allows multi-line regex at relabelConfig. See this docs and this issue for details.
  • vmalertmanagerconfig: fix struct field tags under Sigv4Config.
  • vmalertmanagerconfig: adds own config-reloader container. It must improve speed of config updates. See this issue for details.
  • vmalertmanager: bump default alertmanager version to v0.27.0, which supports new receivers like msteams_configs.
  • 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: add crd VMScrapeConfig, which can define a scrape config using any of the service discovery options supported in victoriametrics.
  • vmuser: adds targetRefBasicAuth field targetRef, which allow to configure basic authorization for target_url. See this issue for details. Thanks @mohammadkhavari
  • vmprobe: add field proxy_url, see this issue for details.
  • scrape CRDs: add field series_limit, which can be used to limit the number of unique time series a single scrape target can expose.
  • scrape CRDs: fix scrape_config filed disable_keep_alive, before it’s misconfigured as disable_keepalive and won’t work.
  • scrape CRDs: deprecated option relabel_debug and metric_relabel_debug, they were deprecated since v1.85.0.

v0.43.0 #

Release date: 12 Mar 2024

AppVersion: v1.100.1
  • vmalert: do not add notifiers.* flags in case notifier.blackhole is provided via spec.extraArgs. See this issue for details.
  • operator: properly build liveness probe scheme with enabled tls. Previously it has hard-coded HTTP scheme. See this issue for details.
  • 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: properly print columns at CRD replicaCount and version status fields.

v0.42.2 #

Release date: 6 Mar 2024

AppVersion: v1.99.0
  • operator: fixes alertmanager args typo.
  • prometheus-converter: adds new flag controller.prometheusCRD.resyncPeriod which allows to configure resync period of prometheus CRD objects. See this issue for details.

v0.42.1 #

Release date: 5 Mar 2024

AppVersion: v1.99.0
  • operator: properly watch for prometheus CRD objects. See this issue for details.

v0.42.0 #

Release date: 4 Mar 2024

AppVersion: v1.99.0
  • 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.
  • operator: allow multiple comma separated values for WATCH_NAMESPACE param. It adds multiple watch namespace mode without cluster-wide permission. See this issue for details. Need namspace RBAC permissions located at config/examples/operator_rbac_for_single_namespace.yaml
  • operator: updates runtime dependencies (controller-runtime, controller-gen). See this issue for details.
  • operator: updates runtime dependencies (controller-runtime, controller-gen). See this issue for details.
  • operator: adds new status.updateStatus field to the all objects with pods. It helps to track rollout updates properly.
  • 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.
  • vmagent: adds flush_on_shutdown to the streamAggrConfig. See this issue for details.
  • 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: use blackhole as default router if not configuration provided instead of dummy webhook. 9ee567ff9bc93f43dfedcf9361be1be54a5e7597
  • vmalertmanager: properly assign path for templates, if it’s configured at config file and defined via spec.templates. 1128fa9e152a52c7a566fe7ac1375fefbfc6b276
  • 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: 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.

v0.41.2 #

Release date: 21 Feb 2024

AppVersion: v1.98.0
  • Remove deprecated autoscaling/v2beta1 HPA objects, previously operator still use it for k8s 1.25. See this issue for details.
  • Update VictoriaMetrics image tags to v1.98.0.

v0.41.1 #

Release date: 1 Feb 2024

AppVersion: v1.97.1
  • update VictoriaMetrics image tags to v1.97.1.

v0.41.0 #

Release date: 31 Jan 2024

AppVersion: v1.97.0
  • vmauth: add new fields for unauthorized_user like src_hosts, headers, retry_status_codes and load_balancing_policy. See vmauth docs for more details.

v0.40.0 #

Release date: 23 Jan 2024

AppVersion: v1.96.0

v0.39.4 #

Release date: 13 Dec 2023

AppVersion: v1.96.0

v0.39.3 #

Release date: 16 Nov 2023

AppVersion: v1.95.1
  • update VictoriaMetrics image tags to v1.95.1.

v0.39.2 #

Release date: 15 Nov 2023

AppVersion: v1.95.0

Features #

  • vmoperator: properly compare difference for statefulSet claimTemplate metadata. See this commit for details.
  • vmoperator: sort statefulSet pods by id for rolling update order. See this commit for details.
  • vmoperator: optimize statefulset update logic, that should reduce some unneeded operations. See this PR for details.

v0.39.1 #

Release date: 1 Nov 2023

AppVersion: v1.94.0
  • vmuser: adds new paths for vminsert/vmselect routing with enabled dynamic discovery feature for VMUser. See this PR for details.
  • vmcluster: from now on operator passes -replicationFactor (if it set in vmcluster) for vmselect. See this issue.
  • vmagent: updated dependency for properly parsing chained if expressions in validation webhook.

v0.39.0 #

Release date: 4 Oct 2023

AppVersion: v1.94.0

Features #

  • vmoperator: upgrade vmagent/vmauth’s default config-reloader image.
  • vmuser: adds retry_status_codes , max_concurrent_requests and response_headers settings. It’s supported since v1.94.0 release of vmauth
  • vmoperator: adds useStrictSecurity for all components. It allows to migrate from insecure to strictly secured deployments per component without breaking changes. See this issue for details.
  • vmoperator: add ability to provide license key for VictoriaMetrics enterprise components. See this doc for the details.

Fixes #

  • vmcluster: remove redundant annotation operator.victoriametrics/last-applied-spec from created workloads like vmstorage statefulset.
  • vmoperator: properly resize statefulset’s multiple pvc when needed and allowable, before they could be updated with wrong size.
  • vmoperator: fix wrong api group of endpointsices, before vmagent won’t able to access endpointsices resources with default rbac rule.
  • vmauth/vmagent: adds default resources for init container with configuration download. See this issue for details.
  • vmauth/vmagent: correctly set flag for custom config reloader image during config initialisation. See this issue for details.
  • vmauth: correctly set config reloader image for init container.

v0.38.0 #

Release date: 11 Sep 2023

AppVersion: v1.93.4

Fixes #

  • vmuser: [Enterprise] fixes ip_filters indent for url_prefix. Previously it wasn’t possible to use ip_filters with multiple target refs
  • vmoperator: turn off EnableStrictSecurity by default. Before, upgrade operator to v0.36.0+ could fail components with volume attached, see this issue for details.
  • vmoperator: bump default version of VictoriaMetrics components to 1.93.4.

Features #

v0.37.1 #

Release date: 02 Sep 2023

AppVersion: v1.93.3

Updates #

  • bump default version of Victoria Metrics components to v1.93.3

v0.37.0 #

Release date: 30 Aug 2023

AppVersion: v1.93.1

Fixes #

  • vmagent: fix unmarshalling for streaming aggregation match field.

Features #

v0.36.1 #

Release date: 25 Aug 2023

AppVersion: v1.93.1

Fixes #

  • vmselect: fix cache directory when cacheDataPath not specified, before it will use /tmp which is protect by default strict securityContext.

Features #

v0.36.0 #

Release date: 23 Aug 2023

AppVersion: v1.93.1

Breaking changes #

  • 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 and this PR for details.

    • Affected fields:
      • VMAlert.spec.datasource.OAuth2 -> VMAlert.spec.datasource.oauth2,
      • VMAlert.spec.notifier.OAuth2 -> VMAlert.spec.notifier.oauth2,
      • VMAlert.spec.notifiers[].OAuth2 -> VMAlert.spec.notifiers[].oauth2,
      • VMAlert.spec.remoteRead.OAuth2 -> VMAlert.spec.remoteRead.oauth2,
      • VMAlert.spec.remoteWrite.OAuth2 -> VMAlert.spec.remoteWrite.oauth2,
  • 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 and this PR for details.

    • Affected fields:
      • VMAlert.spec.datasource.bearerTokenFilePath –> VMAlert.spec.datasource.bearerTokenFile,
      • VMAlert.spec.notifier.bearerTokenFilePath –> VMAlert.spec.notifier.bearerTokenFile,
      • VMAlert.spec.notifiers[].bearerTokenFile –> VMAlert.spec.notifiers[].bearerTokenFile,
      • VMAlert.spec.remoteRead.bearerTokenFilePath –> VMAlert.spec.remoteRead.bearerTokenFile,
      • VMAlert.spec.remoteWrite.bearerTokenFilePath –> VMAlert.spec.remoteWrite.bearerTokenFile.

Fixes #

  • operator set resource requests for config-reloader container by default. See this PR for details.
  • fix attachMetadata value miscovert for scrape objects. See this issue and this PR 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 and this PR for details.
  • vmalert: fix tlsCAFile argument value generation when using secret or configMap. See this issue and this PR for details.
  • vmalertmanager: fix default request memory and apply default resources if not set. See this issue and this PR for details.
  • vmagent: fix missing additional VolumeClaimTemplates when using ClaimTemplates under StatefulMode.

Features #

v0.35.1 #

Release date: 12 Jul 2023

AppVersion: v1.91.3

Fixes #

v0.35.0 #

Release date: 03 Jul 2023

AppVersion: v1.91.3

Fixes #

Features #

v0.34.1 #

Release date: 29 May 2023

AppVersion: v1.91.0

Fixes #

  • vmcluster: fail fast on misconfigured or missing kubernetes pods. It should prevent rare bug with cascade pod deletion. See this issue for details
  • vmauth/vmagent: correctly renders initConfig image with global container registry domain. See this issue for details.
  • vmagent: correctly set RBAC permissions for single namespace mode and custom config reloader image. See this issue for details.

v0.34.0 #

Release date: 24 May 2023

AppVersion: v1.91.0

Breaking changes #

  • [Operator]: allows to properly run operator with single namespace. It changes default behavior with WATCH_NAMESPACE param is set. Operator will no longer make any calls for cluster wide resources and create only single namespace config for VMAgent. https://github.com/VictoriaMetrics/operator/issues/641

Fixes #

Features #

v0.33.0 #

Release date: 19 Apr 2023

AppVersion: v1.89.1

Fixes #

Features #

v0.32.1 #

Release date: 16 Mar 2023

AppVersion: v1.89.1

Fixes #

v0.32.0 #

Release date: 15 Mar 2023

AppVersion: v1.89.1

Fixes #

  • security: builds docker image with latest alpine base image and go v1.20.

Features #

v0.31.0 #

Release date: 02 Mar 2023

AppVersion: v1.85.3

Fixes #

Features #

v0.30.4 #

Release date: 27 Jan 2023

AppVersion: v1.85.3

Fixes #

Features #

v0.30.3 #

Release date: 16 Jan 2023

AppVersion: v1.85.2

Fixes #

v0.30.2 #

Release date: 12 Jan 2023

AppVersion: v1.85.2

Upgrade notes #

  • It’s recommend to upgrade for this release when vmagent.spec.statefulMode is used.

Fixes #

v0.30.1 #

Release date: 09 Jan 2023

AppVersion: v1.85.2

Fixes #

Features #

v0.30.0 #

Release date: 29 Dec 2022

AppVersion: v1.85.2

Fixes #

Features #

v0.29.2 #

Release date: 17 Nov 2022

AppVersion: v1.83.1

Fixes #

v0.29.1 #

Release date: 14 Nov 2022

AppVersion: v1.83.1

Fixes #

Features #

v0.29.0 #

Release date: 24 Oct 2022

AppVersion: v1.82.1

Fixes #

Features #

New Contributors #

v0.28.5 #

Release date: 13 Sep 2022

AppVersion: v1.79.2

Fixes #

Features #

v0.28.4 #

Release date: 12 Sep 2022

AppVersion: v1.79.2

Fixes #

Features #

v0.28.3 #

Release date: 02 Sep 2022

AppVersion: v1.79.2

Fixes #

v0.28.2 #

Release date: 01 Sep 2022

AppVersion: v1.79.2

Fixes #

v0.28.1 #

Release date: 31 Aug 2022

AppVersion: v1.79.2

Fixes #

v0.28.0 #

Release date: 30 Aug 2022

AppVersion: v1.79.2

Fixes #

Features #

v0.27.2 #

Release date: 22 Aug 2022

AppVersion: v1.79.2

Fixes #

v0.27.1 #

Release date: 17 Aug 2022

AppVersion: v1.79.2

Fixes #

Features #

v0.27.0 #

Release date: 16 Aug 2022

AppVersion: v1.79.0

Fixes #

Features #

New Contributors #

v0.26.3 #

Release date: 26 Jul 2022

AppVersion: v1.79.0

Fixes #

v0.26.0 #

Release date: 25 Jul 2022

AppVersion: v1.79.0

Breaking changes #

This release contains breaking changes that was fixed at v0.26.2 release. It’s recommended to use it instead of upgrading to v0.26.0

Fixes #

Features #

New Contributors #

v0.25.1 #

Release date: 20 May 2022

AppVersion: v1.77.1

Fixes #

v0.25.0 #

Release date: 19 May 2022

AppVersion: v1.77.1

Breaking changes #

Fixes #

Features #

New Contributors #

v0.24.0 #

Release date: 11 Apr 2022

AppVersion: v1.76.0

Fixes #

Features #

New Contributors #

v0.23.3 #

Release date: 21 Feb 2022

AppVersion: v1.72.0

Fixes #

Features #

v0.23.2 #

Release date: 14 Feb 2022

AppVersion: v1.72.0

Fixes #

v0.23.1 #

Release date: 10 Feb 2022

AppVersion: v1.72.0

Fixes #

v0.23.0 #

Release date: 09 Feb 2022

AppVersion: v1.72.0

Breaking changes #

  • job name label was changed, new prefix added with CRD type - probe, podScrape,serviceScrape, nodeScrape and staticScrape

Fixes #

Features #

v0.22.1 #

Release date: 21 Jan 2022

AppVersion: v1.71.0

Fixes #

Features #

v0.22.0 #

Release date: 26 Dec 2021

AppVersion: v1.71.0

Fixes #

Features #

v0.21.0 #

Release date: 30 Nov 2021

AppVersion: v1.68.0

Breaking changes #

Fixes #

Features #

v0.20.3 #

Release date: 10 Nov 2021

AppVersion: v1.68.0

Fixes #

v0.20.2 #

Release date: 07 Nov 2021

AppVersion: v1.68.0

Fixes #

v0.20.1 #

Release date: 28 Oct 2021

AppVersion: v1.68.0

Fixes #

v0.20.0 #

Release date: 28 Oct 2021

AppVersion: v1.68.0

Breaking changes #

Features #

Fixes #

v0.19.1 #

Release date: 28 Sep 2021

AppVersion: v1.66.2

Fixes #

v0.19.0 #

Release date: 24 Sep 2021

AppVersion: v1.66.2

Features #

Fixes #

v0.18.2 #

Release date: 03 Sep 2021

AppVersion: v1.64.1

Fixes #

v0.18.1 #

Release date: 30 Aug 2021

AppVersion: v1.64.1

Fixes #

v0.18.0 #

Release date: 24 Aug 2021

AppVersion: v1.64.1

Deprecations #

  • Deprecates apiextensions.k8s.io/v1beta1 API for CRD. Its still available at legacy mode.

Features #

Fixes #

v0.17.2 #

Release date: 31 Jul 2021

AppVersion: v1.63.0

Features #

  • Updated docs.

Fixes #

v0.17.1 #

Release date: 28 Jul 2021

AppVersion: v1.63.0

Features #

  • Updated default versions for vm apps to v1.63.0 version
  • Updated docs.

v0.17.0 #

Release date: 27 Jul 2021

AppVersion: v1.58.0

Features #

Fixes #

v0.16.0 #

Release date: 11 Jul 2021

AppVersion: v1.58.0

Breaking Changes #

Features #

Fixes #

v0.15.2 #

Release date: 17 Jun 2021

AppVersion: v1.58.0

Features #

  • reduced CRD size, it should fix operator-hub deployment
  • updated lib versions.
  • updated docs.

v0.15.1 #

Release date: 16 Jun 2021

AppVersion: v1.58.0

Fixes #

v0.15.0 #

Release date: 14 Jun 2021

AppVersion: v1.58.0

Features #

Fixes #

v0.14.2 #

Release date: 26 Apr 2021

AppVersion: v1.58.0

Fixes #

  • fixes insertPorts type for VMCluster

v0.14.1 #

Release date: 22 Apr 2021

AppVersion: v1.58.0

Fixes #

  • fixes missing args for inline relabel configs.

v0.14.0 #

Release date: 22 Apr 2021

AppVersion: v1.58.0

Fixes #

Features #

v0.13.1 #

Release date: 13 Apr 2021

AppVersion: v1.58.0

Fixes #

v0.13.0 #

Release date: 09 Apr 2021

AppVersion: v1.58.0

Fixes #

Features #

v0.12.2 #

Release date: 31 Mar 2021

AppVersion: v1.56.0

Fixes #

v0.12.1 #

Release date: 30 Mar 2021

AppVersion: v1.56.0

Fixes #

v0.12.0 #

Release date: 29 Mar 2021

AppVersion: v1.56.0

Breaking changes #

  • operator automatically resizes PVC and recreates StatefulSet for VMCluster components if needed, be careful with upgrade, if you are manually edited PVC size. In common cases, it must be safe.

Features #

Fixes #

v0.11.0 #

Release date: 22 Mar 2021

AppVersion: v1.56.0

Breaking changes #

Features #

  • Adds additional service for all components, its useful for service exposition. See this issue.

Fixes #

  • fixes bug with insert ports.
  • minor fixes to examples.

v0.10.0 #

Release date: 14 Mar 2021

AppVersion: v1.53.1

Features #

Fixes #

v0.9.1 #

Release date: 22 Feb 2021

AppVersion: v1.53.1

Features #

Fixes #

  • rbac role namespace.

v0.9.0 #

Release date: 21 Feb 2021

AppVersion: v1.53.1

Features #

Fixes #

v0.8.0 #

Release date: 09 Feb 2021

AppVersion: v1.53.1

Features #

Fixes #

  • fixes operator-hub docs broken links.
  • fixes panic at vmcluster.

v0.7.4 #

Release date: 25 Jan 2021

AppVersion: v1.51.0

Fixes #

v0.7.3 #

Release date: 20 Jan 2021

AppVersion: v1.51.0

Fixes #

v0.7.2 #

Release date: 17 Jan 2021

AppVersion: v1.51.0

Fixes #

v0.7.1 #

Release date: 01 Jan 2021

AppVersion: v1.51.0

Fixes #

Features #

  • adds heuristic for selector match between VMRule, VMNodeScrape, VMProbe, VMServiceScrape and VMPodScrape and corresponding object - VMAlert or `VMAgent. It must speed up reconciliation in case of multi-tenancy.

v0.7.0 #

Release date: 30 Dec 2020

AppVersion: v1.51.0

Fixes #

Features #

v0.6.1 #

Release date: 16 Dec 2020

AppVersion: v1.50.1

Fixes #

  • VMAlert TLSConfig build was fixed.
  • Fixes docs for operator-hub.

v0.6.0 #

Release date: 15 Dec 2020

AppVersion: v1.50.1

Breaking changes #

  • VMAgent RemoteWriteSpec was changed, now it doesnt support flushInterval,maxBlockSize,maxDiskUsagePerURL and queues. Because its global flags at vmagent. Added remoteWriteSettings instead with corresponding settings.

Features #

Fixes #

v0.5.0 #

Release date: 04 Dec 2020

AppVersion: v1.48.0

Breaking changes #

  • VMCluster’s serviceAccountName moved from VMCluster.spec.vm....serviceAccountName to the root of spec, and now its located at VMCluster.spec.serviceAccountName.
  • Operator requires additional rbac permissions.

Features #

Fixes #

  • Fixes rbac for openshift deployment, adds emptyDir for VMAgents persistent queue with 1gb size limit. https://github.com/VictoriaMetrics/operator/issues/106
  • Fixes VMAlert deployment serviceAccountName.
  • Fixes logger levels for operator.
  • Fixes labels, now is forbidden to change Selector labels for for all VictoriaMetrics applications. This changes will be ignored.
  • Reduces size of CRDs.

v0.4.0 #

Release date: 15 Nov 2020

AppVersion: v1.46.0

v0.3.0 #

Release date: 29 Oct 2020

AppVersion: v1.43.0

v0.2.1 #

Release date: 28 Aug 2020

AppVersion: v1.40.0
  • #78 fixed bug with rbac - without access to vmsingles api resource, operator wasn’t able to start reconciliation loop.
  • #76 added path prefix support if extraArgs was specified.
  • #71 arm support with cross compilation.

v0.2.0 #

Release date: 23 Aug 2020

AppVersion: v1.40.0
  • Added VMProbe #59
  • Fixed various bug with prometheus api objects conversion.
  • added annotations for control conversion flow #68

v0.1.2 #

Release date: 21 Aug 2020

AppVersion: v1.40.0
  • #66 added path replacement for CAfile, Certfile, KeyFile, BearerTokenFile at prometheus api converter.
  • #65 fixed tlsConfig logic, now configuration file renders correctly, if empty value for Cert, Ca or KeySecret defined at tlsConf
  • minor documentation update

v0.1.1 #

Release date: 18 Aug 2020

AppVersion: v1.40.0
  • fixed issues with crd patching for 1.18 kubernetes version
  • fixed issue with rbac roles
  • upgraded go version to 1.15
  • upgraded operator-sdk version to 1.0.0

v0.1.0 #

Release date: 12 Aug 2020

AppVersion: v1.39.2

Starting point of operator releases

  • Documentation update

v0.0.6 #

Release date: 26 Jul 2020

AppVersion: v1.37.0
  • breaking changes to api (changed group name to operator.victoriametrics.com)
  • changed build and release process
  • migrated to operator sdk 0.19

v0.0.2 #

Release date: 12 Jun 2020

AppVersion: v1.37.0
  • fixed panic at vmSingle update
  • added support for scraping tls targets with ServiceMonitor TLSConfig

v0.0.1 #

Release date: 06 Jun 2020

AppVersion: v1.37.0

it contains basic api objects support:

  1. vmAgent
  2. vmAlert
  3. vmSingle
  4. vmAlertmanager
  • prometheus-operator objects:
  1. prometheusRule
  2. serviceMonitor
  3. podMonitor