CHANGELOG

Next release#

v0.43.4 - 25 Apr 2024#

  • 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 - 23 Apr 2024#

  • 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 - 22 Apr 2024#

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

v0.43.1 - 18 Apr 2024#

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

v0.43.0 - 18 Apr 2024#

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. - 12 Mar 2024#

  • 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. - 6 Mar 2024#

  • 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. - 5 Mar 2024#

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

v0.42.0 - 4 Mar 2024#

  • 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 releaes.
  • 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 - 21 Feb 2024#

  • 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 - 1 Feb 2024#

  • update VictoriaMetrics image tags to v1.97.1.

v0.41.0 - 31 Jan 2024#

  • update VictoriaMetrics image tags to 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 - 23 Jan 2024#

v0.39.4 - 13 Dec 2023#

v0.39.3 - 16 Nov 2023#

  • update VictoriaMetrics image tags to v1.95.1.

v0.39.2 - 15 Nov 2023#

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 - 1 Nov 2023#

  • 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 - 4 Oct 2023#

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 - 11 Sep 2023#

Default version of VictoriaMetrics components: 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 - 02 Sep 2023#

Default version of VictoriaMetrics components: v1.93.3

Updates#

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

v0.37.0 - 30 Aug 2023#

Fixes#

  • vmagent: fix unmarshalling for streaming aggregation match field.

Features#

v0.36.1 - 25 Aug 2023#

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 - 23 Aug 2023#

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#

[Changes][v0.36.0]

v0.35.1 - 12 Jul 2023#

Fixes#

Changes

v0.35.0 - 03 Jul 2023#

Fixes#

Features#

Changes

v0.34.1 - 29 May 2023#

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.

Changes

v0.34.0 - 24 May 2023#

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#

Changes

v0.33.0 - 19 Apr 2023#

Fixes#

Features#

Changes

v0.32.1 - 16 Mar 2023#

Fixes#

Changes

v0.32.0 - 15 Mar 2023#

Fixes#

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

Features#

Changes

v0.31.0 - 02 Mar 2023#

Fixes#

Features#

Changes

v0.30.4 - 27 Jan 2023#

Fixes#

Features#

Changes

v0.30.3 - 16 Jan 2023#

Fixes#

Changes

v0.30.2 - 12 Jan 2023#

Upgrade notes#

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

Fixes#

Changes

v0.30.1 - 09 Jan 2023#

Fixes#

Features#

Changes

v0.30.0 - 29 Dec 2022#

Fixes#

Features#

Changes

v0.29.2 - 17 Nov 2022#

Fixes#

Changes

v0.29.1 - 14 Nov 2022#

Fixes#

Features#

Changes

v0.29.0 - 24 Oct 2022#

Fixes#

Features#

New Contributors#

Changes

v0.28.5 - 13 Sep 2022#

Fixes#

Features#

Changes

v0.28.4 - 12 Sep 2022#

Fixes#

Features#

Changes

v0.28.3 - 02 Sep 2022#

Fixes#

Changes

v0.28.2 - 01 Sep 2022#

Fixes#

Changes

v0.28.1 - 31 Aug 2022#

Fixes#

Changes

v0.28.0 - 30 Aug 2022#

Fixes#

Features#

Changes

v0.27.2 - 22 Aug 2022#

Fixes#

Changes

v0.27.1 - 17 Aug 2022#

Fixes#

Features#

Changes

v0.27.0 - 16 Aug 2022#

Fixes#

Features#

New Contributors#

Changes

v0.26.3 - 26 Jul 2022#

Fixes#

Changes

v0.26.0 - 25 Jul 2022#

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#

Changes

v0.25.1 - 20 May 2022#

Fixes#

Changes

v0.25.0 - 19 May 2022#

Breaking changes#

Fixes#

Features#

New Contributors#

Changes

v0.24.0 - 11 Apr 2022#

Fixes#

Features#

New Contributors#

Changes

v0.23.3 - 21 Feb 2022#

Fixes#

Features#

Changes

v0.23.2 - 14 Feb 2022#

Fixes#

Changes

v0.23.1 - 10 Feb 2022#

Fixes#

Changes

v0.23.0 - 09 Feb 2022#

Breaking changes#

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

Fixes#

Features#

Changes

v0.22.1 - 21 Jan 2022#

Fixes#

Features#

Changes

v0.22.0 - 26 Dec 2021#

Fixes#

Features#

Changes

v0.21.0 - 30 Nov 2021#

Breaking changes#

Fixes#

Features#

Changes

v0.20.3 - 10 Nov 2021#

Fixes#

Changes

v0.20.2 - 07 Nov 2021#

Fixes#

Changes

v0.20.1 - 28 Oct 2021#

Fixes#

Changes

v0.20.0 - 28 Oct 2021#

Breaking changes#

Features#

Fixes#

Changes

v0.19.1 - 28 Sep 2021#

Fixes#

Changes

v0.19.0 - 24 Sep 2021#

Features#

Fixes#

Changes

v0.18.2 - 03 Sep 2021#

Fixes#

Changes

v0.18.1 - 30 Aug 2021#

Fixes#

Changes

v0.18.0 - 24 Aug 2021#

Deprecations#

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

Features#

Fixes#

Changes

v0.17.2 - 31 Jul 2021#

Features#

  • Updated docs.

Fixes#

Changes

v0.17.1 - 28 Jul 2021#

Features#

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

Changes

v0.17.0 - 27 Jul 2021#

Features#

Fixes#

Changes

v0.16.0 - 11 Jul 2021#

Breaking Changes#

Features#

Fixes#

Changes

v0.15.2 - 17 Jun 2021#

Features#

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

Changes

v0.15.1 - 16 Jun 2021#

Fixes#

Changes

v0.15.0 - 14 Jun 2021#

Features#

Fixes#

Changes

v0.14.2 - 26 Apr 2021#

Fixes#

  • fixes insertPorts type for VMCluster

Changes

v0.14.1 - 22 Apr 2021#

Fixes#

  • fixes missing args for inline relabel configs.

Changes

v0.14.0 - 22 Apr 2021#

Fixes#

Features#

Changes

v0.13.1 - 13 Apr 2021#

Fixes#

Changes

v0.13.0 - 09 Apr 2021#

Fixes#

Features#

Changes

v0.12.2 - 31 Mar 2021#

Fixes#

Changes

v0.12.1 - 30 Mar 2021#

Fixes#

Changes

v0.12.0 - 29 Mar 2021#

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#

Changes

v0.11.0 - 22 Mar 2021#

Breaking changes#

Features#

Fixes#

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

Changes

v0.10.0 - 14 Mar 2021#

Features#

Fixes#

Changes

v0.9.1 - 22 Feb 2021#

Features#

Fixes#

  • rbac role namespace.

Changes

v0.9.0 - 21 Feb 2021#

Features#

Fixes#

Changes

v0.8.0 - 09 Feb 2021#

Features#

Fixes#

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

Changes

v0.7.4 - 25 Jan 2021#

Fixes#

Changes

v0.7.3 - 20 Jan 2021#

Fixes#

Changes

v0.7.2 - 17 Jan 2021#

Fixes#

Changes

v0.7.1 - 01 Jan 2021#

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.

Changes

v0.7.0 - 30 Dec 2020#

Fixes#

Features#

Changes

v0.6.1 - 16 Dec 2020#

Fixes#

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

Changes

v0.6.0 - 15 Dec 2020#

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#

Changes

v0.5.0 - 04 Dec 2020#

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.

Changes

v0.4.0 - 15 Nov 2020#

Changes

v0.3.0 - 29 Oct 2020#

Changes

v0.2.1 - 28 Aug 2020#

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

Changes

v0.2.0 - 23 Aug 2020#

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

Changes

v0.1.2 - 21 Aug 2020#

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

Changes

v0.1.1 - 18 Aug 2020#

  • 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

Changes

v0.1.0 - 12 Aug 2020#

Starting point of operator releases

  • Documentation update

Changes

v0.0.6 - 26 Jul 2020#

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

Changes

v0.0.2 - 12 Jun 2020#

  • fixed panic at vmSingle update
  • added support for scraping tls targets with ServiceMonitor TLSConfig

Changes

v0.0.1 - 06 Jun 2020#

it contains basic api objects support:

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

Changes