diff --git a/docs/helm/CHANGELOG.md b/docs/helm/CHANGELOG.md new file mode 100644 index 000000000..5d2a85708 --- /dev/null +++ b/docs/helm/CHANGELOG.md @@ -0,0 +1,12 @@ +# CHANGELOG + +- See [CHANGELOG for `victoria-logs-single` helm chart](charts/victoria-logs-single/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-agent` helm chart](charts/victoria-metrics-agent/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-alert` helm chart](charts/victoria-metrics-alert/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-anomaly` helm chart](charts/victoria-metrics-anomaly/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-auth` helm chart](charts/victoria-metrics-auth/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-cluster` helm chart](charts/victoria-metrics-cluster/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-gateway` helm chart](charts/victoria-metrics-gateway/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-k8s-stack` helm chart](charts/victoria-metrics-k8s-stack/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-operator` helm chart](charts/victoria-metrics-operator/CHANGELOG.md) +- See [CHANGELOG for `victoria-metrics-single` helm chart](charts/victoria-metrics-single/CHANGELOG.md) diff --git a/docs/helm/CONTRIBUTING.md b/docs/helm/CONTRIBUTING.md new file mode 100644 index 000000000..81fddfeed --- /dev/null +++ b/docs/helm/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# Contributing + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](REQUIREMENTS.md). +* [OPTIONAL] Configure authentication on your Github account to use the SSH protocol instead of HTTP. Watch this tutorial to learn how to set up: https://help.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account +* Create a fork this repository. +* Clone the forked repository to your local system: + +```bash +git clone URL_FORKED_REPOSITORY +``` + +* Add the address for the remote original repository: + +```bash +git remote -v +git remote add upstream https://github.com/VictoriaMetrics/helm-charts +git remote -v +``` + +* Create a branch. Example: + +```bash +git checkout -b BRANCH_NAME +``` + +* Make sure you are on the correct branch using the following command. The branch in use contains the '*' before the name. + +```bash +git branch +``` + +* Make your changes and tests to the new branch. +* Run command ``helm-docs`` to update content of ``README.md`` file of all charts using the ``README.md.gotmpl`` template. +* Commit the changes to the branch. +* Push files to repository remote with command: + +```bash +git push --set-upstream origin BRANCH_NAME +``` + +* Create Pull Request (PR) to the `master` branch. See this [tutorial](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) +* Update the content with the suggestions of the reviewer (if necessary). +* After your pull request is merged to the `master` branch, update your local clone: + +```bash +git checkout master +git pull upstream master +``` + +* Clean up after your pull request is merged with command: + +```bash +git branch -d BRANCH_NAME +``` + +* Then you can update the ``master`` branch in your forked repository. + +```bash +git push origin master +``` + +* And push the deletion of the feature branch to your GitHub repository with command: + +```bash +git push --delete origin BRANCH_NAME +``` + +* To keep your fork in sync with the original repository, use these commands: + +```bash +git pull upstream master +git push origin master +``` + +Reference: +* https://blog.scottlowe.org/2015/01/27/using-fork-branch-git-workflow/ \ No newline at end of file diff --git a/docs/helm/README.md b/docs/helm/README.md new file mode 100644 index 000000000..b01b9069c --- /dev/null +++ b/docs/helm/README.md @@ -0,0 +1,136 @@ +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/search?repo=victoriametrics&verified_publisher=true) +[![License](https://img.shields.io/github/license/VictoriaMetrics/VictoriaMetrics.svg)](https://github.com/VictoriaMetrics/helm-charts/blob/master/LICENSE) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) + +This repository contains helm charts for VictoriaMetrics and VictoriaLogs. + +## Add a chart helm repository (can be skipped for OCI repository) + +Access a Kubernetes cluster. + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` + +List [all charts](#list-of-charts) and versions of `vm` repository available to installation: + +```console +helm search repo vm/ +``` + +The command must display existing helm chart e.g. + +```shell +NAME CHART VERSION APP VERSION DESCRIPTION +vm/victoria-logs-single 0.5.2 v0.15.0-victorialogs Victoria Logs Single version - high-performance... +vm/victoria-metrics-agent 0.10.9 v1.101.0 Victoria Metrics Agent - collects metrics from ... +vm/victoria-metrics-alert 0.9.9 v1.101.0 Victoria Metrics Alert - executes a list of giv... +vm/victoria-metrics-anomaly 1.3.0 v1.13.0 Victoria Metrics Anomaly Detection - a service ... +vm/victoria-metrics-auth 0.4.13 v1.101.0 Victoria Metrics Auth - is a simple auth proxy ... +vm/victoria-metrics-cluster 0.11.19 v1.101.0 Victoria Metrics Cluster version - high-perform... +vm/victoria-metrics-distributed 0.1.0 v1.101.0 A Helm chart for Running VMCluster on Multiple ... +vm/victoria-metrics-gateway 0.1.62 v1.101.0 Victoria Metrics Gateway - Auth & Rate-Limittin... +vm/victoria-metrics-k8s-stack 0.23.2 v1.101.0 Kubernetes monitoring on VictoriaMetrics stack.... +vm/victoria-metrics-operator 0.32.2 v0.45.0 Victoria Metrics Operator +vm/victoria-metrics-single 0.9.22 v1.101.0 Victoria Metrics Single version - high-performa... +``` + +## Installing the chart + +Export default values of `victoria-metrics-cluster` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-cluster > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-agent > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install victoria-metrics vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install victoria-metrics oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install victoria-metrics vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install victoria-metrics oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster -f values.yaml -n NAMESPACE + ``` + +## Validate installation + +Get the pods lists by running these commands: + +```console +kubectl get pods -A | grep 'victoria-metrics' + +# or list all resorces of victoria-metrics + +kubectl get all -n NAMESPACE | grep victoria +``` + +Get the application by running this commands: + +```console +helm list -f victoria-metrics -n NAMESPACE +``` + +See the history of versions of ``victoria-metrics`` application with command. + +```console +helm history victoria-metrics -n NAMESPACE +``` + +## How to uninstall VictoriaMetrics + +Remove application with command. + +```console +helm uninstall victoria-metrics -n NAMESPACE +``` + +## Kubernetes compatibility versions + +helm charts tested at kubernetes versions from 1.28 to 1.30. + +## List of Charts + +- [Victoria Logs Single-Node](./charts/victoria-logs-single) +- [Victoria Metrics Agent](./charts/victoria-metrics-agent) +- [Victoria Metrics Alert](./charts/victoria-metrics-alert) +- [Victoria Metrics Anomaly](./charts/victoria-metrics-anomaly) +- [Victoria Metrics Auth](./charts/victoria-metrics-auth) +- [Victoria Metrics Cluster](./charts/victoria-metrics-cluster) +- [Victoria Metrics Gateway](./charts/victoria-metrics-gateway) +- [Victoria Metrics Distributed](./charts/victoria-metrics-distributed) +- [Victoria Metrics k8s Stack](./charts/victoria-metrics-k8s-stack) +- [Victoria Metrics Operator](./charts/victoria-metrics-operator) +- [Victoria Metrics Single-node](./charts/victoria-metrics-single) diff --git a/docs/helm/REQUIREMENTS.md b/docs/helm/REQUIREMENTS.md new file mode 100644 index 000000000..23c93fb53 --- /dev/null +++ b/docs/helm/REQUIREMENTS.md @@ -0,0 +1,135 @@ +# Prerequisites to develop and test Helm Charts + +## Kubernetes Cluster + +You will need to create a Kubernetes cluster locally using [minikube](https://kubernetes.io/docs/tasks/tools/install-minikube), [microk8s](https://microk8s.io), [kind](https://kind.sigs.k8s.io), [k3s](https://k3s.io) or other tools. + +Or use Kubernetes cluster in [EKS](https://aws.amazon.com/eks), [GKE](https://cloud.google.com/kubernetes-engine), [AKS](https://docs.microsoft.com/en-us/azure/aks), [DOKS](https://www.digitalocean.com/products/kubernetes) or other cloud provider. + +## Install Docker-CE + +Follow instructions of page for install Docker-CE. + +* Ubuntu: https://docs.docker.com/install/linux/docker-ce/ubuntu/ +* Debian: https://docs.docker.com/install/linux/docker-ce/debian/ +* CentOS: https://docs.docker.com/install/linux/docker-ce/centos/ +* MacOS: https://docs.docker.com/docker-for-mac/install/ + +Start the Docker service, configure Docker to boot up with the OS and add your user to the Docker group. + +```bash +# Start the Docker service +sudo systemctl start docker + +# Configure Docker to boot up with the OS +sudo systemctl enable docker + +# Add your user to the Docker group +sudo usermod -aG docker $USER +sudo setfacl -m user:$USER:rw /var/run/docker.sock +``` + +Source: https://docs.docker.com/engine/install/linux-postinstall/#configure-docker-to-start-on-boot + +## Install Kubectl + +Simple shell function for Kubectl installation in Linux 64 bits. Copy and paste this code: + +```bash +sudo su + +VERSION=v1.22.2 +KUBECTL_BIN=kubectl + +function install_kubectl { +if [ -z $(which $KUBECTL_BIN) ]; then + curl -LO https://storage.googleapis.com/kubernetes-release/release/$VERSION/bin/linux/amd64/$KUBECTL_BIN + chmod +x ${KUBECTL_BIN} + sudo mv ${KUBECTL_BIN} /usr/local/bin/${KUBECTL_BIN} + sudo ln -sf /usr/local/bin/${KUBECTL_BIN} /usr/bin/${KUBECTL_BIN} +else + echo "Kubectl is most likely installed" +fi +} + +install_kubectl + +which kubectl + +kubectl version --client + +exit +``` + +Kubectl documentation: + +https://kubernetes.io/docs/reference/kubectl/overview/ + +**Credits:** Juan Pablo Perez - https://www.linkedin.com/in/juanpabloperezpeelmicro/ + +https://github.com/peelmicro/learn-devops-the-complete-kubernetes-course + +## Helm Docs + +Run the following commands to install ``helm-docs``. + +```bash +HELM_DOCS_VERSION=1.5.0 +HELM_DOCS_PACKAGE=helm-docs_``$HELM_DOCS_VERSION``_linux_x86_64.tar.gz + +cd /tmp + +wget https://github.com/norwoodj/helm-docs/releases/download/v$HELM_DOCS_VERSION/$HELM_DOCS_PACKAGE + +tar xzvf $HELM_DOCS_PACKAGE + +sudo mv helm-docs /usr/local/bin/ + +sudo chmod +rx /usr/local/bin/helm-docs + +helm-docs --version +``` + +Documentation: https://github.com/norwoodj/helm-docs + +The documentation generated by ``helm-docs`` is based on the contents of the ``values.yaml``, ``README.md.gotmpl`` and ``Chart.yaml`` file. It tries to overwrite the contents of the ``README.md`` file within the chart directory. + +## Install Helm 3 + +Execute these commands to install helm 3.14+. + +```bash +sudo su + +HELM_TAR_FILE=helm-v3.15.3-linux-amd64.tar.gz +HELM_URL=https://get.helm.sh +HELM_BIN=helm3 + +function install_helm3 { + +if [ -z $(which $HELM_BIN) ]; then + wget ${HELM_URL}/${HELM_TAR_FILE} + tar -xvzf ${HELM_TAR_FILE} + chmod +x linux-amd64/helm + sudo cp linux-amd64/helm /usr/local/bin/$HELM_BIN + sudo ln -sfn /usr/local/bin/$HELM_BIN /usr/local/bin/helm + rm -rf ${HELM_TAR_FILE} linux-amd64 + echo -e "\nwhich ${HELM_BIN}" + which ${HELM_BIN} +else + echo "Helm 3 is most likely installed" +fi +} + +install_helm3 +which $HELM_BIN +$HELM_BIN version + +exit +``` + +Documentation: https://helm.sh/docs/ + +**Credits**: Juan Pablo Perez - https://www.linkedin.com/in/juanpabloperezpeelmicro/ + +https://github.com/peelmicro/learn-devops-the-complete-kubernetes-course diff --git a/docs/helm/_index.md b/docs/helm/_index.md new file mode 100644 index 000000000..d3de7b0f5 --- /dev/null +++ b/docs/helm/_index.md @@ -0,0 +1,12 @@ +--- +weight: 0 +title: Helm Charts +menu: + docs: + weight: 0 + identifier: helm +aliases: + - /helm + - /helm/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-logs-single/CHANGELOG.md b/docs/helm/victoria-logs-single/CHANGELOG.md new file mode 100644 index 000000000..25e156d44 --- /dev/null +++ b/docs/helm/victoria-logs-single/CHANGELOG.md @@ -0,0 +1,258 @@ +## Next release + +- TODO + +## 0.6.3 + +**Release date:** 2024-09-16 + +![AppVersion: v0.28.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.28.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Avoid variant if tag is set explicitly + +## 0.6.2 + +**Release date:** 2024-09-12 + +![AppVersion: v0.28.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.28.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables +- Made replicas configurable +- Allow override default for statefulset headless service + +## 0.6.1 + +**Release date:** 2024-09-03 + +![AppVersion: v0.28.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.28.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to configure container port +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) +- Renamed `.Values.server.persistentVolume.storageClass` to `.Values.server.persistentVolume.storageClassName` +- Removed necessity to set `.Values.server.persistentVolume.existingClaim` when volume is expected to be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189) +- Fixed PVC in StatefulSet + +## 0.6.0 + +**Release date:** 2024-08-21 + +![AppVersion: v0.28.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.28.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values..image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values..image.tag` to automatically use the version specified in `.Chart.AppVersion`. + +**Update note**: main container name was changed to `vlogs`, which will recreate a pod. + +**Update note**: requires Helm 3.14+ + +- Added `basicAuth` support for `ServiceMonitor` +- Set minimal kubernetes version to `1.25` +- Removed support for `policy/v1beta1/PodDisruptionBudget` +- Updated `.Values.server.readinessProbe` to `.Values.server.probe.readiness` +- Updated `.Values.server.livenessProbe` to `.Values.server.probe.liveness` +- Updated `.Values.server.startupProbe` to `.Values.server.probe.startup` +- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry` +- Added `.Values.server.emptyDir` to customize default data directory +- Merged headless and non-headless services, removed statefulset service specific variables +- Use static container names in a pod +- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support +- Added `.Values.server.service.ipFamilies` and `.Values.server.service.ipFamilyPolicy` for service IP family management + +## 0.5.4 + +**Release date:** 2024-07-25 + +![AppVersion: v0.28.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.28.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- update VictoriaLogs to [v0.28.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.28.0-victorialogs). + +## 0.5.3 + +**Release date:** 2024-07-08 + +![AppVersion: v0.15.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.15.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092). + +## 0.5.2 + +**Release date:** 2024-06-17 + +![AppVersion: v0.15.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.15.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix invalid label selector usage in notes printed after chart installation + +## 0.5.1 + +**Release date:** 2024-05-30 + +![AppVersion: v0.15.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.15.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaLogs to [v0.15.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.15.0-victorialogs). + +## 0.5.0 + +**Release date:** 2024-05-23 + +![AppVersion: v0.8.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.8.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update fluent-bit chart to 0.46.7 and fluentbit to 3.0.4 +- Update VictoriaLogs version to 0.9.1 + +## 0.4.0 + +**Release date:** 2024-05-20 + +![AppVersion: v0.8.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.8.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Upgrade VictoriaLogs to [v0.8.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.8.0-victorialogs) +- Move `.Values.server.name`, `.Values.server.fullnameOverride` to `.Values.global.victoriaLogs.server`. This allows to avoid issues with Fluent Bit output definition. See the [pull request]() for the details. +- Include `kubernetes_namespace_name` field in the [stream fields](https://docs.victoriametrics.com/victorialogs/keyconcepts/#stream-fields) configuration of Fluent Bit output. + +## 0.3.8 + +**Release date:** 2024-05-10 + +![AppVersion: v0.5.2-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.5.2-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters. +- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details. + +## 0.3.7 + +**Release date:** 2024-04-16 + +![AppVersion: v0.5.2-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.5.2-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of victorialogs to [0.5.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.5.2-victorialogs) + +## 0.3.6 + +**Release date:** 2024-03-28 + +![AppVersion: v0.5.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.5.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- support adding `metricRelabelings` for server serviceMonitor (#946) + +## 0.3.5 + +**Release date:** 2024-03-05 + +![AppVersion: v0.5.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.5.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of vlogs single to [0.5.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.5.0-victorialogs) + +## 0.3.4 + +**Release date:** 2023-11-15 + +![AppVersion: v0.4.2-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.4.2-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of vlogs single to [0.4.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.4.2-victorialogs) + +## 0.3.3 + +**Release date:** 2023-10-10 + +![AppVersion: v0.4.1-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.4.1-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add `kubernetes_container_name` into default [stream fields](https://docs.victoriametrics.com/victorialogs/keyconcepts#stream-fields) configuration `fluent-bit`. + +## 0.3.2 + +**Release date:** 2023-10-04 + +![AppVersion: v0.4.1-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.4.1-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of vlogs single to [0.4.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.4.1-victorialogs) + +## 0.3.1 + +**Release date:** 2023-09-13 + +![AppVersion: v0.3.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.3.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* added: extraObjects: [] for dynamic supportive objects configuration + +## 0.3.0 + +**Release date:** 2023-08-15 + +![AppVersion: v0.3.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.3.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* vlogs-single: update to 0.3.0 (#598) +* Remove repeated volumeMounts section (#610) + +## 0.1.3 + +**Release date:** 2023-07-27 + +![AppVersion: v0.3.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.3.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* vlogs-single: fix podSecurityContext and securityContext usage (#597) +* charts/victoria-logs-single: fix STS render when using statefulset is disabled (#585) +* charts/victoria-logs-single: add imagePullSecrets (#586) + +## 0.1.2 + +**Release date:** 2023-06-23 + +![AppVersion: v0.1.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.1.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* bump version of logs single +* Fix wrong condition on fluent-bit dependency (#568) + +### Default value changes + +```diff +# No changes in this release +``` + +## 0.1.1 + +**Release date:** 2023-06-22 + +![AppVersion: v0.1.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.1.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* charts/victoria-logs-single: template Host field (#566) + +## 0.1.0 + +**Release date:** 2023-06-22 + +![AppVersion: v0.1.0-victorialogs](https://img.shields.io/static/v1?label=AppVersion&message=v0.1.0-victorialogs&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* fix the chart image and jsonline endpoint +* add victoria-logs to build process, make package +* charts/victoria-logs-single: add fluentbit setup (#563) + +## 0.0.1 + +**Release date:** 2023-06-12 + +![AppVersion: v0.0.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.0.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* charts/victoria-logs-single: add new chart (#560) diff --git a/docs/helm/victoria-logs-single/README.md b/docs/helm/victoria-logs-single/README.md new file mode 100644 index 000000000..af0c308d3 --- /dev/null +++ b/docs/helm/victoria-logs-single/README.md @@ -0,0 +1,1091 @@ + ![Version: 0.6.3](https://img.shields.io/badge/Version-0.6.3-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-logs-single) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) + +Victoria Logs Single version - high-performance, cost-effective and scalable logs storage + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). + +* PV support on underlying infrastructure. + +## Chart Details + +This chart will do the following: + +* Rollout Victoria Logs Single. +* (optional) Rollout [fluentbit](https://fluentbit.io/) to collect logs from pods. + +Chart allows to configure logs collection from Kubernetes pods to VictoriaLogs. +In order to do that you need to enable fluentbit: +```yaml +fluent-bit: + enabled: true +``` +By default, fluentbit will forward logs to VictoriaLogs installation deployed by this chart. + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-logs-single` chart available to installation: + +```console +helm search repo vm/victoria-logs-single -l +``` + +### Install `victoria-logs-single` chart + +Export default values of `victoria-logs-single` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-logs-single > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-logs-single > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vls vm/victoria-logs-single -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vls oci://ghcr.io/victoriametrics/helm-charts/victoria-logs-single -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vls vm/victoria-logs-single -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vls oci://ghcr.io/victoriametrics/helm-charts/victoria-logs-single -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vls' +``` + +Get the application by running this command: + +```console +helm list -f vls -n NAMESPACE +``` + +See the history of versions of `vls` application with command. + +```console +helm history vls -n NAMESPACE +``` + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vls -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-logs-single + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-logs-single/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
fluent-bit.config.filterstpl
+fluent-bit.config.filters: |
+  [FILTER]
+      Name kubernetes
+      Match kube.*
+      Merge_Log On
+      Keep_Log On
+      K8S-Logging.Parser On
+      K8S-Logging.Exclude On
+  [FILTER]
+      Name                nest
+      Match               *
+      Wildcard            pod_name
+      Operation lift
+      Nested_under kubernetes
+      Add_prefix   kubernetes_
+ 
+
+

FluentBit configuration filters

+
fluent-bit.config.outputstpl
+fluent-bit.config.outputs: |
+  [OUTPUT]
+      Name http
+      Match kube.*
+      Host '{{ include "victoria-logs.server.fullname" . }}'
+      port 9428
+      compress gzip
+      uri /insert/jsonline?_stream_fields=stream,kubernetes_pod_name,kubernetes_container_name,kubernetes_namespace_name&_msg_field=log&_time_field=date
+      format json_lines
+      json_date_format iso8601
+      header AccountID 0
+      header ProjectID 0
+ 
+
+

Note that Host must be replaced to match your VictoriaLogs service name Default format points to VictoriaLogs service.

+
fluent-bit.daemonSetVolumeMounts[0].mountPathstring
+/var/log
+
+
fluent-bit.daemonSetVolumeMounts[0].namestring
+varlog
+
+
fluent-bit.daemonSetVolumeMounts[1].mountPathstring
+/var/lib/docker/containers
+
+
fluent-bit.daemonSetVolumeMounts[1].namestring
+varlibdockercontainers
+
+
fluent-bit.daemonSetVolumeMounts[1].readOnlybool
+true
+
+
fluent-bit.daemonSetVolumes[0].hostPath.pathstring
+/var/log
+
+
fluent-bit.daemonSetVolumes[0].namestring
+varlog
+
+
fluent-bit.daemonSetVolumes[1].hostPath.pathstring
+/var/lib/docker/containers
+
+
fluent-bit.daemonSetVolumes[1].namestring
+varlibdockercontainers
+
+
fluent-bit.enabledbool
+false
+
+

Enable deployment of fluent-bit

+
fluent-bit.resourcesobject
+{}
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
global.nameOverridestring
+""
+
+
global.victoriaLogs.server.fullnameOverridestring
+null
+
+

Overrides the full name of server component

+
global.victoriaLogs.server.namestring
+server
+
+

Server container name

+
podDisruptionBudget.enabledbool
+false
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
podDisruptionBudget.extraLabelsobject
+{}
+
+
printNotesbool
+true
+
+

Print chart notes

+
server.affinityobject
+{}
+
+

Pod affinity

+
server.containerWorkingDirstring
+""
+
+

Container workdir

+
server.emptyDirobject
+{}
+
+

Use an alternate scheduler, e.g. “stork”. ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ schedulerName:

+
server.enabledbool
+true
+
+

Enable deployment of server component. Deployed as StatefulSet

+
server.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables

+
server.envFromlist
+[]
+
+
server.extraArgsobject
+envflag.enable: "true"
+envflag.prefix: VM_
+loggerFormat: json
+
+

Extra command line arguments for container of component

+
server.extraContainerslist
+[]
+
+

Extra containers to run in a pod with Victoria Logs container

+
server.extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
server.extraLabelsobject
+{}
+
+

Sts/Deploy additional labels

+
server.extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
server.extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
server.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
server.image.registrystring
+""
+
+

Image registry

+
server.image.repositorystring
+victoriametrics/victoria-logs
+
+

Image repository

+
server.image.tagstring
+""
+
+

Image tag

+
server.image.variantstring
+victorialogs
+
+
server.imagePullSecretslist
+[]
+
+

Image pull secrets

+
server.ingress.annotationsstring
+null
+
+

Ingress annotations

+
server.ingress.enabledbool
+false
+
+

Enable deployment of ingress for server component

+
server.ingress.extraLabelsobject
+{}
+
+

Ingress extra labels

+
server.ingress.hostslist
+[]
+
+
server.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
server.ingress.tlslist
+[]
+
+

Array of TLS objects

+
server.initContainerslist
+[]
+
+

Init containers for Victoria Logs Pod

+
server.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
server.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
server.persistentVolume.annotationsobject
+{}
+
+

Persistant volume annotations

+
server.persistentVolume.enabledbool
+false
+
+

Create/use Persistent Volume Claim for server component. Empty dir if false

+
server.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. If defined, PVC must be created manually before volume will be bound

+
server.persistentVolume.matchLabelsobject
+{}
+
+

Bind Persistent Volume by labels. Must match all labels of targeted PV.

+
server.persistentVolume.mountPathstring
+/storage
+
+

Mount path. Server data Persistent Volume mount root path.

+
server.persistentVolume.sizestring
+3Gi
+
+

Size of the volume. Should be calculated based on the logs you send and retention policy you set.

+
server.persistentVolume.storageClassNamestring
+""
+
+

StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically

+
server.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
server.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
server.podLabelsobject
+{}
+
+

Pod’s additional labels

+
server.podManagementPolicystring
+OrderedReady
+
+

Pod’s management policy

+
server.podSecurityContextobject
+enabled: true
+fsGroup: 2000
+runAsNonRoot: true
+runAsUser: 1000
+
+

Pod’s security context. Details are here

+
server.priorityClassNamestring
+""
+
+

Name of Priority Class

+
server.probe.livenessobject
+failureThreshold: 10
+initialDelaySeconds: 30
+periodSeconds: 30
+tcpSocket: {}
+timeoutSeconds: 5
+
+

Indicates whether the Container is running. If the liveness probe fails, the kubelet kills the Container, and the Container is subjected to its restart policy. If a Container does not provide a liveness probe, the default state is Success.

+
server.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

Indicates whether the Container is ready to service requests. If the readiness probe fails, the endpoints controller removes the Pod’s IP address from the endpoints of all Services that match the Pod. The default state of readiness before the initial delay is Failure. If a Container does not provide a readiness probe, the default state is Success.

+
server.probe.startupobject
+{}
+
+

Indicates whether the Container is done with potentially costly initialization. If set it is executed first. If it fails Container is restarted. If it succeeds liveness and readiness probes takes over.

+
server.replicaCountint
+1
+
+

Replica count

+
server.resourcesobject
+{}
+
+

Resource object. Details are here

+
server.retentionPeriodint
+1
+
+

Data retention period in month

+
server.securityContextobject
+allowPrivilegeEscalation: false
+capabilities:
+    drop:
+        - ALL
+enabled: true
+readOnlyRootFilesystem: true
+
+

Security context to be added to server pods

+
server.service.annotationsobject
+{}
+
+

Service annotations

+
server.service.clusterIPstring
+""
+
+

Service ClusterIP

+
server.service.externalIPslist
+[]
+
+

Service External IPs. Details are here

+
server.service.externalTrafficPolicystring
+""
+
+
server.service.healthCheckNodePortstring
+""
+
+
server.service.ipFamilieslist
+[]
+
+
server.service.ipFamilyPolicystring
+""
+
+
server.service.labelsobject
+{}
+
+

Service labels

+
server.service.loadBalancerIPstring
+""
+
+

Service load balacner IP

+
server.service.loadBalancerSourceRangeslist
+[]
+
+

Load balancer source range

+
server.service.servicePortint
+9428
+
+

Service port

+
server.service.typestring
+ClusterIP
+
+

Service type

+
server.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
server.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
server.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
server.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
server.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
server.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
server.statefulSet.enabledbool
+true
+
+

Creates statefulset instead of deployment, useful when you want to keep the cache

+
server.statefulSet.podManagementPolicystring
+OrderedReady
+
+

Deploy order policy for StatefulSet pods

+
server.terminationGracePeriodSecondsint
+60
+
+

Pod’s termination grace period in seconds

+
server.tolerationslist
+[]
+
+

Node tolerations for server scheduling to nodes with taints. Details are here

+
+ diff --git a/docs/helm/victoria-logs-single/_changelog.md b/docs/helm/victoria-logs-single/_changelog.md new file mode 100644 index 000000000..5e29958b4 --- /dev/null +++ b/docs/helm/victoria-logs-single/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victorialogs-single-changelog + parent: helm-victorialogs-single +url: /helm/victorialogs-single/changelog +aliases: + - /helm/victorialogs-single/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-logs-single/_index.md b/docs/helm/victoria-logs-single/_index.md new file mode 100644 index 000000000..7303996b0 --- /dev/null +++ b/docs/helm/victoria-logs-single/_index.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: VictoriaLogs Single +menu: + docs: + parent: helm + weight: 1 + identifier: helm-victorialogs-single +url: /helm/victorialogs-single +aliases: + - /helm/victorialogs-single/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-agent/CHANGELOG.md b/docs/helm/victoria-metrics-agent/CHANGELOG.md new file mode 100644 index 000000000..4eaa638a3 --- /dev/null +++ b/docs/helm/victoria-metrics-agent/CHANGELOG.md @@ -0,0 +1,353 @@ +## Next release + +- Fail if no remoteWriteUrls set + +## 0.12.2 + +**Release date:** 2024-09-12 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables +- Removed deprecated API from RBAC. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1438) + +## 0.12.1 + +**Release date:** 2024-09-03 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fixed PVC in StatefulSet + +## 0.12.0 + +**Release date:** 2024-08-29 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0) +- Added ability to configure container port +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) +- Removed necessity to set `.Values.persistentVolume.existingClaim` when volume is expected to be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189) + +## 0.11.0 + +**Release date:** 2024-08-21 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: main container name was changed to `vmagent`, which will recreate a pod. + +**Update note**: requires Helm 3.14+ + +- Removed `PodSecurityPolicy` +- Set minimal kubernetes version to `1.25` +- Removed support for `policy/v1beta1/PodDisruptionBudget` +- Added params to configure probes `.Values.probe.readiness`, `.Values.probe.liveness` and `.Values.probe.startup` +- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry` +- Added `.Values.emptyDir` to customize default cache directory +- Use static container names in a pod +- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support +- Added `.Values.service.ipFamilies` and `.Values.service.ipFamilyPolicy` for service IP family management + +## 0.10.14 + +**Release date:** 2024-08-14 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- add basicAuth support for ServiceMonitor +- fix license volume mount when using statefulset mode + +## 0.10.13 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1) + +## 0.10.12 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix possible template error when `.Values.rbac.namespaced=true`. Thanks to @guptaachin for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1179). + +## 0.10.11 + +**Release date:** 2024-07-23 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0) + +## 0.10.10 + +**Release date:** 2024-07-08 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092). + +## 0.10.9 + +**Release date:** 2024-06-14 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values..image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values..image.tag` to automatically use the version specified in `.Chart.AppVersion`. + +- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values..image.variant`. + +## 0.10.8 + +**Release date:** 2024-05-16 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995). + +## 0.10.7 + +**Release date:** 2024-05-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details. + +## 0.10.6 + +**Release date:** 2024-04-26 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters. +- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0) + +## 0.10.5 + +**Release date:** 2024-04-16 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1) + +## 0.10.4 + +**Release date:** 2024-03-28 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to use slice variables in extraArgs (#944) +- support adding `metricRelabelings` for server serviceMonitor (#946) + +## 0.10.3 + +**Release date:** 2024-03-11 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Actually fix templating of HPA for vmagent. Previously, it was rendered with incorrect `kind` and thus was unusable. See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/922). + +## 0.10.2 + +**Release date:** 2024-03-05 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0) + +## 0.10.1 + +**Release date:** 2024-03-05 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix templating of HPA for vmagent. Previously, it was rendered with incorrect `kind` and thus was unusable. See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/905). + +## 0.10.0 + +**Release date:** 2024-02-28 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add ability to use HPA for vmagent. See [this](https://github.com/VictoriaMetrics/helm-charts/pull/863) pull request. + +## 0.9.17 + +**Release date:** 2024-02-01 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1) + +## 0.9.16 + +**Release date:** 2023-12-20 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add init containers for deployment and statefulset. See [#806](https://github.com/VictoriaMetrics/helm-charts/pull/806) by @MemberIT. + +## 0.9.15 + +**Release date:** 2023-12-13 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix configuration of volume mount for license key referenced by using secret. + +## 0.9.14 + +**Release date:** 2023-12-12 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0) + +## 0.9.13 + +**Release date:** 2023-11-16 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1) + +## 0.9.12 + +**Release date:** 2023-11-15 + +![AppVersion: v1.95.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0) + +## 0.9.11 + +**Release date:** 2023-10-04 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0) +- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details. + +## 0.9.10 + +**Release date:** 2023-09-21 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5) + +## 0.9.9 + +**Release date:** 2023-09-11 + +![AppVersion: v1.93.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4) + +## 0.9.8 + +**Release date:** 2023-09-04 + +![AppVersion: v1.93.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of vmagent to `v1.93.3` + +## 0.9.6 + +**Release date:** 2023-08-30 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix `honor_timestamps` field for cadvisor scrape job (#626) + +## 0.9.5 + +**Release date:** 2023-08-24 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Disable `honorTimestamps` for cadvisor scrape job by default (#617) + +## 0.9.4 + +**Release date:** 2023-08-23 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.93.0 to v1.93.1 + +## 0.9.3 + +**Release date:** 2023-08-12 + +![AppVersion: v1.93.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.1 to v1.93.0 + +## 0.9.2 + +**Release date:** 2023-07-28 + +![AppVersion: v1.92.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599) + +## 0.9.1 + +**Release date:** 2023-07-27 + +![AppVersion: v1.92.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.91.3 to v1.92.0 +- make package merge gen-docs + +## 0.9.0 + +**Release date:** 2023-07-13 + +![AppVersion: v1.91.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.91.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of agent, alert, auth, cluster, single +- feat(vmagent): Add support for topologySpreadConstraints field (#583) +- Feat: Add custom objects to vma helm charts (#558) +- fix(vmagent): Use endpoints instead of endpointslices on kubernetes-apiservers (#574) diff --git a/docs/helm/victoria-metrics-agent/README.md b/docs/helm/victoria-metrics-agent/README.md new file mode 100644 index 000000000..0e06b2861 --- /dev/null +++ b/docs/helm/victoria-metrics-agent/README.md @@ -0,0 +1,1319 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.12.2](https://img.shields.io/badge/Version-0.12.2-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-agent) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) + +Victoria Metrics Agent - collects metrics from various sources and stores them to VictoriaMetrics + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-agent` chart available to installation: + +```console +helm search repo vm/victoria-metrics-agent -l +``` + +### Install `victoria-metrics-agent` chart + +Export default values of `victoria-metrics-agent` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-agent > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-agent > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vma vm/victoria-metrics-agent -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-agent -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vma vm/victoria-metrics-agent -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-agent -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vma' +``` + +Get the application by running this command: + +```console +helm list -f vma -n NAMESPACE +``` + +See the history of versions of `vma` application with command. + +```console +helm history vma -n NAMESPACE +``` + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vma -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-agent + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-agent/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
affinityobject
+{}
+
+
annotationsobject
+{}
+
+

Annotations to be added to the deployment

+
config.global.scrape_intervalstring
+10s
+
+
config.scrape_configslist
+- job_name: vmagent
+  static_configs:
+    - targets:
+        - localhost:8429
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  job_name: kubernetes-apiservers
+  kubernetes_sd_configs:
+    - role: endpoints
+  relabel_configs:
+    - action: keep
+      regex: default;kubernetes;https
+      source_labels:
+        - __meta_kubernetes_namespace
+        - __meta_kubernetes_service_name
+        - __meta_kubernetes_endpoint_port_name
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  job_name: kubernetes-nodes
+  kubernetes_sd_configs:
+    - role: node
+  relabel_configs:
+    - action: labelmap
+      regex: __meta_kubernetes_node_label_(.+)
+    - replacement: kubernetes.default.svc:443
+      target_label: __address__
+    - regex: (.+)
+      replacement: /api/v1/nodes/$1/proxy/metrics
+      source_labels:
+        - __meta_kubernetes_node_name
+      target_label: __metrics_path__
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  honor_timestamps: false
+  job_name: kubernetes-nodes-cadvisor
+  kubernetes_sd_configs:
+    - role: node
+  relabel_configs:
+    - action: labelmap
+      regex: __meta_kubernetes_node_label_(.+)
+    - replacement: kubernetes.default.svc:443
+      target_label: __address__
+    - regex: (.+)
+      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
+      source_labels:
+        - __meta_kubernetes_node_name
+      target_label: __metrics_path__
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- job_name: kubernetes-service-endpoints
+  kubernetes_sd_configs:
+    - role: endpointslices
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_pod_name
+      target_label: pod
+    - source_labels:
+        - __meta_kubernetes_pod_container_name
+      target_label: container
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - replacement: ${1}
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: job
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+- job_name: kubernetes-service-endpoints-slow
+  kubernetes_sd_configs:
+    - role: endpointslices
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_pod_name
+      target_label: pod
+    - source_labels:
+        - __meta_kubernetes_pod_container_name
+      target_label: container
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - replacement: ${1}
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: job
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+  scrape_interval: 5m
+  scrape_timeout: 30s
+- job_name: kubernetes-services
+  kubernetes_sd_configs:
+    - role: service
+  metrics_path: /probe
+  params:
+    module:
+        - http_2xx
+  relabel_configs:
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_probe
+    - source_labels:
+        - __address__
+      target_label: __param_target
+    - replacement: blackbox
+      target_label: __address__
+    - source_labels:
+        - __param_target
+      target_label: instance
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+- job_name: kubernetes-pods
+  kubernetes_sd_configs:
+    - role: pod
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_pod_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_pod_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_pod_name
+      target_label: pod
+    - source_labels:
+        - __meta_kubernetes_pod_container_name
+      target_label: container
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+
+

scrape configuration. scrape self by default

+
configMapstring
+""
+
+

vmagent scraping configuration: https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/docs/vmagent.md#how-to-collect-metrics-in-prometheus-format use existing configmap if specified otherwise .config values will be used

+
containerWorkingDirstring
+/
+
+
deploymentobject
+enabled: true
+strategy: {}
+
+

ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

+
emptyDirobject
+{}
+
+
envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
envFromlist
+[]
+
+
extraArgsobject
+envflag.enable: "true"
+envflag.prefix: VM_
+loggerFormat: json
+
+

vmagent extra command line arguments

+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraLabelsobject
+{}
+
+

extra Labels for Pods, Deployment and Statefulset

+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
extraScrapeConfigslist
+[]
+
+

Extra scrape configs that will be appended to config

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
horizontalPodAutoscalingobject
+enabled: false
+maxReplicas: 10
+metrics: []
+minReplicas: 1
+
+

Horizontal Pod Autoscaling. Note that it is not intended to be used for vmagents which perform scraping. In order to scale scraping vmagents see: https://docs.victoriametrics.com/vmagent/#scraping-big-number-of-targets

+
horizontalPodAutoscaling.enabledbool
+false
+
+

Use HPA for vmagent

+
horizontalPodAutoscaling.maxReplicasint
+10
+
+

Maximum replicas for HPA to use to to scale vmagent

+
horizontalPodAutoscaling.metricslist
+[]
+
+

Metric for HPA to use to scale vmagent

+
horizontalPodAutoscaling.minReplicasint
+1
+
+

Minimum replicas for HPA to use to scale vmagent

+
image.pullPolicystring
+IfNotPresent
+
+
image.registrystring
+""
+
+

Image registry

+
image.repositorystring
+victoriametrics/vmagent
+
+

Image repository

+
image.tagstring
+""
+
+

Image tag, set to Chart.AppVersion by default

+
image.variantstring
+""
+
+

Variant of the image to use. e.g. enterprise, scratch

+
imagePullSecretslist
+[]
+
+
ingress.annotationsobject
+{}
+
+
ingress.enabledbool
+false
+
+
ingress.extraLabelsobject
+{}
+
+
ingress.hostslist
+[]
+
+
ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
ingress.tlslist
+[]
+
+
initContainerslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
multiTenantUrlslist
+[]
+
+
nameOverridestring
+""
+
+
nodeSelectorobject
+{}
+
+
persistence.accessModes[0]string
+ReadWriteOnce
+
+
persistence.annotationsobject
+{}
+
+
persistence.enabledbool
+false
+
+
persistence.existingClaimstring
+""
+
+
persistence.extraLabelsobject
+{}
+
+
persistence.matchLabelsobject
+{}
+
+

Bind Persistent Volume by labels. Must match all labels of targeted PV.

+
persistence.sizestring
+10Gi
+
+
podAnnotationsobject
+{}
+
+

Annotations to be added to pod

+
podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/

+
podLabelsobject
+{}
+
+

extra Labels for Pods only

+
podSecurityContext.enabledbool
+true
+
+
priorityClassNamestring
+""
+
+

priority class to be assigned to the pod(s)

+
probe.livenessobject
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

liveness probe

+
probe.readinessobject
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+
+

readiness probe

+
probe.startupobject
+{}
+
+

startup probe

+
rbac.annotationsobject
+{}
+
+
rbac.createbool
+true
+
+
rbac.extraLabelsobject
+{}
+
+
rbac.namespacedbool
+false
+
+

if true and rbac.enabled, will deploy a Role/Rolebinding instead of a ClusterRole/ClusterRoleBinding

+
remoteWriteUrlslist
+[]
+
+

WARN: need to specify at least one remote write url or one multi tenant url

+
replicaCountint
+1
+
+
resourcesobject
+{}
+
+
securityContext.enabledbool
+true
+
+
service.annotationsobject
+{}
+
+
service.clusterIPstring
+""
+
+
service.enabledbool
+false
+
+
service.externalIPslist
+[]
+
+
service.externalTrafficPolicystring
+""
+
+
service.extraLabelsobject
+{}
+
+
service.healthCheckNodePortstring
+""
+
+
service.ipFamilieslist
+[]
+
+
service.ipFamilyPolicystring
+""
+
+
service.loadBalancerIPstring
+""
+
+
service.loadBalancerSourceRangeslist
+[]
+
+
service.servicePortint
+8429
+
+
service.typestring
+ClusterIP
+
+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+null
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
statefulsetobject
+clusterMode: false
+enabled: false
+replicationFactor: 1
+updateStrategy: {}
+
+

ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

+
statefulset.clusterModebool
+false
+
+

create cluster of vmagents. See https://docs.victoriametrics.com/vmagent#scraping-big-number-of-targets available since 1.77.2 version https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.77.2

+
statefulset.replicationFactorint
+1
+
+

replication factor for vmagent in cluster mode

+
tolerationslist
+[]
+
+
topologySpreadConstraintslist
+[]
+
+
+ diff --git a/docs/helm/victoria-metrics-agent/_changelog.md b/docs/helm/victoria-metrics-agent/_changelog.md new file mode 100644 index 000000000..fdcc6864b --- /dev/null +++ b/docs/helm/victoria-metrics-agent/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-agent-changelog + parent: helm-victoriametrics-agent +url: /helm/victoriametrics-agent/changelog +aliases: + - /helm/victoriametrics-agent/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-agent/_index.md b/docs/helm/victoria-metrics-agent/_index.md new file mode 100644 index 000000000..5f347f4de --- /dev/null +++ b/docs/helm/victoria-metrics-agent/_index.md @@ -0,0 +1,13 @@ +--- +weight: 2 +title: VictoriaMetrics Agent +menu: + docs: + parent: helm + weight: 2 + identifier: helm-victoriametrics-agent +url: /helm/victoriametrics-agent +aliases: + - /helm/victoriametrics-agent/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-alert/CHANGELOG.md b/docs/helm/victoria-metrics-alert/CHANGELOG.md new file mode 100644 index 000000000..61db0e671 --- /dev/null +++ b/docs/helm/victoria-metrics-alert/CHANGELOG.md @@ -0,0 +1,320 @@ +## Next release + +- TODO + +## 0.11.1 + +**Release date:** 2024-09-10 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables +- Updated alertmanager args for IPv6 compatibility. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/856) +- Added ability to set init containers for alertmanager and vmalert pods + +## 0.11.0 + +**Release date:** 2024-08-29 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0) +- Added ability to configure container port +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) +- Renamed `.Values.alertmanager.persistentVolume.storageClass` to `.Values.alertmanager.persistentVolume.storageClassName` + +## 0.10.0 + +**Release date:** 2024-08-21 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: `vmalert` main container name was changed to `vmalert`, which will recreate a pod. + +**Update note**: `alertmanager` main container name was changed to `alertmanager`, which will recreate a pod. + +**Update note**: requires Helm 3.14+ + +- Added `basicAuth` support for `ServiceMonitor` +- Removed `PodSecurityPolicy` +- Set minimal kubernetes version to `1.25` +- Removed support for `policy/v1beta1/PodDisruptionBudget` +- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry` +- Added `.Values.alertmanager.emptyDir` to customize default cache directory +- Addded alertmanager service `.Values.alertmanager.service.externalTrafficPolicy` and `.Values.alertmanager.service.healthCheckNodePort` +- Use static container names in a pod +- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support +- Added `.Values.server.service.ipFamilies`, `.Values.server.service.ipFamilyPolicy`, `.Values.alertmanager.service.ipFamilies` and `.Values.alertmanager.service.ipFamilyPolicy` for services IP family management + +## 0.9.12 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1) + +## 0.9.11 + +**Release date:** 2024-07-23 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0) + +## 0.9.10 + +**Release date:** 2024-07-17 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- add an option to provide additional environment variables for Alertmanager via `.Values.alertmanager.envFrom`. + +## 0.9.9 + +**Release date:** 2024-06-14 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values..image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values..image.tag` to automatically use the version specified in `.Chart.AppVersion`. + +- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values..image.variant`. + +## 0.9.8 + +**Release date:** 2024-05-16 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995). + +## 0.9.7 + +**Release date:** 2024-05-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details. + +## 0.9.6 + +**Release date:** 2024-04-26 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters. +- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0) + +## 0.9.5 + +**Release date:** 2024-04-16 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1) + +## 0.9.4 + +**Release date:** 2024-03-28 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to use slice variables in extraArgs (#944) +- support adding `metricRelabelings` for server serviceMonitor (#946) + +## 0.9.3 + +**Release date:** 2024-03-05 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +## 0.9.2 + +**Release date:** 2024-02-28 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix possible null value on flag `notifier.url`, `remoteRead.url` and `remoteWrite.url` in vmalert deployment. +- Fix alertmanager using some of server's values in its deployment template. + +## 0.9.1 + +**Release date:** 2024-02-23 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Allow overriding Alertmanager listen address and port via `alertmanager.listenAddress`. + +## 0.9.0 + +**Release date:** 2024-02-22 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Support adding extra arguments, containers, volumes and volume mounts to the alertmanager deployment. +- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0) + +## 0.8.7 + +**Release date:** 2024-02-01 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1) + +## 0.8.6 + +**Release date:** 2023-12-13 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix configuration of volume mount for license key referenced by using secret. + +## 0.8.5 + +**Release date:** 2023-12-12 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0) + +## 0.8.4 + +**Release date:** 2023-12-08 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix `notifier.url` check, as it's only needed when alerting rule is used. (#767) + +## 0.8.3 + +**Release date:** 2023-11-16 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1) + +## 0.8.2 + +**Release date:** 2023-11-15 + +![AppVersion: v1.95.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0) + +## 0.8.1 + +**Release date:** 2023-10-04 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0) +- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details. + +## 0.8.0 + +**Release date:** 2023-09-28 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add `extraObjects` which to allow deploying additional resources with the chart release (#689) +- Fix vmalert notifier address if builtin alertmanager is enabled and using baseURLPrefix. + +## 0.7.8 + +**Release date:** 2023-09-21 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix misplaced `imagePullSecrets` for server (#675) +- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5) + +## 0.7.7 + +**Release date:** 2023-09-11 + +![AppVersion: v1.93.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4) + +## 0.7.6 + +**Release date:** 2023-09-04 + +![AppVersion: v1.93.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of vmalert to `v1.93.3` + +## 0.7.4 + +**Release date:** 2023-08-23 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.93.0 to v1.93.1 + +## 0.7.3 + +**Release date:** 2023-08-12 + +![AppVersion: v1.93.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.1 to v1.93.0 + +## 0.7.2 + +**Release date:** 2023-07-28 + +![AppVersion: v1.92.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599) + +## 0.7.1 + +**Release date:** 2023-07-27 + +![AppVersion: v1.92.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.91.3 to v1.92.0 +- fix misused securityContext and podSecurityContext (#592) + +## 0.7.0 + +**Release date:** 2023-07-13 + +![AppVersion: v1.91.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.91.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of agent, alert, auth, cluster, single +- Update liveness/readiness probes in deployment template with custom values for victoriametrics-alert (#549) diff --git a/docs/helm/victoria-metrics-alert/README.md b/docs/helm/victoria-metrics-alert/README.md new file mode 100644 index 000000000..517d598cb --- /dev/null +++ b/docs/helm/victoria-metrics-alert/README.md @@ -0,0 +1,1699 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.11.1](https://img.shields.io/badge/Version-0.11.1-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-alert) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) + +Victoria Metrics Alert - executes a list of given MetricsQL expressions (rules) and sends alerts to Alert Manager. + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-alert` chart available to installation: + +```console +helm search repo vm/victoria-metrics-alert -l +``` + +### Install `victoria-metrics-alert` chart + +Export default values of `victoria-metrics-alert` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-alert > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-alert > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vma vm/victoria-metrics-alert -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-alert -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vma vm/victoria-metrics-alert -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-alert -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vma' +``` + +Get the application by running this command: + +```console +helm list -f vma -n NAMESPACE +``` + +See the history of versions of `vma` application with command. + +```console +helm history vma -n NAMESPACE +``` + +## HA configuration for Alertmanager + +There is no option on this chart to set up Alertmanager with [HA mode](https://github.com/prometheus/alertmanager#high-availability). +To enable the HA configuration, you can use: +- [VictoriaMetrics Operator](https://docs.victoriametrics.com/operator/) +- official [Alertmanager Helm chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/alertmanager) + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vma -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-alert + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-alert/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
alertmanager.baseURLstring
+""
+
+

external URL, that alertmanager will expose to receivers

+
alertmanager.baseURLPrefixstring
+""
+
+

external URL Prefix, Prefix for the internal routes of web endpoints

+
alertmanager.config.global.resolve_timeoutstring
+5m
+
+
alertmanager.config.receivers[0].namestring
+devnull
+
+
alertmanager.config.route.group_by[0]string
+alertname
+
+
alertmanager.config.route.group_intervalstring
+10s
+
+
alertmanager.config.route.group_waitstring
+30s
+
+
alertmanager.config.route.receiverstring
+devnull
+
+
alertmanager.config.route.repeat_intervalstring
+24h
+
+
alertmanager.configMapstring
+""
+
+

use existing configmap if specified otherwise .config values will be used

+
alertmanager.emptyDirobject
+{}
+
+
alertmanager.enabledbool
+false
+
+
alertmanager.envFromlist
+[]
+
+
alertmanager.extraArgsobject
+{}
+
+
alertmanager.extraContainerslist
+[]
+
+
alertmanager.extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
alertmanager.extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
alertmanager.extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
alertmanager.imageobject
+registry: ""
+repository: prom/alertmanager
+tag: v0.25.0
+
+

alertmanager image configuration

+
alertmanager.imagePullSecretslist
+[]
+
+
alertmanager.ingress.annotationsobject
+{}
+
+
alertmanager.ingress.enabledbool
+false
+
+
alertmanager.ingress.extraLabelsobject
+{}
+
+
alertmanager.ingress.hostslist
+[]
+
+
alertmanager.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
alertmanager.ingress.tlslist
+[]
+
+
alertmanager.initContainerslist
+[]
+
+

Additional initContainers to initialize the pod

+
alertmanager.listenAddressstring
+0.0.0.0:9093
+
+
alertmanager.nodeSelectorobject
+{}
+
+
alertmanager.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
alertmanager.persistentVolume.annotationsobject
+{}
+
+

Persistant volume annotations

+
alertmanager.persistentVolume.enabledbool
+false
+
+

Create/use Persistent Volume Claim for alertmanager component. Empty dir if false

+
alertmanager.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. If defined, PVC must be created manually before volume will be bound

+
alertmanager.persistentVolume.mountPathstring
+/data
+
+

Mount path. Alertmanager data Persistent Volume mount root path.

+
alertmanager.persistentVolume.sizestring
+50Mi
+
+

Size of the volume. Better to set the same as resource limit memory property.

+
alertmanager.persistentVolume.storageClassNamestring
+""
+
+

StorageClass to use for persistent volume. Requires alertmanager.persistentVolume.enabled: true. If defined, PVC created automatically

+
alertmanager.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
alertmanager.podMetadata.annotationsobject
+{}
+
+
alertmanager.podMetadata.labelsobject
+{}
+
+
alertmanager.podSecurityContext.enabledbool
+false
+
+
alertmanager.priorityClassNamestring
+""
+
+
alertmanager.probe.livenessobject
+httpGet:
+    path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/healthy'
+    port: web
+
+

liveness probe

+
alertmanager.probe.readinessobject
+httpGet:
+    path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/ready'
+    port: web
+
+

readiness probe

+
alertmanager.probe.startupobject
+httpGet:
+    path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/ready'
+    port: web
+
+

startup probe

+
alertmanager.resourcesobject
+{}
+
+
alertmanager.retentionstring
+120h
+
+
alertmanager.securityContext.enabledbool
+false
+
+
alertmanager.service.annotationsobject
+{}
+
+
alertmanager.service.clusterIPstring
+""
+
+
alertmanager.service.externalIPslist
+[]
+
+

Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

+
alertmanager.service.externalTrafficPolicystring
+""
+
+

Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

+
alertmanager.service.healthCheckNodePortstring
+""
+
+
alertmanager.service.ipFamilieslist
+[]
+
+
alertmanager.service.ipFamilyPolicystring
+""
+
+
alertmanager.service.labelsobject
+{}
+
+
alertmanager.service.loadBalancerIPstring
+""
+
+
alertmanager.service.loadBalancerSourceRangeslist
+[]
+
+
alertmanager.service.nodePortstring
+""
+
+

if you want to force a specific nodePort. Must be use with service.type=NodePort

+
alertmanager.service.portint
+9093
+
+
alertmanager.service.servicePortint
+8880
+
+
alertmanager.service.typestring
+ClusterIP
+
+
alertmanager.templatesobject
+{}
+
+
alertmanager.tolerationslist
+[]
+
+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
rbac.annotationsobject
+{}
+
+
rbac.createbool
+true
+
+
rbac.extraLabelsobject
+{}
+
+
rbac.namespacedbool
+false
+
+
server.affinityobject
+{}
+
+
server.annotationsobject
+{}
+
+

Annotations to be added to the deployment

+
server.config.alerts.groupslist
+[]
+
+
server.configMapstring
+""
+
+

vmalert alert rules configuration configuration: use existing configmap if specified otherwise .config values will be used

+
server.datasourceobject
+basicAuth:
+    password: ""
+    username: ""
+bearer:
+    token: ""
+    tokenFile: ""
+url: ""
+
+

vmalert reads metrics from source, next section represents its configuration. It can be any service which supports MetricsQL or PromQL.

+
server.datasource.basicAuthobject
+password: ""
+username: ""
+
+

Basic auth for datasource

+
server.datasource.bearer.tokenstring
+""
+
+

Token with Bearer token. You can use one of token or tokenFile. You don’t need to add “Bearer” prefix string

+
server.datasource.bearer.tokenFilestring
+""
+
+

Token Auth file with Bearer token. You can use one of token or tokenFile

+
server.enabledbool
+true
+
+
server.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
server.envFromlist
+[]
+
+
server.extraArgs."envflag.enable"string
+"true"
+
+
server.extraArgs."envflag.prefix"string
+VM_
+
+
server.extraArgs.loggerFormatstring
+json
+
+
server.extraContainerslist
+[]
+
+

Additional containers to run in the same pod

+
server.extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
server.extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
server.extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
server.fullnameOverridestring
+""
+
+
server.imageobject
+pullPolicy: IfNotPresent
+registry: ""
+repository: victoriametrics/vmalert
+tag: ""
+variant: ""
+
+

vmalert image configuration

+
server.imagePullSecretslist
+[]
+
+
server.ingress.annotationsobject
+{}
+
+
server.ingress.enabledbool
+false
+
+
server.ingress.extraLabelsobject
+{}
+
+
server.ingress.hostslist
+[]
+
+
server.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
server.ingress.tlslist
+[]
+
+
server.initContainerslist
+[]
+
+

Additional initContainers to initialize the pod

+
server.labelsobject
+{}
+
+

labels to be added to the deployment

+
server.minReadySecondsint
+0
+
+

specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing/terminating 0 is the standard k8s default

+
server.namestring
+server
+
+
server.nameOverridestring
+""
+
+
server.nodeSelectorobject
+{}
+
+
server.notifierobject
+alertmanager:
+    basicAuth:
+        password: ""
+        username: ""
+    bearer:
+        token: ""
+        tokenFile: ""
+    url: ""
+
+

Notifier to use for alerts. Multiple notifiers can be enabled by using notifiers section

+
server.notifier.alertmanager.basicAuthobject
+password: ""
+username: ""
+
+

Basic auth for alertmanager

+
server.notifier.alertmanager.bearer.tokenstring
+""
+
+

Token with Bearer token. You can use one of token or tokenFile. You don’t need to add “Bearer” prefix string

+
server.notifier.alertmanager.bearer.tokenFilestring
+""
+
+

Token Auth file with Bearer token. You can use one of token or tokenFile

+
server.notifierslist
+[]
+
+

Additional notifiers to use for alerts

+
server.podAnnotationsobject
+{}
+
+

Annotations to be added to pod

+
server.podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more. Or check docs

+
server.podLabelsobject
+{}
+
+
server.podSecurityContext.enabledbool
+true
+
+
server.priorityClassNamestring
+""
+
+
server.probe.livenessobject
+failureThreshold: 3
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

liveness probe

+
server.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

readiness probe

+
server.probe.startupobject
+{}
+
+

startup probe

+
server.remote.read.basicAuthobject
+password: ""
+username: ""
+
+

Basic auth for remote read

+
server.remote.read.bearer.tokenstring
+""
+
+

Token with Bearer token. You can use one of token or tokenFile. You don’t need to add “Bearer” prefix string

+
server.remote.read.bearer.tokenFilestring
+""
+
+

Token Auth file with Bearer token. You can use one of token or tokenFile

+
server.remote.read.urlstring
+""
+
+
server.remote.write.basicAuthobject
+password: ""
+username: ""
+
+

Basic auth for remote write

+
server.remote.write.bearerobject
+token: ""
+tokenFile: ""
+
+

Auth based on Bearer token for remote write

+
server.remote.write.bearer.tokenstring
+""
+
+

Token with Bearer token. You can use one of token or tokenFile. You don’t need to add “Bearer” prefix string

+
server.remote.write.bearer.tokenFilestring
+""
+
+

Token Auth file with Bearer token. You can use one of token or tokenFile

+
server.remote.write.urlstring
+""
+
+
server.replicaCountint
+1
+
+
server.resourcesobject
+{}
+
+
server.securityContext.enabledbool
+true
+
+
server.service.annotationsobject
+{}
+
+
server.service.clusterIPstring
+""
+
+
server.service.externalIPslist
+[]
+
+
server.service.externalTrafficPolicystring
+""
+
+
server.service.healthCheckNodePortstring
+""
+
+
server.service.ipFamilieslist
+[]
+
+
server.service.ipFamilyPolicystring
+""
+
+
server.service.labelsobject
+{}
+
+
server.service.loadBalancerIPstring
+""
+
+
server.service.loadBalancerSourceRangeslist
+[]
+
+
server.service.servicePortint
+8880
+
+
server.service.typestring
+ClusterIP
+
+
server.strategyobject
+rollingUpdate:
+    maxSurge: 25%
+    maxUnavailable: 25%
+type: RollingUpdate
+
+

deployment strategy, set to standard k8s default

+
server.tolerationslist
+[]
+
+
server.verticalPodAutoscalerobject
+enabled: false
+
+

Vertical Pod Autoscaler

+
server.verticalPodAutoscaler.enabledbool
+false
+
+

Use VPA for vmalert

+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.automountTokenbool
+true
+
+

mount API token to pod directly

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+null
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
+ diff --git a/docs/helm/victoria-metrics-alert/_changelog.md b/docs/helm/victoria-metrics-alert/_changelog.md new file mode 100644 index 000000000..bbb77112f --- /dev/null +++ b/docs/helm/victoria-metrics-alert/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-alert-changelog + parent: helm-victoriametrics-alert +url: /helm/victoriametrics-alert/changelog +aliases: + - /helm/victoriametrics-alert/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-alert/_index.md b/docs/helm/victoria-metrics-alert/_index.md new file mode 100644 index 000000000..621a85962 --- /dev/null +++ b/docs/helm/victoria-metrics-alert/_index.md @@ -0,0 +1,13 @@ +--- +weight: 3 +title: VictoriaMetrics Alert +menu: + docs: + parent: helm + weight: 3 + identifier: helm-victoriametrics-alert +url: /helm/victoriametrics-alert +aliases: + - /helm/victoriametrics-alert/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-anomaly/CHANGELOG.md b/docs/helm/victoria-metrics-anomaly/CHANGELOG.md new file mode 100644 index 000000000..a24842273 --- /dev/null +++ b/docs/helm/victoria-metrics-anomaly/CHANGELOG.md @@ -0,0 +1,288 @@ +## Next release + +- TODO + +## 1.4.6 + +**Release date:** 2024-09-16 + +![AppVersion: v1.15.9](https://img.shields.io/static/v1?label=AppVersion&message=v1.15.9&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added the ability to add annotations to the configMap using `values.configMapAnnotations` +- Fixed license file flag name + +## 1.4.5 + +**Release date:** 2024-09-12 + +![AppVersion: v1.15.9](https://img.shields.io/static/v1?label=AppVersion&message=v1.15.9&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables +- Removed vmanomaly not existing `loggerFormat` extra arg. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1476) + +## 1.4.4 + +**Release date:** 2024-09-03 + +![AppVersion: v1.15.9](https://img.shields.io/static/v1?label=AppVersion&message=v1.15.9&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fixed PVC in StatefulSet + +## 1.4.3 + +**Release date:** 2024-08-27 + +![AppVersion: v1.15.9](https://img.shields.io/static/v1?label=AppVersion&message=v1.15.9&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Removed `eula` support +- Disable PodMonitor, when pull port is not defined +- Upgraded application version to 1.15.9 +- Fixed default podDisruptionBudget configuration + +## 1.4.2 + +**Release date:** 2024-08-26 + +![AppVersion: v1.15.6](https://img.shields.io/static/v1?label=AppVersion&message=v1.15.6&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Set minimal kubernetes version to `1.25` +- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry` +- Fixed volume template. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1280) +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) +- Renamed `.Values.persistentVolume.storageClass` to `.Values.persistentVolume.storageClassName` +- Removed necessity to set `.Values.persistentVolume.existingClaim` when it should be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189) +- Added PDB, PodMonitor, extra volumes and extra volumeMounts + +## 1.4.1 + +**Release date:** 2024-08-15 + +![AppVersion: v1.15.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.15.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update vmanomaly to [v1.15.4](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1154). + +## 1.4.0 + +**Release date:** 2024-08-14 + +![AppVersion: v1.15.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.15.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update vmanomaly to [v1.15.3](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1153). +- Update configuration example format to match the latest version of vmanomaly. + +## 1.3.4 + +**Release date:** 2024-07-19 + +![AppVersion: v1.13.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.13.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- leave empty `schedulers` and `models` section to fix aliases error + +## 1.3.3 + +**Release date:** 2024-07-17 + +![AppVersion: v1.13.2](https://img.shields.io/static/v1?label=AppVersion&message=v1.13.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix default value for `.Values.config.schedulers.class`. + +## 1.3.2 + +**Release date:** 2024-07-17 + +![AppVersion: v1.13.2](https://img.shields.io/static/v1?label=AppVersion&message=v1.13.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- changes made for vmanomaly [v1.13.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1132) + +## 1.3.1 + +**Release date:** 2024-07-08 + +![AppVersion: v1.13.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.13.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092). + +## 1.3.0 + +**Release date:** 2024-06-11 + +![AppVersion: v1.13.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.13.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add ability to configure persistent volume for vmanomaly models storage. +- Fix `.Values.podSecurityContext` not being applied to the pod. +- Update vmanomaly to [v1.13.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1130). + +## 1.2.4 + +**Release date:** 2024-05-16 + +![AppVersion: v1.12.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.12.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995). + +## 1.2.3 + +**Release date:** 2024-05-10 + +![AppVersion: v1.12.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.12.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details. + +## 1.2.2 + +**Release date:** 2024-04-02 + +![AppVersion: v1.12.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.12.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- apply [v1.12](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1120) as a default (no config changes). + +## 1.2.1 + +**Release date:** 2024-03-20 + +![AppVersion: v1.11.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.11.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add support of passing preset configuration. + +## 1.2.0 + +**Release date:** 2024-02-26 + +![AppVersion: v1.11.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.11.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- apply [v1.11](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1110) change in [schedulers section](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/): add configuration for using multiple schedulers at once via `schedulers`. Old `scheduler` field is deprecated and will be automatically converted to `schedulers` definition starting from [v1.11](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1110). +- docs fixes + +## 1.1.1 + +**Release date:** 2024-02-20 + +![AppVersion: v1.10.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.10.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix passing path to license file location when using `license.secret` mount. + +## 1.1.0 + +**Release date:** 2024-02-19 + +![AppVersion: v1.10.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.10.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- apply [v1.10](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1100) change in [models section](https://docs.victoriametrics.com/anomaly-detection/components/models/): add configuration for using multiple models at once via `models`. Old `model` field is deprecated and will be automatically converted to `models` definition starting from [v1.10](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1100). +- docs fixes + +## 1.0.0 + +**Release date:** 2024-02-05 + +![AppVersion: v1.9.2](https://img.shields.io/static/v1?label=AppVersion&message=v1.9.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Breaking change: passing [full vmanomaly config](https://docs.victoriametrics.com/anomaly-detection/components/) via `config` parameter. +- vmanomaly image moving to DockerHub + +## 0.5.0 + +**Release date:** 2023-10-31 + +![AppVersion: v1.6.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.6.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add options to use `bearer_token` for reader and writer authentication. +- Add `verify_tls` option to bypass TLS verification for reader and writer. +- Add `extra_filters` option to supply additional filters to enforce for reader queries. + +## 0.4.1 + +**Release date:** 2023-10-10 + +![AppVersion: v1.5.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.5.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add an options to override default `metric_format` for remote write configuration of vmanomaly. + +## 0.4.0 + +**Release date:** 2023-08-21 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* add ability to provide license key + +## 0.3.5 + +**Release date:** 2023-06-22 + +![AppVersion: v1.1.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.1.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* bump version of vmanomaly +* charts/victoria-metrics-anomaly: fix monitoring config indentation (#567) + +## 0.3.4 + +**Release date:** 2023-06-22 + +![AppVersion: v1.1.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.1.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* bump vmanomaly remove tricky make command +* charts/victoria-metrics-anomaly: make monitoring config more configurable (#562) + +## 0.3.3 + +**Release date:** 2023-06-07 + +![AppVersion: v1.1.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.1.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* bump anomaly chart, make package make merge + +## 0.3.2 + +**Release date:** 2023-06-06 + +![AppVersion: v1.1.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.1.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* Anomaly: change defaults (#518) +* charts/operator: update version to 0.30.4 adds extraArgs and serviceMonitor options for operator +* vmanomaly re-release + +## 0.3.1 + +**Release date:** 2023-01-26 + +![AppVersion: v1.1.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.1.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* vmanomaly: fix monitoring part of config (#457) + +## 0.3.0 + +**Release date:** 2023-01-24 + +![AppVersion: v1.1.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.1.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +* relase vmanomaly v1.1.0 (#454) +* vmanomaly: fix config for pull-based monitoring (#446) diff --git a/docs/helm/victoria-metrics-anomaly/README.md b/docs/helm/victoria-metrics-anomaly/README.md new file mode 100644 index 000000000..286554f3a --- /dev/null +++ b/docs/helm/victoria-metrics-anomaly/README.md @@ -0,0 +1,782 @@ +![Version: 1.4.6](https://img.shields.io/badge/Version-1.4.6-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-anomaly) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) +[![GitHub license](https://img.shields.io/github/license/VictoriaMetrics/VictoriaMetrics.svg)](https://github.com/VictoriaMetrics/helm-charts/blob/master/LICENSE) +![Twitter Follow](https://img.shields.io/twitter/follow/VictoriaMetrics?style=social) +![Subreddit subscribers](https://img.shields.io/reddit/subreddit-subscribers/VictoriaMetrics?style=social) + +Victoria Metrics Anomaly Detection - a service that continuously scans Victoria Metrics time series and detects unexpected changes within data patterns in real-time. + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). + +* PV support on underlying infrastructure + +## Chart Details + +This chart will do the following: + +* Rollout victoria metrics anomaly + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-anomaly` chart available to installation: + +```console +helm search repo vm/victoria-metrics-anomaly -l +``` + +### Install `victoria-metrics-anomaly` chart + +Export default values of `victoria-metrics-anomaly` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-anomaly > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-anomaly > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vma vm/victoria-metrics-anomaly -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-anomaly -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vma vm/victoria-metrics-anomaly -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-anomaly -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vma' +``` + +Get the application by running this command: + +```console +helm list -f vma -n NAMESPACE +``` + +See the history of versions of `vma` application with command. + +```console +helm history vma -n NAMESPACE +``` + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vma -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-anomaly + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +For more `vmanomaly` config parameters see https://docs.victoriametrics.com/anomaly-detection/components + +Change the values according to the need of the environment in ``victoria-metrics-anomaly/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
affinityobject
+{}
+
+

Affinity configurations

+
annotationsobject
+{}
+
+

Annotations to be added to the deployment

+
configobject
+models: {}
+preset: ""
+reader:
+    class: vm
+    datasource_url: ""
+    queries: {}
+    sampling_period: 1m
+    tenant_id: ""
+schedulers: {}
+writer:
+    class: vm
+    datasource_url: ""
+    tenant_id: ""
+
+

Full vmanomaly config section

+
config.modelsobject
+{}
+
+

Models section

+
config.presetstring
+""
+
+

Whether to use preset configuration. If not empty, preset name should be specified.

+
config.readerobject
+class: vm
+datasource_url: ""
+queries: {}
+sampling_period: 1m
+tenant_id: ""
+
+

Reader section

+
config.reader.classstring
+vm
+
+

Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified.

+
config.reader.datasource_urlstring
+""
+
+

Datasource URL address. Required for example http://single-victoria-metrics-single-server.default.svc.cluster.local:8428 or http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480

+
config.reader.queriesobject
+{}
+
+

Required. PromQL/MetricsQL query to select data in format: QUERY_ALIAS: “QUERY”. As accepted by “/query_range?query=%s”. See https://docs.victoriametrics.com/anomaly-detection/components/reader/#per-query-parameters for more details.

+
config.reader.sampling_periodstring
+1m
+
+

Frequency of the points returned. Will be converted to /query_range?step=%s param (in seconds). Required since 1.9.0.

+
config.reader.tenant_idstring
+""
+
+

For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs

+
config.schedulersobject
+{}
+
+

Scheduler section

+
config.writerobject
+class: vm
+datasource_url: ""
+tenant_id: ""
+
+

Writer section

+
config.writer.classstring
+vm
+
+

Name of the class needed to enable writing to VictoriaMetrics or Prometheus. VmWriter is the default option, if not specified.

+
config.writer.datasource_urlstring
+""
+
+

Datasource URL address. Required for example http://single-victoria-metrics-single-server.default.svc.cluster.local:8428 or http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480

+
config.writer.tenant_idstring
+""
+
+

For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs

+
configMapAnnotationsobject
+{}
+
+

Annotations to be added to configMap

+
containerWorkingDirstring
+/vmanomaly
+
+
emptyDirobject
+{}
+
+
envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags)

+
envFromlist
+[]
+
+
extraArgsobject
+{}
+
+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
image.pullPolicystring
+IfNotPresent
+
+

Pull policy of Docker image

+
image.registrystring
+""
+
+

Victoria Metrics anomaly Docker registry

+
image.repositorystring
+victoriametrics/vmanomaly
+
+

Victoria Metrics anomaly Docker repository and image name

+
image.tagstring
+v1.15.9
+
+

Tag of Docker image

+
imagePullSecretslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

License key configuration for vmanomaly. See docs Required starting from v1.5.0.

+
license.keystring
+""
+
+

License key for vmanomaly

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key for vmanomaly

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
nameOverridestring
+""
+
+
nodeSelectorobject
+{}
+
+

NodeSelector configurations. Details are here

+
persistentVolumeobject
+accessModes:
+    - ReadWriteOnce
+annotations: {}
+enabled: false
+existingClaim: ""
+matchLabels: {}
+size: 1Gi
+storageClassName: ""
+
+

Persistence to store models on disk. Available starting from v1.13.0

+
persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
persistentVolume.annotationsobject
+{}
+
+

Persistant volume annotations

+
persistentVolume.enabledbool
+false
+
+

Create/use Persistent Volume Claim for models dump.

+
persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. If defined, PVC must be created manually before volume will be bound

+
persistentVolume.matchLabelsobject
+{}
+
+

Bind Persistent Volume by labels. Must match all labels of targeted PV.

+
persistentVolume.sizestring
+1Gi
+
+

Size of the volume. Should be calculated based on the metrics you send and retention policy you set.

+
persistentVolume.storageClassNamestring
+""
+
+

StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically

+
podAnnotationsobject
+{}
+
+

Annotations to be added to pod

+
podDisruptionBudgetobject
+enabled: false
+labels: {}
+minAvailable: 1
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
podMonitor.annotationsobject
+{}
+
+
podMonitor.enabledbool
+false
+
+
podMonitor.extraLabelsobject
+{}
+
+
podSecurityContext.enabledbool
+true
+
+
resourcesobject
+{}
+
+
securityContextobject
+enabled: true
+runAsGroup: 1000
+runAsNonRoot: true
+runAsUser: 1000
+
+

Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+null
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
tolerationslist
+[]
+
+

Tolerations configurations. Details are here

+
+ diff --git a/docs/helm/victoria-metrics-anomaly/_changelog.md b/docs/helm/victoria-metrics-anomaly/_changelog.md new file mode 100644 index 000000000..0fab8a3b1 --- /dev/null +++ b/docs/helm/victoria-metrics-anomaly/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-anomaly-changelog + parent: helm-victoriametrics-anomaly +url: /helm/victoriametrics-anomaly/changelog +aliases: + - /helm/victoriametrics-anomaly/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-anomaly/_index.md b/docs/helm/victoria-metrics-anomaly/_index.md new file mode 100644 index 000000000..95b79e605 --- /dev/null +++ b/docs/helm/victoria-metrics-anomaly/_index.md @@ -0,0 +1,13 @@ +--- +weight: 4 +title: VictoriaMetrics Anomaly +menu: + docs: + parent: helm + weight: 4 + identifier: helm-victoriametrics-anomaly +url: /helm/victoriametrics-anomaly +aliases: + - /helm/victoriametrics-anomaly/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-auth/CHANGELOG.md b/docs/helm/victoria-metrics-auth/CHANGELOG.md new file mode 100644 index 000000000..8a124ea8f --- /dev/null +++ b/docs/helm/victoria-metrics-auth/CHANGELOG.md @@ -0,0 +1,249 @@ +## Next release + +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables + +## 0.6.0 + +**Release date:** 2024-08-29 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0) +- Added ability to configure container port +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) + +## 0.5.0 + +**Release date:** 2024-08-21 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: main container name was changed to `vmauth`, which will recreate a pod. + +**Update note**: requires Helm 3.14+ + +- Added `basicAuth` support for `ServiceMonitor` +- Removed `PodSecurityPolicy` +- Set minimal kubernetes version to `1.25` +- Removed support for `policy/v1beta1/PodDisruptionBudget` +- Added params to configure probes `.Values.probe.readiness`, `.Values.probe.liveness` and `.Values.probe.startup` +- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry` +- Use static container names in a pod +- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support +- Added `.Values.service.ipFamilies` and `.Values.service.ipFamilyPolicy` for service IP family management + +## 0.4.14 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1) + +## 0.4.13 + +**Release date:** 2024-06-14 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values..image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values..image.tag` to automatically use the version specified in `.Chart.AppVersion`. + +- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values..image.variant`. + +## 0.4.12 + +**Release date:** 2024-05-16 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995). + +## 0.4.11 + +**Release date:** 2024-05-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details. + +## 0.4.10 + +**Release date:** 2024-04-26 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters. +- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0) + +## 0.4.9 + +**Release date:** 2024-04-16 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1) + +## 0.4.8 + +**Release date:** 2024-03-28 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to use slice variables in extraArgs (#944) +- support adding `metricRelabelings` for server serviceMonitor (#946) + +## 0.4.7 + +**Release date:** 2024-03-05 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- replaces httpGet ready probe with tcpSocket check. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/528) for details +- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0) + +## 0.4.6 + +**Release date:** 2024-02-01 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1) + +## 0.4.5 + +**Release date:** 2023-12-13 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix configuration of volume mount for license key referenced by using secret. + +## 0.4.4 + +**Release date:** 2023-12-12 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0) + +## 0.4.3 + +**Release date:** 2023-11-16 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1) + +## 0.4.2 + +**Release date:** 2023-11-15 + +![AppVersion: v1.95.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0) + +## 0.4.1 + +**Release date:** 2023-10-04 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0) +- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details. + +## 0.4.0 + +**Release date:** 2023-09-28 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add `extraObjects` which to allow deploying additional resources with the chart release (#689) + +## 0.3.8 + +**Release date:** 2023-09-21 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5) + +## 0.3.7 + +**Release date:** 2023-09-11 + +![AppVersion: v1.93.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4) + +## 0.3.6 + +**Release date:** 2023-09-04 + +![AppVersion: v1.93.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of vmauth to `v1.93.3` + +## 0.3.4 + +**Release date:** 2023-08-23 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.93.0 to v1.93.1 + +## 0.3.3 + +**Release date:** 2023-08-12 + +![AppVersion: v1.93.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.1 to v1.93.0 + +## 0.3.2 + +**Release date:** 2023-07-28 + +![AppVersion: v1.92.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599) + +## 0.3.1 + +**Release date:** 2023-07-27 + +![AppVersion: v1.92.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.91.3 to v1.92.0 + +## 0.3.0 + +**Release date:** 2023-07-13 + +![AppVersion: v1.91.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.91.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of agent, alert, auth, cluster, single +- charts/victoria-metrics-auth: add support of specifying extra labels (#577) diff --git a/docs/helm/victoria-metrics-auth/README.md b/docs/helm/victoria-metrics-auth/README.md new file mode 100644 index 000000000..e03f44a93 --- /dev/null +++ b/docs/helm/victoria-metrics-auth/README.md @@ -0,0 +1,891 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.6.0](https://img.shields.io/badge/Version-0.6.0-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-auth) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) + +Victoria Metrics Auth - is a simple auth proxy and router for VictoriaMetrics. + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-auth` chart available to installation: + +```console +helm search repo vm/victoria-metrics-auth -l +``` + +### Install `victoria-metrics-auth` chart + +Export default values of `victoria-metrics-auth` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-auth > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-auth > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vma vm/victoria-metrics-auth -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-auth -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vma vm/victoria-metrics-auth -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-auth -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vma' +``` + +Get the application by running this command: + +```console +helm list -f vma -n NAMESPACE +``` + +See the history of versions of `vma` application with command. + +```console +helm history vma -n NAMESPACE +``` + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vma -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-auth + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-auth/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
affinityobject
+{}
+
+

Affinity configurations

+
annotationsobject
+{}
+
+

Annotations to be added to the deployment

+
configstring
+null
+
+

Config file content.

+
containerWorkingDirstring
+/
+
+
envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
envFromlist
+[]
+
+
extraArgs."envflag.enable"string
+"true"
+
+
extraArgs."envflag.prefix"string
+VM_
+
+
extraArgs.loggerFormatstring
+json
+
+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraLabelsobject
+{}
+
+

Labels to be added to the deployment and pods

+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
image.pullPolicystring
+IfNotPresent
+
+

Pull policy of Docker image

+
image.registrystring
+""
+
+

Image registry

+
image.repositorystring
+victoriametrics/vmauth
+
+

Victoria Metrics Auth Docker repository and image name

+
image.tagstring
+""
+
+

Tag of Docker image

+
image.variantstring
+""
+
+
imagePullSecretslist
+[]
+
+
ingress.annotationsobject
+{}
+
+
ingress.enabledbool
+false
+
+
ingress.extraLabelsobject
+{}
+
+
ingress.hostslist
+[]
+
+
ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
ingress.tlslist
+[]
+
+
ingressInternal.annotationsobject
+{}
+
+
ingressInternal.enabledbool
+false
+
+
ingressInternal.extraLabelsobject
+{}
+
+
ingressInternal.hostslist
+[]
+
+
ingressInternal.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
ingressInternal.tlslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
nameOverridestring
+""
+
+
nodeSelectorobject
+{}
+
+

NodeSelector configurations. Ref: https://kubernetes.io/docs/user-guide/node-selection/

+
podAnnotationsobject
+{}
+
+

Annotations to be added to pod

+
podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/

+
podSecurityContext.enabledbool
+true
+
+
probe.livenessobject
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

liveness probe

+
probe.readinessobject
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+
+

readiness probe

+
probe.startupobject
+{}
+
+

startup probe

+
rbac.annotationsobject
+{}
+
+
rbac.extraLabelsobject
+{}
+
+
replicaCountint
+1
+
+

Number of replicas of vmauth

+
resourcesobject
+{}
+
+

We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after resources:.

+
secretNamestring
+""
+
+

Use existing secret if specified otherwise .config values will be used. Ref: https://docs.victoriametrics.com/vmauth. Configuration in the given secret must be stored under auth.yml key.

+
securityContext.enabledbool
+true
+
+
service.annotationsobject
+{}
+
+
service.clusterIPstring
+""
+
+
service.enabledbool
+true
+
+
service.externalIPslist
+[]
+
+
service.externalTrafficPolicystring
+""
+
+
service.extraLabelsobject
+{}
+
+
service.healthCheckNodePortstring
+""
+
+
service.ipFamilieslist
+[]
+
+
service.ipFamilyPolicystring
+""
+
+
service.loadBalancerIPstring
+""
+
+
service.loadBalancerSourceRangeslist
+[]
+
+
service.servicePortint
+8427
+
+
service.typestring
+ClusterIP
+
+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+null
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
tolerationslist
+[]
+
+

Tolerations configurations. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

+
+ diff --git a/docs/helm/victoria-metrics-auth/_changelog.md b/docs/helm/victoria-metrics-auth/_changelog.md new file mode 100644 index 000000000..ba6ff8631 --- /dev/null +++ b/docs/helm/victoria-metrics-auth/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-auth-changelog + parent: helm-victoriametrics-auth +url: /helm/victoriametrics-auth/changelog +aliases: + - /helm/victoriametrics-auth/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-auth/_index.md b/docs/helm/victoria-metrics-auth/_index.md new file mode 100644 index 000000000..8316a10f1 --- /dev/null +++ b/docs/helm/victoria-metrics-auth/_index.md @@ -0,0 +1,13 @@ +--- +weight: 5 +title: VictoriaMetrics Auth +menu: + docs: + parent: helm + weight: 5 + identifier: helm-victoriametrics-auth +url: /helm/victoriametrics-auth +aliases: + - /helm/victoriametrics-auth/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-cluster/CHANGELOG.md b/docs/helm/victoria-metrics-cluster/CHANGELOG.md new file mode 100644 index 000000000..f35f6742d --- /dev/null +++ b/docs/helm/victoria-metrics-cluster/CHANGELOG.md @@ -0,0 +1,438 @@ +## Next release + +- TODO + +## 0.13.7 + +**Release date:** 2024-09-12 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fixed security context for vmstorage statefulset + +## 0.13.6 + +**Release date:** 2024-09-11 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed cluster native address port rendering on vmselect statefulset. Thanks to @Red-M + +## 0.13.5 + +**Release date:** 2024-09-05 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed priority class name templating for vmselect deployment + +## 0.13.4 + +**Release date:** 2024-09-05 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Removed deprecated autoscaling v2beta2 API support +- Added podLabels support + +## 0.13.3 + +**Release date:** 2024-09-04 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed vmstorage resources templating + +## 0.13.2 + +**Release date:** 2024-09-04 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables +- Fixed vmstorage restore cmd args template + +## 0.13.1 + +**Release date:** 2024-09-03 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Deprecated `vmstorage.vmbackupmanager.enable` in a favour of `vmstorage.vmbackupmanager.enabled`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/940). +- Fixed PVC in StatefulSet + +## 0.13.0 + +**Release date:** 2024-08-29 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0) +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) +- Renamed `.Values.vmstorage.persistentVolume.storageClass` to `.Values.vmstorage.persistentVolume.storageClassName` +- Removed necessity to set `.Values.vmstorage.persistentVolume.existintClaim` when it should be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189) +- Removed `eula` support + +## 0.12.1 + +**Release date:** 2024-08-22 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to configure container port +- Fixed volume template. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1280) + +## 0.12.0 + +**Release date:** 2024-08-21 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: `vmselect` main container name was changed to `vmselect`, which will recreate a pod. + +**Update note**: `vmstorage` main container name was changed to `vmstorage`, which will recreate a pod. + +**Update note**: `vminsert` main container name was changed to `vminsert`, which will recreate a pod. + +**Update note**: requires Helm 3.14+ + +- Added `basicAuth` support for `ServiceMonitor` +- Removed `PodSecurityPolicy` +- Set minimal kubernetes version to `1.25` +- Removed support for `policy/v1beta1/PodDisruptionBudget` +- Added ability to override liveness and readiness probes +- Updated `.Values.vmbackupmanager.readinessProbe` to `.Values.vmbackupmanager.probe.readiness` +- Updated `.Values.vmbackupmanager.livenessProbe` to `.Values.vmbackupmanager.probe.liveness` +- Updated `.Values.vmbackupmanager.startupProbe` to `.Values.vmbackupmanager.probe.startup` +- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry` +- Fix templating of Ingress port when using custom port name. +- Added `.Values.vmselect.emptyDir` and `.Values.vmstorage.emptyDir` to customize default cache directory +- Merged headless and non-headless services, removed statefulset service specific variables +- Added `.Values.vmselect.service.healthCheckNodePort` and `.Values.vmselect.service.externalTrafficPolicy` +- Added `.Values.vmstorage.service.healthCheckNodePort` and `.Values.vmstorage.service.externalTrafficPolicy` +- Added `.Values.vminsert.service.healthCheckNodePort` and `.Values.vminsert.service.externalTrafficPolicy` +- Use static container names in a pod +- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support +- Added `.Values.vmstorage.service.ipFamilies` and `.Values.vmstorage.service.ipFamilyPolicy` for service IP family management +- Added `.Values.vmselect.service.ipFamilies` and `.Values.vmselect.service.ipFamilyPolicy` for service IP family management +- Added `.Values.vminsert.service.ipFamilies` and `.Values.vminsert.service.ipFamilyPolicy` for service IP family management + +## 0.11.23 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1) + +## 0.11.22 + +**Release date:** 2024-07-31 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix mount name for `vmstorage` when using `.Values.vmstorage.persistentVolume.name` to override PVC name. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1181) for the details. Thanks to @srinusanduri for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1182). + +## 0.11.21 + +**Release date:** 2024-07-23 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0) + +## 0.11.20 + +**Release date:** 2024-07-08 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092). + +## 0.11.19 + +**Release date:** 2024-06-14 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values..image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values..image.tag` to automatically use the version specified in `.Chart.AppVersion`. + +- fix workload's readinessProbe and livenessProbe when using custom port name. Thanks to @hanumanhuda for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1061). +- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values..image.variant`. + +## 0.11.18 + +**Release date:** 2024-05-16 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995). + +## 0.11.17 + +**Release date:** 2024-05-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details. + +## 0.11.16 + +**Release date:** 2024-04-26 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/931) and [this PR](https://github.com/VictoriaMetrics/helm-charts/pull/936). +- enable templating for `port name` so users can replace the default with custom values in use cases such as outlined in [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/972) and has been addressed in [this PR](https://github.com/VictoriaMetrics/helm-charts/pull/975). +- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0) + +## 0.11.15 + +**Release date:** 2024-04-16 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1) + +## 0.11.14 + +**Release date:** 2024-03-28 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to use slice variables in extraArgs (#944) +- support adding `metricRelabelings` for server serviceMonitor (#946) + +## 0.11.13 + +**Release date:** 2024-03-05 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0) + +## 0.11.12 + +**Release date:** 2024-02-09 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Remove unsupported `scheme` field under `livenessProbe.tcpSocket`. See [#844](https://github.com/VictoriaMetrics/helm-charts/pull/844) by @MisguidedEmails. + +## 0.11.11 + +**Release date:** 2024-02-01 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1) +- Switch probes scheme to `HTTPS` if vminsert and vmselect enabled tls in extraArgs. + +## 0.11.10 + +**Release date:** 2023-12-19 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix templating `podManagementPolicy` value in StatefulSet configuration of vmselect. See [#807](https://github.com/VictoriaMetrics/helm-charts/pull/807) by @MemberIT. + +## 0.11.9 + +**Release date:** 2023-12-13 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix configuration of volume mount for license key referenced by using secret. + +## 0.11.8 + +**Release date:** 2023-12-12 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0) + +## 0.11.7 + +**Release date:** 2023-12-08 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix `vminsert` configuration for volumes when using `extraVolumes`. + +## 0.11.6 + +**Release date:** 2023-11-16 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1) + +## 0.11.5 + +**Release date:** 2023-11-15 + +![AppVersion: v1.95.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0) + +## 0.11.4 + +**Release date:** 2023-10-25 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix deployment `volumeMounts` when providing enterprise license key for VictoriaMetrics enterprise. See [this pr](https://github.com/VictoriaMetrics/helm-charts/pull/734) for details. + +## 0.11.3 + +**Release date:** 2023-10-12 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add license enforcement for vmbackupmanager in order to avoid running it without enterprise license key. See [these docs](https://docs.victoriametrics.com/enterprise) for details. + +## 0.11.2 + +**Release date:** 2023-10-04 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0) +- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details. + +## 0.11.1 + +**Release date:** 2023-10-04 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- From pod labels removed dynamic label `helm.sh/chart` to avoid restarting every time the chart is updated without changing the pods parameters. **Note that this time it will cause the pods to restart** (#695) + +## 0.11.0 + +**Release date:** 2023-09-28 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add `extraObjects` which to allow deploying additional resources with the chart release (#689) + +## 0.10.9 + +**Release date:** 2023-09-21 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Support `behavior` setting in horizontal pod autoscalers for vminsert and vmselect (#679) +- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5) + +## 0.10.8 + +**Release date:** 2023-09-11 + +![AppVersion: v1.93.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4) + +## 0.10.7 + +**Release date:** 2023-09-04 + +![AppVersion: v1.93.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of Victoria Metrics Cluster to `v1.93.3` + +## 0.10.5 + +**Release date:** 2023-08-23 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.93.0 to v1.93.1 + +## 0.10.4 + +**Release date:** 2023-08-12 + +![AppVersion: v1.93.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.1 to v1.93.0 +- charts/victoria-metrics-cluster: remove incorrect comment (#607) +- vmstorage, vminsert: Add topoloogySpreadConstraints (#596) + +## 0.10.3 + +**Release date:** 2023-07-28 + +![AppVersion: v1.92.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599) + +## 0.10.2 + +**Release date:** 2023-07-27 + +![AppVersion: v1.92.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.91.3 to v1.92.0 +- fix misused securityContext and podSecurityContext (#592) + +## 0.10.1 + +**Release date:** 2023-07-25 + +![AppVersion: v1.91.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.91.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix typo in suppressStorageFQDNsRender, address #580 (#581) + +## 0.10.0 + +**Release date:** 2023-07-13 + +![AppVersion: v1.91.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.91.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of agent, alert, auth, cluster, single +- charts/victoria-metrics-cluster: fix indent for vmselect statefulset (#576) diff --git a/docs/helm/victoria-metrics-cluster/README.md b/docs/helm/victoria-metrics-cluster/README.md new file mode 100644 index 000000000..7f29cb591 --- /dev/null +++ b/docs/helm/victoria-metrics-cluster/README.md @@ -0,0 +1,2801 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.13.7](https://img.shields.io/badge/Version-0.13.7-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-cluster) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) + +Victoria Metrics Cluster version - high-performance, cost-effective and scalable TSDB, long-term remote storage for Prometheus + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). + +* PV support on underlying infrastructure + +## Chart Details + +Note: this chart installs VictoriaMetrics cluster components such as vminsert, vmselect and vmstorage. It doesn't create or configure metrics scraping. If you are looking for a chart to configure monitoring stack in cluster check out [victoria-metrics-k8s-stack chart](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-k8s-stack#helm-chart-for-victoria-metrics-kubernetes-monitoring-stack). + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-cluster` chart available to installation: + +```console +helm search repo vm/victoria-metrics-cluster -l +``` + +### Install `victoria-metrics-cluster` chart + +Export default values of `victoria-metrics-cluster` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-cluster > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vmc vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vmc oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vmc vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vmc oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vmc' +``` + +Get the application by running this command: + +```console +helm list -f vmc -n NAMESPACE +``` + +See the history of versions of `vmc` application with command. + +```console +helm history vmc -n NAMESPACE +``` + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vmc -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-cluster + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-cluster/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
clusterDomainSuffixstring
+cluster.local
+
+

k8s cluster domain suffix, uses for building storage pods’ FQDN. Details are here

+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
extraSecretslist
+[]
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
printNotesbool
+true
+
+
rbac.createbool
+true
+
+
rbac.extraLabelsobject
+{}
+
+
rbac.namespacedbool
+false
+
+
serviceAccount.automountTokenbool
+true
+
+
serviceAccount.createbool
+true
+
+
serviceAccount.extraLabelsobject
+{}
+
+
vminsert.affinityobject
+{}
+
+

Pod affinity

+
vminsert.annotationsobject
+{}
+
+
vminsert.automountServiceAccountTokenbool
+true
+
+
vminsert.containerWorkingDirstring
+""
+
+

Container workdir

+
vminsert.enabledbool
+true
+
+

Enable deployment of vminsert component. Deployment is used

+
vminsert.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
vminsert.envFromlist
+[]
+
+
vminsert.extraArgs."envflag.enable"string
+"true"
+
+
vminsert.extraArgs."envflag.prefix"string
+VM_
+
+
vminsert.extraArgs.loggerFormatstring
+json
+
+
vminsert.extraContainerslist
+[]
+
+
vminsert.extraLabelsobject
+{}
+
+
vminsert.extraVolumeMountslist
+[]
+
+
vminsert.extraVolumeslist
+[]
+
+
vminsert.fullnameOverridestring
+""
+
+

Overrides the full name of vminsert component

+
vminsert.horizontalPodAutoscaler.behaviorobject
+{}
+
+

Behavior settings for scaling by the HPA

+
vminsert.horizontalPodAutoscaler.enabledbool
+false
+
+

Use HPA for vminsert component

+
vminsert.horizontalPodAutoscaler.maxReplicasint
+10
+
+

Maximum replicas for HPA to use to to scale the vminsert component

+
vminsert.horizontalPodAutoscaler.metricslist
+[]
+
+

Metric for HPA to use to scale the vminsert component

+
vminsert.horizontalPodAutoscaler.minReplicasint
+2
+
+

Minimum replicas for HPA to use to scale the vminsert component

+
vminsert.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
vminsert.image.registrystring
+""
+
+

Image registry

+
vminsert.image.repositorystring
+victoriametrics/vminsert
+
+

Image repository

+
vminsert.image.tagstring
+""
+
+

Image tag override Chart.AppVersion

+
vminsert.image.variantstring
+cluster
+
+
vminsert.ingress.annotationsobject
+{}
+
+

Ingress annotations

+
vminsert.ingress.enabledbool
+false
+
+

Enable deployment of ingress for vminsert component

+
vminsert.ingress.extraLabelsobject
+{}
+
+
vminsert.ingress.hostslist
+[]
+
+

Array of host objects

+
vminsert.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
vminsert.ingress.tlslist
+[]
+
+

Array of TLS objects

+
vminsert.initContainerslist
+[]
+
+
vminsert.namestring
+vminsert
+
+

vminsert container name

+
vminsert.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
vminsert.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
vminsert.podDisruptionBudget.enabledbool
+false
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
vminsert.podDisruptionBudget.labelsobject
+{}
+
+
vminsert.podLabelsobject
+{}
+
+
vminsert.podSecurityContext.enabledbool
+false
+
+
vminsert.ports.namestring
+http
+
+
vminsert.priorityClassNamestring
+""
+
+

Name of Priority Class

+
vminsert.probe.livenessobject
+failureThreshold: 3
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

vminsert liveness probe

+
vminsert.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

vminsert readiness probe

+
vminsert.probe.startupobject
+{}
+
+

vminsert startup probe

+
vminsert.replicaCountint
+2
+
+

Count of vminsert pods

+
vminsert.resourcesobject
+{}
+
+

Resource object

+
vminsert.securityContextobject
+enabled: false
+
+

Pod’s security context. Details are here

+
vminsert.service.annotationsobject
+{}
+
+

Service annotations

+
vminsert.service.clusterIPstring
+""
+
+

Service ClusterIP

+
vminsert.service.externalIPslist
+[]
+
+

Service External IPs. Details are here

+
vminsert.service.externalTrafficPolicystring
+""
+
+
vminsert.service.extraPortslist
+[]
+
+

Extra service ports

+
vminsert.service.healthCheckNodePortstring
+""
+
+
vminsert.service.ipFamilieslist
+[]
+
+
vminsert.service.ipFamilyPolicystring
+""
+
+
vminsert.service.labelsobject
+{}
+
+

Service labels

+
vminsert.service.loadBalancerIPstring
+""
+
+

Service load balancer IP

+
vminsert.service.loadBalancerSourceRangeslist
+[]
+
+

Load balancer source range

+
vminsert.service.servicePortint
+8480
+
+

Service port

+
vminsert.service.targetPortstring
+http
+
+

Target port

+
vminsert.service.typestring
+ClusterIP
+
+

Service type

+
vminsert.service.udpbool
+false
+
+

Make sure that service is not type “LoadBalancer”, as it requires “MixedProtocolLBService” feature gate. ref: https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/

+
vminsert.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
vminsert.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
vminsert.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for vminsert component. This is Prometheus operator object

+
vminsert.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
vminsert.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
vminsert.serviceMonitor.namespacestring
+""
+
+

Target namespace of ServiceMonitor manifest

+
vminsert.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
vminsert.strategyobject
+{}
+
+
vminsert.suppressStorageFQDNsRenderbool
+false
+
+

Suppress rendering --storageNode FQDNs based on vmstorage.replicaCount value. If true suppress rendering --storageNodes, they can be re-defined in extraArgs

+
vminsert.tolerationslist
+[]
+
+

Array of tolerations object. Details are here

+
vminsert.topologySpreadConstraintslist
+[]
+
+

Pod topologySpreadConstraints

+
vmselect.affinityobject
+{}
+
+

Pod affinity

+
vmselect.annotationsobject
+{}
+
+
vmselect.automountServiceAccountTokenbool
+true
+
+
vmselect.cacheMountPathstring
+/cache
+
+

Cache root folder

+
vmselect.containerWorkingDirstring
+""
+
+

Container workdir

+
vmselect.emptyDirobject
+{}
+
+
vmselect.enabledbool
+true
+
+

Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet

+
vmselect.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
vmselect.envFromlist
+[]
+
+
vmselect.extraArgs."envflag.enable"bool
+true
+
+
vmselect.extraArgs."envflag.prefix"string
+VM_
+
+
vmselect.extraArgs.loggerFormatstring
+json
+
+
vmselect.extraContainerslist
+[]
+
+
vmselect.extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
vmselect.extraLabelsobject
+{}
+
+
vmselect.extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
vmselect.extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
vmselect.fullnameOverridestring
+""
+
+

Overrides the full name of vmselect component

+
vmselect.horizontalPodAutoscaler.behaviorobject
+{}
+
+

Behavior settings for scaling by the HPA

+
vmselect.horizontalPodAutoscaler.enabledbool
+false
+
+

Use HPA for vmselect component

+
vmselect.horizontalPodAutoscaler.maxReplicasint
+10
+
+

Maximum replicas for HPA to use to to scale the vmselect component

+
vmselect.horizontalPodAutoscaler.metricslist
+[]
+
+

Metric for HPA to use to scale the vmselect component

+
vmselect.horizontalPodAutoscaler.minReplicasint
+2
+
+

Minimum replicas for HPA to use to scale the vmselect component

+
vmselect.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
vmselect.image.registrystring
+""
+
+

Image registry

+
vmselect.image.repositorystring
+victoriametrics/vmselect
+
+

Image repository

+
vmselect.image.tagstring
+""
+
+

Image tag override Chart.AppVersion

+
vmselect.image.variantstring
+cluster
+
+
vmselect.ingress.annotationsobject
+{}
+
+

Ingress annotations

+
vmselect.ingress.enabledbool
+false
+
+

Enable deployment of ingress for vmselect component

+
vmselect.ingress.extraLabelsobject
+{}
+
+
vmselect.ingress.hostslist
+[]
+
+

Array of host objects

+
vmselect.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
vmselect.ingress.tlslist
+[]
+
+

Array of TLS objects

+
vmselect.initContainerslist
+[]
+
+
vmselect.namestring
+vmselect
+
+

Vmselect container name

+
vmselect.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
vmselect.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access mode. Must match those of existing PV or dynamic provisioner. Details are here

+
vmselect.persistentVolume.annotationsobject
+{}
+
+

Persistent volume annotations

+
vmselect.persistentVolume.enabledbool
+false
+
+

Create/use Persistent Volume Claim for vmselect component. Empty dir if false. If true, vmselect will create/use a Persistent Volume Claim

+
vmselect.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. Requires vmselect.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound

+
vmselect.persistentVolume.labelsobject
+{}
+
+

Persistent volume labels

+
vmselect.persistentVolume.sizestring
+2Gi
+
+

Size of the volume. Better to set the same as resource limit memory property

+
vmselect.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
vmselect.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
vmselect.podDisruptionBudget.enabledbool
+false
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
vmselect.podDisruptionBudget.labelsobject
+{}
+
+
vmselect.podLabelsobject
+{}
+
+
vmselect.podSecurityContext.enabledbool
+true
+
+
vmselect.ports.namestring
+http
+
+
vmselect.priorityClassNamestring
+""
+
+

Name of Priority Class

+
vmselect.probe.livenessobject
+failureThreshold: 3
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

vmselect liveness probe

+
vmselect.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

vmselect readiness probe

+
vmselect.probe.startupobject
+{}
+
+

vmselect startup probe

+
vmselect.replicaCountint
+2
+
+

Count of vmselect pods

+
vmselect.resourcesobject
+{}
+
+

Resource object

+
vmselect.securityContextobject
+enabled: true
+
+

Pod’s security context. Details are here

+
vmselect.service.annotationsobject
+{}
+
+

Service annotations

+
vmselect.service.clusterIPstring
+""
+
+

Service ClusterIP

+
vmselect.service.externalIPslist
+[]
+
+

Service External IPs. Details are here

+
vmselect.service.externalTrafficPolicystring
+""
+
+
vmselect.service.extraPortslist
+[]
+
+

Extra service ports

+
vmselect.service.healthCheckNodePortstring
+""
+
+
vmselect.service.ipFamilieslist
+[]
+
+
vmselect.service.ipFamilyPolicystring
+""
+
+
vmselect.service.labelsobject
+{}
+
+

Service labels

+
vmselect.service.loadBalancerIPstring
+""
+
+

Service load balacner IP

+
vmselect.service.loadBalancerSourceRangeslist
+[]
+
+

Load balancer source range

+
vmselect.service.servicePortint
+8481
+
+

Service port

+
vmselect.service.targetPortstring
+http
+
+

Target port

+
vmselect.service.typestring
+ClusterIP
+
+

Service type

+
vmselect.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
vmselect.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
vmselect.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for vmselect component. This is Prometheus operator object

+
vmselect.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
vmselect.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
vmselect.serviceMonitor.namespacestring
+""
+
+

Target namespace of ServiceMonitor manifest

+
vmselect.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
vmselect.statefulSet.enabledbool
+false
+
+

Deploy StatefulSet instead of Deployment for vmselect. Useful if you want to keep cache data.

+
vmselect.statefulSet.podManagementPolicystring
+OrderedReady
+
+

Deploy order policy for StatefulSet pods

+
vmselect.strategyobject
+{}
+
+
vmselect.suppressStorageFQDNsRenderbool
+false
+
+

Suppress rendering --storageNode FQDNs based on vmstorage.replicaCount value. If true suppress rendering --storageNodes, they can be re-defined in extraArgs

+
vmselect.tolerationslist
+[]
+
+

Array of tolerations object. Details are here

+
vmselect.topologySpreadConstraintslist
+[]
+
+

Pod topologySpreadConstraints

+
vmstorage.affinityobject
+{}
+
+

Pod affinity

+
vmstorage.annotationsobject
+{}
+
+
vmstorage.automountServiceAccountTokenbool
+true
+
+
vmstorage.containerWorkingDirstring
+""
+
+

Container workdir

+
vmstorage.emptyDirobject
+{}
+
+

Use an alternate scheduler, e.g. “stork”. ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ schedulerName:

+
vmstorage.enabledbool
+true
+
+

Enable deployment of vmstorage component. StatefulSet is used

+
vmstorage.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
vmstorage.envFromlist
+[]
+
+
vmstorage.extraArgs."envflag.enable"string
+"true"
+
+
vmstorage.extraArgs."envflag.prefix"string
+VM_
+
+
vmstorage.extraArgs.loggerFormatstring
+json
+
+
vmstorage.extraContainerslist
+[]
+
+
vmstorage.extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
vmstorage.extraLabelsobject
+{}
+
+
vmstorage.extraSecretMountslist
+[]
+
+
vmstorage.extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
vmstorage.extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
vmstorage.fullnameOverridestring
+null
+
+

Overrides the full name of vmstorage component

+
vmstorage.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
vmstorage.image.registrystring
+""
+
+

Image registry

+
vmstorage.image.repositorystring
+victoriametrics/vmstorage
+
+

Image repository

+
vmstorage.image.tagstring
+""
+
+

Image tag override Chart.AppVersion

+
vmstorage.image.variantstring
+cluster
+
+
vmstorage.initContainerslist
+[]
+
+
vmstorage.namestring
+vmstorage
+
+

vmstorage container name

+
vmstorage.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
vmstorage.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
vmstorage.persistentVolume.annotationsobject
+{}
+
+

Persistent volume annotations

+
vmstorage.persistentVolume.enabledbool
+true
+
+

Create/use Persistent Volume Claim for vmstorage component. Empty dir if false. If true, vmstorage will create/use a Persistent Volume Claim

+
vmstorage.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. Requires vmstorage.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound

+
vmstorage.persistentVolume.labelsobject
+{}
+
+

Persistent volume labels

+
vmstorage.persistentVolume.mountPathstring
+/storage
+
+

Data root path. Vmstorage data Persistent Volume mount root path

+
vmstorage.persistentVolume.namestring
+vmstorage-volume
+
+
vmstorage.persistentVolume.sizestring
+8Gi
+
+

Size of the volume.

+
vmstorage.persistentVolume.storageClassNamestring
+""
+
+

Storage class name. Will be empty if not setted

+
vmstorage.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
vmstorage.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
vmstorage.podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
vmstorage.podLabelsobject
+{}
+
+
vmstorage.podManagementPolicystring
+OrderedReady
+
+

Deploy order policy for StatefulSet pods

+
vmstorage.podSecurityContext.enabledbool
+false
+
+
vmstorage.ports.namestring
+http
+
+
vmstorage.priorityClassNamestring
+""
+
+

Name of Priority Class

+
vmstorage.probe.livenessobject
+failureThreshold: 10
+initialDelaySeconds: 30
+periodSeconds: 30
+tcpSocket: {}
+timeoutSeconds: 5
+
+

vmstorage liveness probe

+
vmstorage.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

vmstorage readiness probe

+
vmstorage.probe.startupobject
+{}
+
+

vmstorage startup probe

+
vmstorage.replicaCountint
+2
+
+

Count of vmstorage pods

+
vmstorage.resourcesobject
+{}
+
+

Resource object. Details are here

+
vmstorage.retentionPeriodint
+1
+
+

Data retention period. Supported values 1w, 1d, number without measurement means month, e.g. 2 = 2month

+
vmstorage.securityContextobject
+enabled: false
+
+

Pod’s security context. Details are here

+
vmstorage.service.annotationsobject
+{}
+
+

Service annotations

+
vmstorage.service.externalTrafficPolicystring
+""
+
+
vmstorage.service.extraPortslist
+[]
+
+

Extra service ports

+
vmstorage.service.healthCheckNodePortstring
+""
+
+
vmstorage.service.ipFamilieslist
+[]
+
+
vmstorage.service.ipFamilyPolicystring
+""
+
+
vmstorage.service.labelsobject
+{}
+
+

Service labels

+
vmstorage.service.servicePortint
+8482
+
+

Service port

+
vmstorage.service.vminsertPortint
+8400
+
+

Port for accepting connections from vminsert

+
vmstorage.service.vmselectPortint
+8401
+
+

Port for accepting connections from vmselect

+
vmstorage.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
vmstorage.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
vmstorage.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for vmstorage component. This is Prometheus operator object

+
vmstorage.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
vmstorage.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
vmstorage.serviceMonitor.namespacestring
+""
+
+

Target namespace of ServiceMonitor manifest

+
vmstorage.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
vmstorage.terminationGracePeriodSecondsint
+60
+
+

Pod’s termination grace period in seconds

+
vmstorage.tolerationslist
+[]
+
+

Array of tolerations object. Node tolerations for server scheduling to nodes with taints. Details are here #

+
vmstorage.topologySpreadConstraintslist
+[]
+
+

Pod topologySpreadConstraints

+
vmstorage.vmbackupmanager.destinationstring
+""
+
+

backup destination at S3, GCS or local filesystem. Pod name will be included to path!

+
vmstorage.vmbackupmanager.disableDailybool
+false
+
+

disable daily backups

+
vmstorage.vmbackupmanager.disableHourlybool
+false
+
+

disable hourly backups

+
vmstorage.vmbackupmanager.disableMonthlybool
+false
+
+

disable monthly backups

+
vmstorage.vmbackupmanager.disableWeeklybool
+false
+
+

disable weekly backups

+
vmstorage.vmbackupmanager.enabledbool
+false
+
+

enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages

+
vmstorage.vmbackupmanager.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
vmstorage.vmbackupmanager.extraArgs."envflag.enable"string
+"true"
+
+
vmstorage.vmbackupmanager.extraArgs."envflag.prefix"string
+VM_
+
+
vmstorage.vmbackupmanager.extraArgs.loggerFormatstring
+json
+
+
vmstorage.vmbackupmanager.extraSecretMountslist
+[]
+
+
vmstorage.vmbackupmanager.image.registrystring
+""
+
+

vmbackupmanager image registry

+
vmstorage.vmbackupmanager.image.repositorystring
+victoriametrics/vmbackupmanager
+
+

vmbackupmanager image repository

+
vmstorage.vmbackupmanager.image.tagstring
+""
+
+

vmbackupmanager image tag override Chart.AppVersion

+
vmstorage.vmbackupmanager.image.variantstring
+cluster
+
+
vmstorage.vmbackupmanager.probe.livenessobject
+failureThreshold: 10
+initialDelaySeconds: 30
+periodSeconds: 30
+tcpSocket:
+    port: manager-http
+timeoutSeconds: 5
+
+

vmbackupmanager liveness probe

+
vmstorage.vmbackupmanager.probe.readinessobject
+failureThreshold: 3
+httpGet:
+    port: manager-http
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

vmbackupmanager readiness probe

+
vmstorage.vmbackupmanager.probe.startupobject
+{}
+
+

vmbackupmanager startup probe

+
vmstorage.vmbackupmanager.resourcesobject
+{}
+
+
vmstorage.vmbackupmanager.restoreobject
+onStart:
+    enabled: false
+
+

Allows to enable restore options for pod. Read more: https://docs.victoriametrics.com/vmbackupmanager#restore-commands

+
vmstorage.vmbackupmanager.retentionobject
+keepLastDaily: 2
+keepLastHourly: 2
+keepLastMonthly: 2
+keepLastWeekly: 2
+
+

backups’ retention settings

+
vmstorage.vmbackupmanager.retention.keepLastDailyint
+2
+
+

keep last N daily backups. 0 means delete all existing daily backups. Specify -1 to turn off

+
vmstorage.vmbackupmanager.retention.keepLastHourlyint
+2
+
+

keep last N hourly backups. 0 means delete all existing hourly backups. Specify -1 to turn off

+
vmstorage.vmbackupmanager.retention.keepLastMonthlyint
+2
+
+

keep last N monthly backups. 0 means delete all existing monthly backups. Specify -1 to turn off

+
vmstorage.vmbackupmanager.retention.keepLastWeeklyint
+2
+
+

keep last N weekly backups. 0 means delete all existing weekly backups. Specify -1 to turn off

+
+ diff --git a/docs/helm/victoria-metrics-cluster/_changelog.md b/docs/helm/victoria-metrics-cluster/_changelog.md new file mode 100644 index 000000000..b6427f069 --- /dev/null +++ b/docs/helm/victoria-metrics-cluster/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-cluster-changelog + parent: helm-victoriametrics-cluster +url: /helm/victoriametrics-cluster/changelog +aliases: + - /helm/victoriametrics-cluster/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-cluster/_index.md b/docs/helm/victoria-metrics-cluster/_index.md new file mode 100644 index 000000000..b1f36d856 --- /dev/null +++ b/docs/helm/victoria-metrics-cluster/_index.md @@ -0,0 +1,13 @@ +--- +weight: 6 +title: VictoriaMetrics Cluster +menu: + docs: + parent: helm + weight: 6 + identifier: helm-victoriametrics-cluster +url: /helm/victoriametrics-cluster +aliases: + - /helm/victoriametrics-cluster/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-common/CHANGELOG.md b/docs/helm/victoria-metrics-common/CHANGELOG.md new file mode 100644 index 000000000..29a97bf5f --- /dev/null +++ b/docs/helm/victoria-metrics-common/CHANGELOG.md @@ -0,0 +1,135 @@ +# CHANGELOG for `victoria-metrics-common` helm-chart + +## Next release + +- TODO + +## 0.0.13 + +**Release date:** 2024-09-16 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Do not use image variant if custom image tag is set in `vm.image` template +- Support multiple license flag styles, which are different for vmanomaly and other services + +## 0.0.12 + +**Release date:** 2024-09-16 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add enterprise to existing variant if enterprise enabled +- Added `vm.enterprise.disabled` template to check if enterprise license is disabled +- Use `service.servicePort` as a port source if flag is not set in `vm.url` + +## 0.0.11 + +**Release date:** 2024-09-11 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to pass extra prefix for `vm.managed.fullname` + +## 0.0.10 + +**Release date:** 2024-09-10 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fixed protocol extraction with TLS enabled +- Typo fixes +- use appkey as `app` label by default +- support multiple service naming styles for `vm.service` + +## 0.0.9 + +**Release date:** 2024-09-02 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Allow `appKey` argument to be a list to support deeply nested objects +- Added `vm.namespace`, which returns `namespaceOverride` or `global.namespaceOverride` or `Release.Namespace` as a default +- Added `vm.managed.fullname`, which returns default fullname prefixed by `appKey` +- Added `vm.plain.fullname`, which returns default fullname suffixed by `appKey` + +## 0.0.8 + +**Release date:** 2024-08-29 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added `vm.service` for unified service name generation +- Added `vm.url` to construct service base url +- Added `vm.name` for chart name +- Added `vm.fullname` which is actively used in resource name construction +- Added `vm.chart` to construct chart name label value +- Added `vm.labels` for common labels +- Added `vm.sa` for service account name +- Added `vm.release` for release name +- Added `vm.selectorLabels` for common selector labels + +## 0.0.7 + +**Release date:** 2024-08-27 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Support short and long args flags in `vm.args` +- Updated `vm.enterprise.only` error message + +## 0.0.6 + +**Release date:** 2024-08-27 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Changed structure of `vm.args` template output +- Removed `eula` support + +## 0.0.5 + +**Release date:** 2024-08-26 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fixed `vm.enterprise.only` template to check if at least one of both global.licence.eula and .Values.license.eula are defined +- Convert `vm.args` bool `true` values to flags without values + +## 0.0.4 + +**Release date:** 2024-08-26 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Updated `vm.probe.*` templates to remove Helm 3.14 restriction. +- Added `vm.args` template for cmd args generation + +## 0.0.3 + +**Release date:** 2024-08-25 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Moved license templates from other charts `vm.license.volume`, `vm.license.mount`, `vm.license.flag` +- Moved `vm.compatibility.renderSecurityContext` template +- Fixed a case, when null is passed to a `.Values.global`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1296) + +## 0.0.2 + +**Release date:** 2024-08-23 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added `vm.port.from.flag` template to extract port from cmd flag listen address. + +## 0.0.1 + +**Release date:** 2024-08-15 + +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added `vm.enterprise.only` template to fail rendering if required license arguments weren't set. +- Added `vm.image` template that introduces common chart logic of how to build image name from application variables. +- Added `vm.ingress.port` template to render properly tngress port configuration depending on args type. +- Added `vm.probe.*` templates to render probes params consistently across all templates. diff --git a/docs/helm/victoria-metrics-distributed/CHANGELOG.md b/docs/helm/victoria-metrics-distributed/CHANGELOG.md new file mode 100644 index 000000000..22f32e599 --- /dev/null +++ b/docs/helm/victoria-metrics-distributed/CHANGELOG.md @@ -0,0 +1,59 @@ +## Next release + +- TODO + +## 0.3.1 + +**Release date:** 2024-09-19 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Do not truncate datasource name +- Support customizing vmauthQueryGlobal spec. Thanks to @olivierbouffet for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1511). +- Support overriding the default name for extra vmagent and vmcluster per zone. + +## 0.3.0 + +**Release date:** 2024-08-29 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0) + +## 0.2.2 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1) + +## 0.2.1 + +**Release date:** 2024-07-23 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0) + +## 0.2.0 + +**Release date:** 2024-07-15 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Breaking change: disable multitenancy mode by default, see how to enable it in . See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1137) for details. + +## 0.1.1 + +**Release date:** 2024-06-27 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- [vmauth-read-balancer-zone]: change server from vmselect pod enumeration to service DNS address, so it still work when vmselect scales. diff --git a/docs/helm/victoria-metrics-distributed/README.md b/docs/helm/victoria-metrics-distributed/README.md new file mode 100644 index 000000000..7008361c8 --- /dev/null +++ b/docs/helm/victoria-metrics-distributed/README.md @@ -0,0 +1,665 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.3.1](https://img.shields.io/badge/Version-0.3.1-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-distributed) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) + +A Helm chart for Running VMCluster on Multiple Availability Zones + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). + +* PV support on underlying infrastructure. + +* Multiple availability zones. + +## Chart Details + +This chart sets up multiple VictoriaMetrics cluster instances on multiple [availability zones](https://kubernetes.io/docs/setup/best-practices/multiple-zones/), provides both global write and read entrypoints. + +The default setup is as shown below: + +![victoriametrics-distributed-topology](./victoriametrics-distributed-topology.png) + +For write: +1. extra-vmagent(optional): scrapes external targets and all the components installed by this chart, sends data to global write entrypoint. +2. vmauth-global-write: global write entrypoint, proxies requests to one of the zone `vmagent` with `least_loaded` policy. +3. vmagent(per-zone): remote writes data to availability zones that enabled `.Values.availabilityZones.allowIngest`, and [buffer data on disk](https://docs.victoriametrics.com/vmagent/#calculating-disk-space-for-persistence-queue) when zone is unavailable to ingest. +4. vmauth-write-balancer(per-zone): proxies requests to vminsert instances inside it's zone with `least_loaded` policy. +5. vmcluster(per-zone): processes write requests and stores data. + +For read: +1. vmcluster(per-zone): processes query requests and returns results. +2. vmauth-read-balancer(per-zone): proxies requests to vmselect instances inside it's zone with `least_loaded` policy. +3. vmauth-read-proxy(per-zone): uses all the `vmauth-read-balancer` as servers if zone has `.Values.availabilityZones.allowQuery` enabled, always prefer "local" `vmauth-read-balancer` to reduce cross-zone traffic with `first_available` policy. +4. vmauth-global-read: global query entrypoint, proxies requests to one of the zone `vnauth-read-proxy` with `first_available` policy. +5. grafana(optional): uses `vmauth-global-read` as default datasource. + +>Note: +As the topology shown above, this chart doesn't include components like vmalert, alertmanager, etc by default. +You can install them using dependency [victoria-metrics-k8s-stack](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-k8s-stack) or having separate release. + +### Why use `victoria-metrics-distributed` chart? + +One of the best practice of running production kubernetes cluster is running with [multiple availability zones](https://kubernetes.io/docs/setup/best-practices/multiple-zones/). And apart from kubernetes control plane components, we also want to spread our application pods on multiple zones, to continue serving even if zone outage happens. + +VictoriaMetrics supports [data replication](https://docs.victoriametrics.com/cluster-victoriametrics/#replication-and-data-safety) natively which can guarantees data availability when part of the vmstorage instances failed. But it doesn't works well if vmstorage instances are spread on multiple availability zones, since data replication could be stored on single availability zone, which will be lost when zone outage happens. +To avoid this, vmcluster must be installed on multiple availability zones, each containing a 100% copy of data. As long as one zone is available, both global write and read entrypoints should work without interruption. + +### How to write data? + +The chart provides `vmauth-global-write` as global write entrypoint, it supports [push-based data ingestion protocols](https://docs.victoriametrics.com/vmagent/#how-to-push-data-to-vmagent) as VictoriaMetrics does. +Optionally, you can push data to any of the per-zone vmagents, and they will replicate the received data across zones. + +### How to query data? + +The chart provides `vmauth-global-read` as global read entrypoint, it picks the first available zone (see [first_available](https://docs.victoriametrics.com/vmauth/#high-availability) policy) as it's preferred datasource and switches automatically to next zone if first one is unavailable, check [vmauth `first_available`](https://docs.victoriametrics.com/vmauth/#high-availability) for more details. +If you have services like [vmalert](https://docs.victoriametrics.com/vmalert) or Grafana deployed in each zone, then configure them to use local `vmauth-read-proxy`. Per-zone `vmauth-read-proxy` always prefers "local" vmcluster for querying and reduces cross-zone traffic. + +You can also pick other proxies like kubernetes service which supports [Topology Aware Routing](https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/) as global read entrypoint. + +### What happens if zone outage happen? + +If availability zone `zone-eu-1` is experiencing an outage, `vmauth-global-write` and `vmauth-global-read` will work without interruption: +1. `vmauth-global-write` stops proxying write requests to `zone-eu-1` automatically; +2. `vmauth-global-read` and `vmauth-read-proxy` stops proxying read requests to `zone-eu-1` automatically; +3. `vmagent` on `zone-us-1` fails to send data to `zone-eu-1.vmauth-write-balancer`, starts to buffer data on disk(unless `-remoteWrite.disableOnDiskQueue` is specified, which is not recommended for this topology); +To keep data completeness for all the availability zones, make sure you have enough disk space on vmagent for buffer, see [this doc](https://docs.victoriametrics.com/vmagent/#calculating-disk-space-for-persistence-queue) for size recommendation. + +And to avoid getting incomplete responses from `zone-eu-1` which gets recovered from outage, check vmagent on `zone-us-1` to see if persistent queue has been drained. If not, remove `zone-eu-1` from serving query by setting `.Values.availabilityZones.{zone-eu-1}.allowQuery=false` and change it back after confirm all data are restored. + +### How to use [multitenancy](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy)? + +By default, all the data that written to `vmauth-global-write` belong to tenant `0`. To write data to different tenants, set `.Values.enableMultitenancy=true` and create new tenant users for `vmauth-global-write`. +For example, writing data to tenant `1088` with following steps: +1. create tenant VMUser for vmauth `vmauth-global-write` to use: +``` +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMUser +metadata: + name: tenant-1088-rw + labels: + tenant-test: "true" +spec: + targetRefs: + - static: + ## list all the zone vmagent here + url: "http://vmagent-vmagent-zone-eu-1:8429" + url: "http://vmagent-vmagent-zone-us-1:8429" + paths: + - "/api/v1/write" + - "/prometheus/api/v1/write" + - "/write" + - "/api/v1/import" + - "/api/v1/import/.+" + target_path_suffix: /insert/1088/ + username: tenant-1088 + password: secret +``` + +Add extra VMUser selector in vmauth `vmauth-global-write` +``` +spec: + userSelector: + matchLabels: + tenant-test: "true" +``` + +2. send data to `vmauth-global-write` using above token. +Example command using vmagent: +``` +/path/to/vmagent -remoteWrite.url=http://vmauth-vmauth-global-write-$ReleaseName-vm-distributed:8427/prometheus/api/v1/write -remoteWrite.basicAuth.username=tenant-1088 -remoteWrite.basicAuth.password=secret +``` + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-distributed` chart available to installation: + +```console +helm search repo vm/victoria-metrics-distributed -l +``` + +### Install `victoria-metrics-distributed` chart + +Export default values of `victoria-metrics-distributed` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-distributed > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-distributed > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vmd vm/victoria-metrics-distributed -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vmd oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-distributed -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vmd vm/victoria-metrics-distributed -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vmd oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-distributed -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vmd' +``` + +Get the application by running this command: + +```console +helm list -f vmd -n NAMESPACE +``` + +See the history of versions of `vmd` application with command. + +```console +helm history vmd -n NAMESPACE +``` + +## How to upgrade + +In order to serving query and ingestion while upgrading components version or changing configurations, it's recommended to perform maintenance on availability zone one by one. +First, performing update on availability zone `zone-eu-1`: +1. remove `zone-eu-1` from serving query by setting `.Values.availabilityZones.{zone-eu-1}.allowQuery=false`; +2. run `helm upgrade vm-dis -n NAMESPACE` with updated configurations for `zone-eu-1` in `values.yaml`; +3. wait for all the components on zone `zone-eu-1` running; +4. wait `zone-us-1` vmagent persistent queue for `zone-eu-1` been drained, add `zone-eu-1` back to serving query by setting `.Values.availabilityZones.{zone-eu-1}.allowQuery=true`. + +Then, perform update on availability zone `zone-us-1` with the same steps1~4. + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vmd -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-distributed + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-distributed`/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
availabilityZoneslist
+- allowIngest: true
+  allowQuery: true
+  extraAffinity: {}
+  name: zone-eu-1
+  nodeSelector:
+    topology.kubernetes.io/zone: zone-eu-1
+  topologySpreadConstraints:
+    - maxSkew: 1
+      topologyKey: kubernetes.io/hostname
+      whenUnsatisfiable: ScheduleAnyway
+  vmagent:
+    annotations: {}
+    enabled: true
+    name: ""
+    spec: {}
+  vmauthCrossAZQuery:
+    enabled: true
+    name: ""
+    spec: {}
+  vmauthIngest:
+    enabled: true
+    name: ""
+    spec:
+        extraArgs:
+            discoverBackendIPs: "true"
+  vmauthQueryPerZone:
+    enabled: true
+    name: ""
+    spec:
+        extraArgs:
+            discoverBackendIPs: "true"
+  vmcluster:
+    enabled: true
+    name: ""
+    spec:
+        replicationFactor: 2
+        retentionPeriod: "14"
+        vminsert:
+            extraArgs: {}
+            replicaCount: 2
+            resources: {}
+        vmselect:
+            extraArgs: {}
+            replicaCount: 2
+            resources: {}
+        vmstorage:
+            replicaCount: 2
+            resources: {}
+            storageDataPath: /vm-data
+- allowIngest: true
+  allowQuery: true
+  extraAffinity: {}
+  name: zone-us-1
+  nodeSelector:
+    topology.kubernetes.io/zone: zone-us-1
+  topologySpreadConstraints:
+    - maxSkew: 1
+      topologyKey: kubernetes.io/hostname
+      whenUnsatisfiable: ScheduleAnyway
+  vmagent:
+    annotations: {}
+    enabled: true
+    name: ""
+    spec: {}
+  vmauthCrossAZQuery:
+    enabled: true
+    name: ""
+    spec: {}
+  vmauthIngest:
+    enabled: true
+    name: ""
+    spec:
+        extraArgs:
+            discoverBackendIPs: "true"
+  vmauthQueryPerZone:
+    enabled: true
+    name: ""
+    spec:
+        extraArgs:
+            discoverBackendIPs: "true"
+  vmcluster:
+    enabled: true
+    name: ""
+    spec:
+        replicationFactor: 2
+        retentionPeriod: "14"
+        vminsert:
+            extraArgs: {}
+            replicaCount: 2
+            resources: {}
+        vmselect:
+            extraArgs: {}
+            replicaCount: 2
+            resources: {}
+        vmstorage:
+            replicaCount: 2
+            resources: {}
+            storageDataPath: /vm-data
+
+

config per availability zone components, including vmagent, vmcluster, vmauth etc

+
availabilityZones[0].allowIngestbool
+true
+
+

allow data ingestion to this zone

+
availabilityZones[0].allowQuerybool
+true
+
+

allow data query from this zone through global query endpoint

+
availabilityZones[0].extraAffinityobject
+{}
+
+

extraAffinity adds user defined custom affinity rules

+
availabilityZones[0].nodeSelectorobject
+topology.kubernetes.io/zone: zone-eu-1
+
+

nodeselector to restrict where pods of this zone can be placed. usually provided by cloud providers.

+
availabilityZones[0].topologySpreadConstraintslist
+- maxSkew: 1
+  topologyKey: kubernetes.io/hostname
+  whenUnsatisfiable: ScheduleAnyway
+
+

topologySpreadConstraints allows to customize the default topologySpreadConstraints.

+
availabilityZones[0].vmagentobject
+annotations: {}
+enabled: true
+name: ""
+spec: {}
+
+

vmagent here only meant to proxy write requests to each az, doesn’t support customized other remote write address.

+
availabilityZones[0].vmauthCrossAZQueryobject
+enabled: true
+name: ""
+spec: {}
+
+

set up a vmauth with all the zone with allowQuery: true as query backends

+
availabilityZones[0].vmauthIngest.namestring
+""
+
+

override the name of the vmauth object

+
availabilityZones[0].vmcluster.namestring
+""
+
+

override the name of the vmcluster, by default is vmcluster-

+
availabilityZones[0].vmcluster.specobject
+replicationFactor: 2
+retentionPeriod: "14"
+vminsert:
+    extraArgs: {}
+    replicaCount: 2
+    resources: {}
+vmselect:
+    extraArgs: {}
+    replicaCount: 2
+    resources: {}
+vmstorage:
+    replicaCount: 2
+    resources: {}
+    storageDataPath: /vm-data
+
+

spec for VMCluster crd, see https://docs.victoriametrics.com/operator/api#vmclusterspec

+
availabilityZones[1].allowIngestbool
+true
+
+

allow data ingestion to this zone

+
availabilityZones[1].allowQuerybool
+true
+
+

allow data query from this zone through global query endpoint

+
availabilityZones[1].extraAffinityobject
+{}
+
+

extraAffinity adds user defined custom affinity rules

+
availabilityZones[1].nodeSelectorobject
+topology.kubernetes.io/zone: zone-us-1
+
+

nodeselector to restrict where pods of this zone can be placed. usually provided by cloud providers.

+
availabilityZones[1].topologySpreadConstraintslist
+- maxSkew: 1
+  topologyKey: kubernetes.io/hostname
+  whenUnsatisfiable: ScheduleAnyway
+
+

topologySpreadConstraints allows to customize the default topologySpreadConstraints.

+
availabilityZones[1].vmagentobject
+annotations: {}
+enabled: true
+name: ""
+spec: {}
+
+

vmagent only meant to proxy write requests to each az, doesn’t support customized remote write address

+
availabilityZones[1].vmcluster.namestring
+""
+
+

override the name of the vmcluster, by default is vmcluster-

+
availabilityZones[1].vmcluster.specobject
+replicationFactor: 2
+retentionPeriod: "14"
+vminsert:
+    extraArgs: {}
+    replicaCount: 2
+    resources: {}
+vmselect:
+    extraArgs: {}
+    replicaCount: 2
+    resources: {}
+vmstorage:
+    replicaCount: 2
+    resources: {}
+    storageDataPath: /vm-data
+
+

spec for VMCluster crd, see https://docs.victoriametrics.com/operator/api#vmclusterspec

+
enableMultitenancybool
+false
+
+

enable multitenancy mode see https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-distributed#how-to-use-multitenancy

+
extraVMAgentobject
+enabled: true
+name: test-vmagent
+spec:
+    selectAllByDefault: true
+
+

set up an extra vmagent to scrape all the scrape objects by default, and write data to above vmauth-global-ingest endpoint.

+
fullnameOverridestring
+""
+
+

overrides the chart’s computed fullname.

+
nameOverridestring
+vm-distributed
+
+

overrides the chart’s name

+
victoria-metrics-k8s-stackobject
+alertmanager:
+    enabled: false
+crds:
+    enabled: true
+enabled: true
+grafana:
+    enabled: true
+    sidecar:
+        datasources:
+            enabled: true
+victoria-metrics-operator:
+    enabled: true
+vmagent:
+    enabled: false
+vmalert:
+    enabled: false
+vmcluster:
+    enabled: false
+vmsingle:
+    enabled: false
+
+

set up vm operator and other resources like vmalert, grafana if needed

+
vmauthIngestGlobalobject
+enabled: true
+name: ""
+spec: {}
+
+

set up a vmauth as the global write entrypoint

+
vmauthQueryGlobalobject
+enabled: true
+name: ""
+spec: {}
+
+

set up a vmauth as the global read entrypoint

+
+ diff --git a/docs/helm/victoria-metrics-distributed/_changelog.md b/docs/helm/victoria-metrics-distributed/_changelog.md new file mode 100644 index 000000000..91a7f46b2 --- /dev/null +++ b/docs/helm/victoria-metrics-distributed/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-distributed-changelog + parent: helm-victoriametrics-distributed +url: /helm/victoriametrics-distributed/changelog +aliases: + - /helm/victoriametrics-distributed/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-distributed/_index.md b/docs/helm/victoria-metrics-distributed/_index.md new file mode 100644 index 000000000..52ce6ae86 --- /dev/null +++ b/docs/helm/victoria-metrics-distributed/_index.md @@ -0,0 +1,13 @@ +--- +weight: 7 +title: VictoriaMetrics Distributed +menu: + docs: + parent: helm + weight: 7 + identifier: helm-victoriametrics-distributed +url: /helm/victoriametrics-distributed +aliases: + - /helm/victoriametrics-distrinuted/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-gateway/CHANGELOG.md b/docs/helm/victoria-metrics-gateway/CHANGELOG.md new file mode 100644 index 000000000..0110f17f7 --- /dev/null +++ b/docs/helm/victoria-metrics-gateway/CHANGELOG.md @@ -0,0 +1,257 @@ +## Next release + +- TODO + +## 0.4.0 + +**Release date:** 2024-09-12 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Deprecated `rateLimiter.enable` in a favour of `rateLimiter.enabled` +- Deprecated `auth.enable` in a favour of `auth.enabled` +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables + +## 0.3.0 + +**Release date:** 2024-08-29 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0) +- Added ability to configure container port +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) +- Removed `eula` support + +## 0.2.0 + +**Release date:** 2024-08-21 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: main container name was changed to `vmgateway`, which will reacreate a pod. + +**Update note**: requires Helm 3.14+ + +- Added `basicAuth` support for `ServiceMonitor` +- Set minimal kubernetes version to `1.25` +- Removed support for `policy/v1beta1/PodDisruptionBudget` +- Added params to configure probes `.Values.probe.readiness`, `.Values.probe.liveness` and `.Values.probe.startup` +- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry` +- Use static container names in a pod +- Added `.Values.service.ipFamilies` and `.Values.service.ipFamilyPolicy` for service IP family management + +## 0.1.64 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1) + +## 0.1.63 + +**Release date:** 2024-07-23 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0) + +## 0.1.62 + +**Release date:** 2024-06-14 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values..image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values..image.tag` to automatically use the version specified in `.Chart.AppVersion`. + +- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values..image.variant`. + +## 0.1.61 + +**Release date:** 2024-05-16 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995). + +## 0.1.60 + +**Release date:** 2024-05-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details. + +## 0.1.59 + +**Release date:** 2024-04-26 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0) + +## 0.1.58 + +**Release date:** 2024-04-16 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1) + +## 0.1.57 + +**Release date:** 2024-03-28 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to use slice variables in extraArgs (#944) +- support adding `metricRelabelings` for server serviceMonitor (#946) + +## 0.1.56 + +**Release date:** 2024-03-05 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0) + +## 0.1.55 + +**Release date:** 2024-02-01 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1) + +## 0.1.54 + +**Release date:** 2023-12-13 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix configuration of volume mount for license key referenced by using secret. +- Fix `vmbackupmanager` flags configuration when providing license key via secret. + +## 0.1.53 + +**Release date:** 2023-12-12 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0) + +## 0.1.52 + +**Release date:** 2023-11-16 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1) + +## 0.1.51 + +**Release date:** 2023-11-15 + +![AppVersion: v1.95.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0) + +## 0.1.50 + +**Release date:** 2023-10-25 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix deployment `volumeMounts` when providing enterprise license key for VictoriaMetrics enterprise. See [this pr](https://github.com/VictoriaMetrics/helm-charts/pull/734) for details. + +## 0.1.49 + +**Release date:** 2023-10-04 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0) +- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details. + +## 0.1.48 + +**Release date:** 2023-09-21 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5) + +## 0.1.47 + +**Release date:** 2023-09-11 + +![AppVersion: v1.93.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4) + +## 0.1.46 + +**Release date:** 2023-09-04 + +![AppVersion: v1.93.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of vmgateway to `v1.93.3` + +## 0.1.43 + +**Release date:** 2023-08-23 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.93.0 to v1.93.1 + +## 0.1.42 + +**Release date:** 2023-08-12 + +![AppVersion: v1.93.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.1 to v1.93.0 + +## 0.1.41 + +**Release date:** 2023-07-28 + +![AppVersion: v1.92.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599) + +## 0.1.40 + +**Release date:** 2023-07-27 + +![AppVersion: v1.92.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.91.3 to v1.92.0 diff --git a/docs/helm/victoria-metrics-gateway/README.md b/docs/helm/victoria-metrics-gateway/README.md new file mode 100644 index 000000000..ade7b3154 --- /dev/null +++ b/docs/helm/victoria-metrics-gateway/README.md @@ -0,0 +1,924 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.4.0](https://img.shields.io/badge/Version-0.4.0-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-gateway) +[![Slack](https://img.shields.io/badge/join%20slack-%23victoriametrics-brightgreen.svg)](https://slack.victoriametrics.com/) + +Victoria Metrics Gateway - Auth & Rate-Limitting proxy for Victoria Metrics + +# Table of Content + +* [Prerequisites](#prerequisites) +* [Chart Details](#chart-details) +* [How to Install](#how-to-install) +* [How to Uninstall](#how-to-uninstall) +* [How to use JWT signature verification](#how-to-use-jwt-signature-verification) +* [Documentation of Helm Chart](#documentation-of-helm-chart) + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). +* PV support on underlying infrastructure + +## Chart Details + +This chart will do the following: + +* Rollout victoria metrics gateway + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-gateway` chart available to installation: + +```console +helm search repo vm/victoria-metrics-gateway -l +``` + +### Install `victoria-metrics-gateway` chart + +Export default values of `victoria-metrics-gateway` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-gateway > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-gateway > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vmg vm/victoria-metrics-gateway -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vmg oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-gateway -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vmg vm/victoria-metrics-gateway -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vmg oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-gateway -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vmg' +``` + +Get the application by running this command: + +```console +helm list -f vmg -n NAMESPACE +``` + +See the history of versions of `vmg` application with command. + +```console +helm history vmg -n NAMESPACE +``` + +# How to use [JWT signature verification](https://docs.victoriametrics.com/vmgateway#jwt-signature-verification) + +Kubernetes best-practice is to store sensitive configuration parts in secrets. For example, 2 keys will be stored as: +```yaml +apiVersion: v1 +data: + key: "<>" +kind: Secret +metadata: + name: key1 +--- +apiVersion: v1 +data: + key: "<>" +kind: Secret +metadata: + name: key2 +``` + +In order to use those secrets it is needed to: +- mount secrets into pod +- provide flag pointing to secret on disk + +Here is an example `values.yml` file configuration to achieve this: +```yaml +auth: + enable: true + +extraVolumes: + - name: key1 + secret: + secretName: key1 + - name: key2 + secret: + secretName: key2 + +extraVolumeMounts: + - name: key1 + mountPath: /key1 + - name: key2 + mountPath: /key2 + +extraArgs: + envflag.enable: "true" + envflag.prefix: VM_ + loggerFormat: json + auth.publicKeyFiles: "/key1/key,/key2/key" +``` +Note that in this configuration all secret keys will be mounted and accessible to pod. +Please, refer to [this](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#secretvolumesource-v1-core) doc to see all available secret source options. + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vmg -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-gateway + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-gateway/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
affinityobject
+{}
+
+

Affinity configurations

+
annotationsobject
+{}
+
+

Annotations to be added to the deployment

+
authobject
+enabled: false
+
+

Access Control configuration. https://docs.victoriametrics.com/vmgateway#access-control

+
auth.enabledbool
+false
+
+

Enable/Disable access-control

+
clusterModebool
+false
+
+

Specify to True if the source for rate-limiting, reading and writing as a VictoriaMetrics Cluster. Must be true for rate limiting

+
configMapstring
+""
+
+

Use existing configmap if specified otherwise .config values will be used. Ref: https://docs.victoriametrics.com/vmgateway

+
containerWorkingDirstring
+/
+
+
envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables

+
envFromlist
+[]
+
+
extraArgs."envflag.enable"string
+"true"
+
+
extraArgs."envflag.prefix"string
+VM_
+
+
extraArgs.loggerFormatstring
+json
+
+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
image.pullPolicystring
+IfNotPresent
+
+

Pull policy of Docker image

+
image.registrystring
+""
+
+

Victoria Metrics gateway Docker registry

+
image.repositorystring
+victoriametrics/vmgateway
+
+

Victoria Metrics gateway Docker repository and image name

+
image.tagstring
+""
+
+

Tag of Docker image override Chart.AppVersion

+
image.variantstring
+""
+
+
imagePullSecretslist
+[]
+
+
ingress.annotationsobject
+{}
+
+
ingress.enabledbool
+false
+
+
ingress.extraLabelsobject
+{}
+
+
ingress.hostslist
+[]
+
+
ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
ingress.tlslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
nameOverridestring
+""
+
+
nodeSelectorobject
+{}
+
+

NodeSelector configurations. Ref: https://kubernetes.io/docs/user-guide/node-selection/

+
podAnnotationsobject
+{}
+
+

Annotations to be added to pod

+
podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/

+
podSecurityContext.enabledbool
+true
+
+
probe.livenessobject
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

liveness probe

+
probe.readinessobject
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+
+

readiness probe

+
probe.startupobject
+{}
+
+

startup probe

+
rateLimiterobject
+config: {}
+datasource:
+    url: ""
+enabled: false
+
+

Rate limiter configuration. Docs https://docs.victoriametrics.com/vmgateway#rate-limiter

+
rateLimiter.datasource.urlstring
+""
+
+

Datasource VictoriaMetrics or vmselects. Required. Example http://victoroametrics:8428 or http://vmselect:8481/select/0/prometheus

+
rateLimiter.enabledbool
+false
+
+

Enable/Disable rate-limiting

+
read.urlstring
+""
+
+

Read endpoint without suffixes, victoriametrics or vmselect. Example http://victoroametrics:8428 or http://vmselect:8481

+
replicaCountint
+1
+
+

Number of replicas of vmgateway

+
resourcesobject
+{}
+
+

We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after ‘resources:’.

+
securityContextobject
+enabled: true
+runAsGroup: 1000
+runAsNonRoot: true
+runAsUser: 1000
+
+

Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

+
service.annotationsobject
+{}
+
+
service.clusterIPstring
+""
+
+
service.enabledbool
+true
+
+
service.externalIPslist
+[]
+
+
service.extraLabelsobject
+{}
+
+
service.ipFamilieslist
+[]
+
+
service.ipFamilyPolicystring
+""
+
+
service.loadBalancerIPstring
+""
+
+
service.loadBalancerSourceRangeslist
+[]
+
+
service.servicePortint
+8431
+
+
service.typestring
+ClusterIP
+
+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+null
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
tolerationslist
+[]
+
+

Tolerations configurations. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

+
write.urlstring
+""
+
+

Write endpoint without suffixes, victoriametrics or vminsert. Example http://victoroametrics:8428 or http://vminsert:8480

+
+ diff --git a/docs/helm/victoria-metrics-gateway/_changelog.md b/docs/helm/victoria-metrics-gateway/_changelog.md new file mode 100644 index 000000000..26153f3ad --- /dev/null +++ b/docs/helm/victoria-metrics-gateway/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-gateway-changelog + parent: helm-victoriametrics-gateway +url: /helm/victoriametrics-gateway/changelog +aliases: + - /helm/victoriametrics-gateway/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-gateway/_index.md b/docs/helm/victoria-metrics-gateway/_index.md new file mode 100644 index 000000000..6b6853796 --- /dev/null +++ b/docs/helm/victoria-metrics-gateway/_index.md @@ -0,0 +1,13 @@ +--- +weight: 8 +title: VictoriaMetrics Gateway +menu: + docs: + parent: helm + weight: 8 + identifier: helm-victoriametrics-gateway +url: /helm/victoriametrics-gateway +aliases: + - /helm/victoriametrics-gateway/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-k8s-stack/CHANGELOG.md b/docs/helm/victoria-metrics-k8s-stack/CHANGELOG.md new file mode 100644 index 000000000..d044b526a --- /dev/null +++ b/docs/helm/victoria-metrics-k8s-stack/CHANGELOG.md @@ -0,0 +1,688 @@ +## Next release + +- TODO + +## 0.25.17 + +**Release date:** 2024-09-20 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added VMAuth to k8s stack. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/829) +- Fixed ETCD dashboard +- Use path prefix from args as a default path prefix for ingress. Related [issue](https://github.com/VictoriaMetrics/helm-charts/issues/1260) +- Allow using vmalert without notifiers configuration. Note that it is required to use `.vmalert.spec.extraArgs["notifiers.blackhole"]: true` in order to start vmalert with a blackhole configuration. + +## 0.25.16 + +**Release date:** 2024-09-10 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Do not truncate servicemonitor, datasources, rules, dashboard, alertmanager & vmalert templates names +- Use service label for node-exporter instead of podLabel. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1458) +- Added common chart to a k8s-stack. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1456) +- Fixed value of custom alertmanager configSecret. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1461) + +## 0.25.15 + +**Release date:** 2024-09-05 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Drop empty endpoints param from scrape configuration +- Fixed proto when TLS is enabled. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1449) + +## 0.25.14 + +**Release date:** 2024-09-04 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed alertmanager templates + +## 0.25.13 + +**Release date:** 2024-09-04 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Use operator's own service monitor + +## 0.25.12 + +**Release date:** 2024-09-03 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fixed dashboards rendering. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1414) +- Fixed service monitor label name. + +## 0.25.11 + +**Release date:** 2024-09-03 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Merged ingress templates +- Removed custom VMServiceScrape for operator +- Added ability to override default Prometheus-compatible datatasources with all available parameters. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/860). +- Do not use `grafana.dashboards` and `grafana.dashboardProviders`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1312). +- Migrated Node Exporter dashboard into chart +- Deprecated `grafana.sidecar.jsonData`, `grafana.provisionDefaultDatasource` in a favour of `grafana.sidecar.datasources.default` slice of datasources. +- Fail if no notifiers are set, do not set `notifiers` to null if empty + +## 0.25.10 + +**Release date:** 2024-08-31 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed ingress extraPaths and externalVM urls rendering + +## 0.25.9 + +**Release date:** 2024-08-31 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed vmalert ingress name typo +- Added ability to override default Prometheus-compatible datatasources with all available parameters. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/860). +- Do not use `grafana.dashboards` and `grafana.dashboardProviders`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1312). + +## 0.25.8 + +**Release date:** 2024-08-30 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed external notifiers rendering, when alertmanager is disabled. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1378) + +## 0.25.7 + +**Release date:** 2024-08-30 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed extra rules template context + +## 0.25.6 + +**Release date:** 2024-08-29 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: Update `kubeProxy.spec` to `kubeProxy.vmScrape.spec` + +**Update note**: Update `kubeScheduler.spec` to `kubeScheduler.vmScrape.spec` + +**Update note**: Update `kubeEtcd.spec` to `kubeEtcd.vmScrape.spec` + +**Update note**: Update `coreDns.spec` to `coreDns.vmScrape.spec` + +**Update note**: Update `kubeDns.spec` to `kubeDns.vmScrape.spec` + +**Update note**: Update `kubeProxy.spec` to `kubeProxy.vmScrape.spec` + +**Update note**: Update `kubeControllerManager.spec` to `kubeControllerManager.vmScrape.spec` + +**Update note**: Update `kubeApiServer.spec` to `kubeApiServer.vmScrape.spec` + +**Update note**: Update `kubelet.spec` to `kubelet.vmScrape.spec` + +**Update note**: Update `kube-state-metrics.spec` to `kube-state-metrics.vmScrape.spec` + +**Update note**: Update `prometheus-node-exporter.spec` to `prometheus-node-exporter.vmScrape.spec` + +**Update note**: Update `grafana.spec` to `grafana.vmScrape.spec` + +- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0) +- Added `dashboards.` bool flag to enable dashboard even if component it is for is not installed. +- Allow extra `vmalert.notifiers` without dropping default notifier if `alertmanager.enabled: true` +- Do not drop default notifier, when vmalert.additionalNotifierConfigs is set +- Replaced static url proto with a template, which selects proto depending on a present tls configuration +- Moved kubernetes components monitoring config from `spec` config to `vmScrape.spec` +- Merged servicemonitor templates + +## 0.25.5 + +**Release date:** 2024-08-26 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- TODO + +## 0.25.4 + +**Release date:** 2024-08-26 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to [v0.47.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.2) +- kube-state-metrics - 5.16.4 -> 5.25.1 +- prometheus-node-exporter - 4.27.0 -> 4.29.0 +- grafana - 8.3.8 -> 8.4.7 +- added configurable `.Values.global.clusterLabel` to all alerting and recording rules `by` and `on` expressions + +## 0.25.3 + +**Release date:** 2024-08-23 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updated operator to v0.47.1 release +- Build `app.kubernetes.io/instance` label consistently. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1282) + +## 0.25.2 + +**Release date:** 2024-08-21 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixed vmalert ingress name. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1271) +- fixed alertmanager ingress host template rendering. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1270) + +## 0.25.1 + +**Release date:** 2024-08-21 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added `.Values.global.license` configuration +- Fixed extraLabels rendering. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1248) +- Fixed vmalert url to alertmanager by including its path prefix +- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support +- Fixed kubedns servicemonitor template. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1255) + +## 0.25.0 + +**Release date:** 2024-08-16 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: it requires to update CRD dependency manually before upgrade + +**Update note**: requires Helm 3.14+ + +- Moved dashboards templating logic out of sync script to Helm template +- Allow to disable default grafana datasource +- Synchronize Etcd dashboards and rules with mixin provided by Etcd +- Add alerting rules for VictoriaMetrics operator. +- Updated alerting rules for VictoriaMetrics components. +- Fixed exact rule annotations propagation to other rules. +- Set minimal kubernetes version to 1.25 +- updates operator to v0.47.0 version + +## 0.24.5 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1) + +## 0.24.4 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update dependencies: grafana -> 8.3.6. +- Added `.Values.defaultRules.alerting` and `.Values.defaultRules.recording` to setup common properties for all alerting an recording rules + +## 0.24.3 + +**Release date:** 2024-07-23 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0) + +## 0.24.2 + +**Release date:** 2024-07-15 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix vmalertmanager configuration when using `.VMAlertmanagerSpec.ConfigRawYaml`. See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1136). + +## 0.24.1 + +**Release date:** 2024-07-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to v0.46.4 + +## 0.24.0 + +**Release date:** 2024-07-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to override alerting rules labels and annotations: +- globally - `.Values.defaultRules.rule.spec.labels` (before it was `.Values.defaultRules.additionalRuleLabels`) and `.Values.defaultRules.rule.spec.annotations` +- for all rules in a group - `.Values.defaultRules.groups..rules.spec.labels` and `.Valeus.defaultRules.groups..rules.spec.annotations` +- for each rule individually - `.Values.defaultRules.rules..spec.labels` and `.Values.defaultRules.rules..spec.annotations` +- changed `.Values.defaultRules.rules.` to `.Values.defaultRules.groups..create` +- changed `.Values.defaultRules.appNamespacesTarget` to `.Values.defaultRules.groups..targetNamespace` +- changed `.Values.defaultRules.params` to `.Values.defaultRules.group.spec.params` with ability to override it at `.Values.defaultRules.groups..spec.params` + +## 0.23.6 + +**Release date:** 2024-07-08 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to override alerting rules labels and annotations: +- globally - `.Values.defaultRules.rule.spec.labels` (before it was `.Values.defaultRules.additionalRuleLabels`) and `.Values.defaultRules.rule.spec.annotations` +- for all rules in a group - `.Values.defaultRules.groups..rules.spec.labels` and `.Valeus.defaultRules.groups..rules.spec.annotations` +- for each rule individually - `.Values.defaultRules.rules..spec.labels` and `.Values.defaultRules.rules..spec.annotations` +- changed `.Values.defaultRules.rules.` to `.Values.defaultRules.groups..create` +- changed `.Values.defaultRules.appNamespacesTarget` to `.Values.defaultRules.groups..targetNamespace` +- changed `.Values.defaultRules.params` to `.Values.defaultRules.group.spec.params` with ability to override it at `.Values.defaultRules.groups..spec.params` + +## 0.23.5 + +**Release date:** 2024-07-04 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Support configuring vmalert `-notifier.config` with `.Values.vmalert.additionalNotifierConfigs`. + +## 0.23.4 + +**Release date:** 2024-07-02 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add `extraObjects` to allow deploying additional resources with the chart release. + +## 0.23.3 + +**Release date:** 2024-06-26 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Enable [conversion of Prometheus CRDs](https://docs.victoriametrics.com/operator/migration/#objects-conversion) by default. See [this](https://github.com/VictoriaMetrics/helm-charts/pull/1069) pull request for details. +- use bitnami/kubectl image for cleanup instead of deprecated gcr.io/google_containers/hyperkube + +## 0.23.2 + +**Release date:** 2024-06-14 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Do not add `cluster` external label at VMAgent by default. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/774) for the details. + +## 0.23.1 + +**Release date:** 2024-06-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to v0.45.0 release +- sync latest vm alerts and dashboards. + +## 0.23.0 + +**Release date:** 2024-05-30 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- sync latest etcd v3.5.x rules from [upstream](https://github.com/etcd-io/etcd/blob/release-3.5/contrib/mixin/mixin.libsonnet). +- add Prometheus operator CRDs as an optional dependency. See [this PR](https://github.com/VictoriaMetrics/helm-charts/pull/1022) and [related issue](https://github.com/VictoriaMetrics/helm-charts/issues/341) for the details. + +## 0.22.1 + +**Release date:** 2024-05-14 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix missing serviceaccounts patch permission in VM operator, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1012) for details. + +## 0.22.0 + +**Release date:** 2024-05-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.44.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.44.0) + +## 0.21.3 + +**Release date:** 2024-04-26 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0) + +## 0.21.2 + +**Release date:** 2024-04-23 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.43.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.3) + +## 0.21.1 + +**Release date:** 2024-04-18 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +## 0.21.0 + +**Release date:** 2024-04-18 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- TODO + +- bump version of VM operator to [0.43.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.0) +- updates CRDs definitions. + +## 0.20.1 + +**Release date:** 2024-04-16 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- upgraded dashboards and alerting rules, added values file for local (Minikube) setup +- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1) + +## 0.20.0 + +**Release date:** 2024-04-02 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.42.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.3) + +## 0.19.4 + +**Release date:** 2024-03-05 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0) + +## 0.19.3 + +**Release date:** 2024-03-05 + +![AppVersion: v1.98.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.98.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Commented default configuration for alertmanager. It simplifies configuration and makes it more explicit. See this [issue](https://github.com/VictoriaMetrics/helm-charts/issues/473) for details. +- Allow enabling/disabling default k8s rules when installing. See [#904](https://github.com/VictoriaMetrics/helm-charts/pull/904) by @passie. + +## 0.19.2 + +**Release date:** 2024-02-26 + +![AppVersion: v1.98.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.98.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix templating of VMAgent `remoteWrite` in case both `VMSingle` and `VMCluster` are disabled. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/865) for details. + +## 0.19.1 + +**Release date:** 2024-02-21 + +![AppVersion: v1.98.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.98.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update dependencies: victoria-metrics-operator -> 0.28.1, grafana -> 7.3.1. +- Update victoriametrics CRD resources yaml. + +## 0.19.0 + +**Release date:** 2024-02-09 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Do not store original labels in `vmagent`'s memory by default. This reduces memory usage of `vmagent` but makes `vmagent`'s debugging UI less informative. See [this docs](https://docs.victoriametrics.com/vmagent/#relabel-debug) for details on relabeling debug. +- Update dependencies: kube-state-metrics -> 5.16.0, prometheus-node-exporter -> 4.27.0, grafana -> 7.3.0. +- Update victoriametrics CRD resources yaml. +- Update builtin dashboards and rules. + +## 0.18.12 + +**Release date:** 2024-02-01 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1) +- Fix helm lint when ingress resources enabled - split templates of resources per kind. See [#820](https://github.com/VictoriaMetrics/helm-charts/pull/820) by @MemberIT. + +## 0.18.11 + +**Release date:** 2023-12-15 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix missing `.Values.defaultRules.rules.vmcluster` value. See [#801](https://github.com/VictoriaMetrics/helm-charts/pull/801) by @MemberIT. + +## 0.18.10 + +**Release date:** 2023-12-12 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0) +- Add optional allowCrossNamespaceImport to GrafanaDashboard(s) (#788) + +## 0.18.9 + +**Release date:** 2023-12-08 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Properly use variable from values file for Grafana datasource type. (#769) +- Update dashboards from upstream sources. (#780) + +## 0.18.8 + +**Release date:** 2023-11-16 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1) + +## 0.18.7 + +**Release date:** 2023-11-15 + +![AppVersion: v1.95.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0) +- Support adding extra group parameters for default vmrules. (#752) + +## 0.18.6 + +**Release date:** 2023-11-01 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix kube scheduler default scraping port from 10251 to 10259, Kubernetes changed it since 1.23.0. See [this pr](https://github.com/VictoriaMetrics/helm-charts/pull/736) for details. +- Bump version of operator chart to [0.27.4](https://github.com/VictoriaMetrics/helm-charts/releases/tag/victoria-metrics-operator-0.27.4) + +## 0.18.5 + +**Release date:** 2023-10-08 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update operator chart to [v0.27.3](https://github.com/VictoriaMetrics/helm-charts/releases/tag/victoria-metrics-operator-0.27.3) for fixing [#708](https://github.com/VictoriaMetrics/helm-charts/issues/708) + +## 0.18.4 + +**Release date:** 2023-10-04 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update dependencies: [victoria-metrics-operator -> 0.27.2](https://github.com/VictoriaMetrics/helm-charts/releases/tag/victoria-metrics-operator-0.27.2), prometheus-node-exporter -> 4.23.2, grafana -> 6.59.5. + +## 0.18.3 + +**Release date:** 2023-10-04 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0) + +## 0.18.2 + +**Release date:** 2023-09-28 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix behavior of `vmalert.remoteWriteVMAgent` - remoteWrite.url for VMAlert is correctly generated considering endpoint, name, port and http.pathPrefix of VMAgent + +## 0.18.1 + +**Release date:** 2023-09-21 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5) + +## 0.18.0 + +**Release date:** 2023-09-12 + +![AppVersion: v1.93.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of `grafana` helm-chart to `6.59.*` +- Bump version of `prometheus-node-exporter` helm-chart to `4.23.*` +- Bump version of `kube-state-metrics` helm-chart to `0.59.*` +- Update alerting rules +- Update grafana dashboards +- Add `make` commands `sync-rules` and `sync-dashboards` +- Add support of VictoriaMetrics datasource + +## 0.17.8 + +**Release date:** 2023-09-11 + +![AppVersion: v1.93.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4) +- Bump version of operator chart to [0.27.0](https://github.com/VictoriaMetrics/helm-charts/releases/tag/victoria-metrics-operator-0.27.0) + +## 0.17.7 + +**Release date:** 2023-09-07 + +![AppVersion: v1.93.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of operator helm-chart to `0.26.2` + +## 0.17.6 + +**Release date:** 2023-09-04 + +![AppVersion: v1.93.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Move `cleanupCRD` option to victoria-metrics-operator chart (#593) +- Disable `honorTimestamps` for cadvisor scrape job by default (#617) +- For vmalert all replicas of alertmanager are added to notifiers (only if alertmanager is enabled) (#619) +- Add `grafanaOperatorDashboardsFormat` option (#615) +- Fix query expression for memory calculation in `k8s-views-global` dashboard (#636) +- Bump version of Victoria Metrics components to `v1.93.3` +- Bump version of operator helm-chart to `0.26.0` + +## 0.17.5 + +**Release date:** 2023-08-23 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.93.0 to v1.93.1 + +## 0.17.4 + +**Release date:** 2023-08-12 + +![AppVersion: v1.93.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.1 to v1.93.0 +- delete an obsolete parameter remaining by mistake (see ) (#602) + +## 0.17.3 + +**Release date:** 2023-07-28 + +![AppVersion: v1.92.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599) + +## 0.17.2 + +**Release date:** 2023-07-27 + +![AppVersion: v1.92.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.91.3 to v1.92.0 diff --git a/docs/helm/victoria-metrics-k8s-stack/README.md b/docs/helm/victoria-metrics-k8s-stack/README.md new file mode 100644 index 000000000..d95202e0d --- /dev/null +++ b/docs/helm/victoria-metrics-k8s-stack/README.md @@ -0,0 +1,2576 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.25.17](https://img.shields.io/badge/Version-0.25.17-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-k8s-stack) + +Kubernetes monitoring on VictoriaMetrics stack. Includes VictoriaMetrics Operator, Grafana dashboards, ServiceScrapes and VMRules + +* [Overview](#Overview) +* [Configuration](#Configuration) +* [Prerequisites](#Prerequisites) +* [Dependencies](#Dependencies) +* [Quick Start](#How-to-install) +* [Uninstall](#How-to-uninstall) +* [Version Upgrade](#Upgrade-guide) +* [Troubleshooting](#Troubleshooting) +* [Values](#Parameters) + +## Overview +This chart is an All-in-one solution to start monitoring kubernetes cluster. +It installs multiple dependency charts like [grafana](https://github.com/grafana/helm-charts/tree/main/charts/grafana), [node-exporter](https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-node-exporter), [kube-state-metrics](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics) and [victoria-metrics-operator](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator). +Also it installs Custom Resources like [VMSingle](https://docs.victoriametrics.com/operator/quick-start#vmsingle), [VMCluster](https://docs.victoriametrics.com/operator/quick-start#vmcluster), [VMAgent](https://docs.victoriametrics.com/operator/quick-start#vmagent), [VMAlert](https://docs.victoriametrics.com/operator/quick-start#vmalert). + +By default, the operator [converts all existing prometheus-operator API objects](https://docs.victoriametrics.com/operator/quick-start#migration-from-prometheus-operator-objects) into corresponding VictoriaMetrics Operator objects. + +To enable metrics collection for kubernetes this chart installs multiple scrape configurations for kuberenetes components like kubelet and kube-proxy, etc. Metrics collection is done by [VMAgent](https://docs.victoriametrics.com/operator/quick-start#vmagent). So if want to ship metrics to external VictoriaMetrics database you can disable VMSingle installation by setting `vmsingle.enabled` to `false` and setting `vmagent.vmagentSpec.remoteWrite.url` to your external VictoriaMetrics database. + +This chart also installs bunch of dashboards and recording rules from [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) project. + +![Overview](img/k8s-stack-overview.png) + +## Configuration + +Configuration of this chart is done through helm values. + +### Dependencies + +Dependencies can be enabled or disabled by setting `enabled` to `true` or `false` in `values.yaml` file. + +**!Important:** for dependency charts anything that you can find in values.yaml of dependency chart can be configured in this chart under key for that dependency. For example if you want to configure `grafana` you can find all possible configuration options in [values.yaml](https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml) and you should set them in values for this chart under grafana: key. For example if you want to configure `grafana.persistence.enabled` you should set it in values.yaml like this: +```yaml +################################################# +### dependencies ##### +################################################# +# Grafana dependency chart configuration. For possible values refer to https://github.com/grafana/helm-charts/tree/main/charts/grafana#configuration +grafana: + enabled: true + persistence: + type: pvc + enabled: false +``` + +### VictoriaMetrics components + +This chart installs multiple VictoriaMetrics components using Custom Resources that are managed by [victoria-metrics-operator](https://docs.victoriametrics.com/operator/design) +Each resource can be configured using `spec` of that resource from API docs of [victoria-metrics-operator](https://docs.victoriametrics.com/operator/api). For example if you want to configure `VMAgent` you can find all possible configuration options in [API docs](https://docs.victoriametrics.com/operator/api#vmagent) and you should set them in values for this chart under `vmagent.spec` key. For example if you want to configure `remoteWrite.url` you should set it in values.yaml like this: +```yaml +vmagent: + spec: + remoteWrite: + - url: "https://insert.vmcluster.domain.com/insert/0/prometheus/api/v1/write" +``` + +### ArgoCD issues + +#### Operator self signed certificates +When deploying K8s stack using ArgoCD without Cert Manager (`.Values.victoria-metrics-operator.admissionWebhooks.certManager.enabled: false`) +it will rerender operator's webhook certificates on each sync since Helm `lookup` function is not respected by ArgoCD. +To prevent this please update you K8s stack Application `spec.syncPolicy` and `spec.ignoreDifferences` with a following: + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: Application +... +spec: + ... + syncPolicy: + syncOptions: + # https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/#respect-ignore-difference-configs + # argocd must also ignore difference during apply stage + # otherwise it ll silently override changes and cause a problem + - RespectIgnoreDifferences=true + ignoreDifferences: + - group: "" + kind: Secret + name: -validation + namespace: kube-system + jsonPointers: + - /data + - group: admissionregistration.k8s.io + kind: ValidatingWebhookConfiguration + name: -admission + jqPathExpressions: + - '.webhooks[]?.clientConfig.caBundle' +``` +where `` is output of `{{ include "vm-operator.fullname" }}` for your setup + +#### `metadata.annotations: Too long: must have at most 262144 bytes` on dashboards + +If one of dashboards ConfigMap is failing with error `Too long: must have at most 262144 bytes`, please make sure you've added `argocd.argoproj.io/sync-options: ServerSideApply=true` annotation to your dashboards: + +```yaml +grafana: + sidecar: + dashboards: + additionalDashboardAnnotations + argocd.argoproj.io/sync-options: ServerSideApply=true +``` + +argocd.argoproj.io/sync-options: ServerSideApply=true + +### Rules and dashboards + +This chart by default install multiple dashboards and recording rules from [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) +you can disable dashboards with `defaultDashboardsEnabled: false` and `experimentalDashboardsEnabled: false` +and rules can be configured under `defaultRules` + +### Prometheus scrape configs +This chart installs multiple scrape configurations for kubernetes monitoring. They are configured under `#ServiceMonitors` section in `values.yaml` file. For example if you want to configure scrape config for `kubelet` you should set it in values.yaml like this: +```yaml +kubelet: + enabled: true + # spec for VMNodeScrape crd + # https://docs.victoriametrics.com/operator/api#vmnodescrapespec + spec: + interval: "30s" +``` + +### Using externally managed Grafana + +If you want to use an externally managed Grafana instance but still want to use the dashboards provided by this chart you can set + `grafana.enabled` to `false` and set `defaultDashboardsEnabled` to `true`. This will install the dashboards + but will not install Grafana. + +For example: +```yaml +defaultDashboardsEnabled: true + +grafana: + enabled: false +``` + +This will create ConfigMaps with dashboards to be imported into Grafana. + +If additional configuration for labels or annotations is needed in order to import dashboard to an existing Grafana you can +set `.grafana.sidecar.dashboards.additionalDashboardLabels` or `.grafana.sidecar.dashboards.additionalDashboardAnnotations` in `values.yaml`: + +For example: +```yaml +defaultDashboardsEnabled: true + +grafana: + enabled: false + sidecar: + dashboards: + additionalDashboardLabels: + key: value + additionalDashboardAnnotations: + key: value +``` + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). + +* Add dependency chart repositories + +```console +helm repo add grafana https://grafana.github.io/helm-charts +helm repo add prometheus-community https://prometheus-community.github.io/helm-charts +helm repo update +``` + +* PV support on underlying infrastructure. + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-k8s-stack` chart available to installation: + +```console +helm search repo vm/victoria-metrics-k8s-stack -l +``` + +### Install `victoria-metrics-k8s-stack` chart + +Export default values of `victoria-metrics-k8s-stack` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-k8s-stack > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-k8s-stack > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vmks vm/victoria-metrics-k8s-stack -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vmks oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-k8s-stack -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vmks vm/victoria-metrics-k8s-stack -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vmks oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-k8s-stack -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vmks' +``` + +Get the application by running this command: + +```console +helm list -f vmks -n NAMESPACE +``` + +See the history of versions of `vmks` application with command. + +```console +helm history vmks -n NAMESPACE +``` + +### Install locally (Minikube) + +To run VictoriaMetrics stack locally it's possible to use [Minikube](https://github.com/kubernetes/minikube). To avoid dashboards and alert rules issues please follow the steps below: + +Run Minikube cluster + +``` +minikube start --container-runtime=containerd --extra-config=scheduler.bind-address=0.0.0.0 --extra-config=controller-manager.bind-address=0.0.0.0 +``` + +Install helm chart + +``` +helm install [RELEASE_NAME] vm/victoria-metrics-k8s-stack -f values.yaml -f values.minikube.yaml -n NAMESPACE --debug --dry-run +``` + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vmks -n NAMESPACE +``` + +CRDs created by this chart are not removed by default and should be manually cleaned up: + +```console +kubectl get crd | grep victoriametrics.com | awk '{print $1 }' | xargs -i kubectl delete crd {} +``` + +## Troubleshooting + +- If you cannot install helm chart with error `configmap already exist`. It could happen because of name collisions, if you set too long release name. + Kubernetes by default, allows only 63 symbols at resource names and all resource names are trimmed by helm to 63 symbols. + To mitigate it, use shorter name for helm chart release name, like: +```bash +# stack - is short enough +helm upgrade -i stack vm/victoria-metrics-k8s-stack +``` + Or use override for helm chart release name: +```bash +helm upgrade -i some-very-long-name vm/victoria-metrics-k8s-stack --set fullnameOverride=stack +``` + +## Upgrade guide + +Usually, helm upgrade doesn't requires manual actions. Just execute command: + +```console +$ helm upgrade [RELEASE_NAME] vm/victoria-metrics-k8s-stack +``` + +But release with CRD update can only be patched manually with kubectl. +Since helm does not perform a CRD update, we recommend that you always perform this when updating the helm-charts version: + +```console +# 1. check the changes in CRD +$ helm show crds vm/victoria-metrics-k8s-stack --version [YOUR_CHART_VERSION] | kubectl diff -f - + +# 2. apply the changes (update CRD) +$ helm show crds vm/victoria-metrics-k8s-stack --version [YOUR_CHART_VERSION] | kubectl apply -f - --server-side +``` + +All other manual actions upgrades listed below: + +### Upgrade to 0.13.0 + +- node-exporter starting from version 4.0.0 is using the Kubernetes recommended labels. Therefore you have to delete the daemonset before you upgrade. + +```bash +kubectl delete daemonset -l app=prometheus-node-exporter +``` +- scrape configuration for kubernetes components was moved from `vmServiceScrape.spec` section to `spec` section. If you previously modified scrape configuration you need to update your `values.yaml` + +- `grafana.defaultDashboardsEnabled` was renamed to `defaultDashboardsEnabled` (moved to top level). You may need to update it in your `values.yaml` + +### Upgrade to 0.6.0 + + All `CRD` must be update to the lastest version with command: + +```bash +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/helm-charts/master/charts/victoria-metrics-k8s-stack/crds/crd.yaml + +``` + +### Upgrade to 0.4.0 + + All `CRD` must be update to `v1` version with command: + +```bash +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/helm-charts/master/charts/victoria-metrics-k8s-stack/crds/crd.yaml + +``` + +### Upgrade from 0.2.8 to 0.2.9 + + Update `VMAgent` crd + +command: +```bash +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.16.0/config/crd/bases/operator.victoriametrics.com_vmagents.yaml +``` + + ### Upgrade from 0.2.5 to 0.2.6 + +New CRD added to operator - `VMUser` and `VMAuth`, new fields added to exist crd. +Manual commands: +```bash +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.15.0/config/crd/bases/operator.victoriametrics.com_vmusers.yaml +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.15.0/config/crd/bases/operator.victoriametrics.com_vmauths.yaml +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.15.0/config/crd/bases/operator.victoriametrics.com_vmalerts.yaml +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.15.0/config/crd/bases/operator.victoriametrics.com_vmagents.yaml +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.15.0/config/crd/bases/operator.victoriametrics.com_vmsingles.yaml +kubectl apply -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.15.0/config/crd/bases/operator.victoriametrics.com_vmclusters.yaml +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-k8s-stack + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-k8s-stack/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
additionalVictoriaMetricsMapstring
+null
+
+
alertmanager.annotationsobject
+{}
+
+
alertmanager.configobject
+receivers:
+    - name: blackhole
+route:
+    receiver: blackhole
+templates:
+    - /etc/vm/configs/**/*.tmpl
+
+

alertmanager configuration

+
alertmanager.enabledbool
+true
+
+
alertmanager.ingressobject
+annotations: {}
+enabled: false
+extraPaths: []
+hosts:
+    - alertmanager.domain.com
+labels: {}
+path: '{{ .Values.alertmanager.spec.routePrefix | default "/" }}'
+pathType: Prefix
+tls: []
+
+

alertmanager ingress configuration

+
alertmanager.monzoTemplate.enabledbool
+true
+
+
alertmanager.specobject
+configSecret: ""
+externalURL: ""
+image:
+    tag: v0.25.0
+port: "9093"
+routePrefix: /
+selectAllByDefault: true
+
+

full spec for VMAlertmanager CRD. Allowed values described here

+
alertmanager.spec.configSecretstring
+""
+
+

if this one defined, it will be used for alertmanager configuration and config parameter will be ignored

+
alertmanager.templateFilesobject
+{}
+
+

extra alert templates

+
argocdReleaseOverridestring
+""
+
+

For correct working need set value ‘argocdReleaseOverride=$ARGOCD_APP_NAME’

+
coreDns.enabledbool
+true
+
+
coreDns.service.enabledbool
+true
+
+
coreDns.service.portint
+9153
+
+
coreDns.service.selector.k8s-appstring
+kube-dns
+
+
coreDns.service.targetPortint
+9153
+
+
coreDns.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
crds.enabledbool
+true
+
+
dashboardsobject
+node-exporter-full: true
+operator: false
+vmalert: false
+
+

Enable dashboards despite it’s dependency is not installed

+
dashboards.node-exporter-fullbool
+true
+
+

in ArgoCD using client-side apply this dashboard reaches annotations size limit and causes k8s issues without server side apply See this issue

+
defaultDashboardsEnabledbool
+true
+
+

Create default dashboards

+
defaultRulesobject
+alerting:
+    spec:
+        annotations: {}
+        labels: {}
+annotations: {}
+create: true
+group:
+    spec:
+        params: {}
+groups:
+    alertmanager:
+        create: true
+        rules: {}
+    etcd:
+        create: true
+        rules: {}
+    general:
+        create: true
+        rules: {}
+    k8sContainerCpuUsageSecondsTotal:
+        create: true
+        rules: {}
+    k8sContainerMemoryCache:
+        create: true
+        rules: {}
+    k8sContainerMemoryRss:
+        create: true
+        rules: {}
+    k8sContainerMemorySwap:
+        create: true
+        rules: {}
+    k8sContainerMemoryWorkingSetBytes:
+        create: true
+        rules: {}
+    k8sContainerResource:
+        create: true
+        rules: {}
+    k8sPodOwner:
+        create: true
+        rules: {}
+    kubeApiserver:
+        create: true
+        rules: {}
+    kubeApiserverAvailability:
+        create: true
+        rules: {}
+    kubeApiserverBurnrate:
+        create: true
+        rules: {}
+    kubeApiserverHistogram:
+        create: true
+        rules: {}
+    kubeApiserverSlos:
+        create: true
+        rules: {}
+    kubePrometheusGeneral:
+        create: true
+        rules: {}
+    kubePrometheusNodeRecording:
+        create: true
+        rules: {}
+    kubeScheduler:
+        create: true
+        rules: {}
+    kubeStateMetrics:
+        create: true
+        rules: {}
+    kubelet:
+        create: true
+        rules: {}
+    kubernetesApps:
+        create: true
+        rules: {}
+        targetNamespace: .*
+    kubernetesResources:
+        create: true
+        rules: {}
+    kubernetesStorage:
+        create: true
+        rules: {}
+        targetNamespace: .*
+    kubernetesSystem:
+        create: true
+        rules: {}
+    kubernetesSystemApiserver:
+        create: true
+        rules: {}
+    kubernetesSystemControllerManager:
+        create: true
+        rules: {}
+    kubernetesSystemKubelet:
+        create: true
+        rules: {}
+    kubernetesSystemScheduler:
+        create: true
+        rules: {}
+    node:
+        create: true
+        rules: {}
+    nodeNetwork:
+        create: true
+        rules: {}
+    vmHealth:
+        create: true
+        rules: {}
+    vmagent:
+        create: true
+        rules: {}
+    vmcluster:
+        create: true
+        rules: {}
+    vmoperator:
+        create: true
+        rules: {}
+    vmsingle:
+        create: true
+        rules: {}
+labels: {}
+recording:
+    spec:
+        annotations: {}
+        labels: {}
+rule:
+    spec:
+        annotations: {}
+        labels: {}
+rules: {}
+runbookUrl: https://runbooks.prometheus-operator.dev/runbooks
+
+

Create default rules for monitoring the cluster

+
defaultRules.alertingobject
+spec:
+    annotations: {}
+    labels: {}
+
+

Common properties for VMRules alerts

+
defaultRules.alerting.spec.annotationsobject
+{}
+
+

Additional annotations for VMRule alerts

+
defaultRules.alerting.spec.labelsobject
+{}
+
+

Additional labels for VMRule alerts

+
defaultRules.annotationsobject
+{}
+
+

Annotations for default rules

+
defaultRules.groupobject
+spec:
+    params: {}
+
+

Common properties for VMRule groups

+
defaultRules.group.spec.paramsobject
+{}
+
+

Optional HTTP URL parameters added to each rule request

+
defaultRules.groups.etcd.rulesobject
+{}
+
+

Common properties for all rules in a group

+
defaultRules.labelsobject
+{}
+
+

Labels for default rules

+
defaultRules.recordingobject
+spec:
+    annotations: {}
+    labels: {}
+
+

Common properties for VMRules recording rules

+
defaultRules.recording.spec.annotationsobject
+{}
+
+

Additional annotations for VMRule recording rules

+
defaultRules.recording.spec.labelsobject
+{}
+
+

Additional labels for VMRule recording rules

+
defaultRules.ruleobject
+spec:
+    annotations: {}
+    labels: {}
+
+

Common properties for all VMRules

+
defaultRules.rule.spec.annotationsobject
+{}
+
+

Additional annotations for all VMRules

+
defaultRules.rule.spec.labelsobject
+{}
+
+

Additional labels for all VMRules

+
defaultRules.rulesobject
+{}
+
+

Per rule properties

+
defaultRules.runbookUrlstring
+https://runbooks.prometheus-operator.dev/runbooks
+
+

Runbook url prefix for default rules

+
experimentalDashboardsEnabledbool
+true
+
+

Create experimental dashboards

+
externalVM.read.urlstring
+""
+
+
externalVM.write.urlstring
+""
+
+
extraObjectslist
+[]
+
+

Add extra objects dynamically to this chart

+
fullnameOverridestring
+""
+
+
global.clusterLabelstring
+cluster
+
+
global.license.keystring
+""
+
+
global.license.keyRefobject
+{}
+
+
grafana.additionalDataSourceslist
+[]
+
+
grafana.defaultDashboardsTimezonestring
+utc
+
+
grafana.defaultDatasourceTypestring
+prometheus
+
+
grafana.enabledbool
+true
+
+
grafana.forceDeployDatasourcebool
+false
+
+
grafana.ingress.annotationsobject
+{}
+
+
grafana.ingress.enabledbool
+false
+
+
grafana.ingress.extraPathslist
+[]
+
+
grafana.ingress.hosts[0]string
+grafana.domain.com
+
+
grafana.ingress.labelsobject
+{}
+
+
grafana.ingress.pathstring
+/
+
+
grafana.ingress.pathTypestring
+Prefix
+
+
grafana.ingress.tlslist
+[]
+
+
grafana.sidecar.dashboards.additionalDashboardAnnotationsobject
+{}
+
+
grafana.sidecar.dashboards.additionalDashboardLabelsobject
+{}
+
+
grafana.sidecar.dashboards.defaultFolderNamestring
+default
+
+
grafana.sidecar.dashboards.enabledbool
+true
+
+
grafana.sidecar.dashboards.folderstring
+/var/lib/grafana/dashboards
+
+
grafana.sidecar.dashboards.multiclusterbool
+false
+
+
grafana.sidecar.dashboards.provider.namestring
+default
+
+
grafana.sidecar.dashboards.provider.orgidint
+1
+
+
grafana.sidecar.datasources.createVMReplicasDatasourcesbool
+false
+
+
grafana.sidecar.datasources.defaultlist
+- isDefault: true
+  name: VictoriaMetrics
+- isDefault: false
+  name: VictoriaMetrics (DS)
+  type: victoriametrics-datasource
+
+

list of default prometheus compatible datasource configurations. VM url will be added to each of them in templates and type will be set to defaultDatasourceType if not defined

+
grafana.sidecar.datasources.enabledbool
+true
+
+
grafana.sidecar.datasources.initDatasourcesbool
+true
+
+
grafana.vmScrapeobject
+enabled: true
+spec:
+    endpoints:
+        - port: '{{ .Values.grafana.service.portName }}'
+    selector:
+        matchLabels:
+            app.kubernetes.io/name: '{{ include "grafana.name" .Subcharts.grafana }}'
+
+

grafana VM scrape config

+
grafana.vmScrape.specobject
+endpoints:
+    - port: '{{ .Values.grafana.service.portName }}'
+selector:
+    matchLabels:
+        app.kubernetes.io/name: '{{ include "grafana.name" .Subcharts.grafana }}'
+
+

Scrape configuration for Grafana

+
grafanaOperatorDashboardsFormatobject
+allowCrossNamespaceImport: false
+enabled: false
+instanceSelector:
+    matchLabels:
+        dashboards: grafana
+
+

Create dashboards as CRDs (reuqires grafana-operator to be installed)

+
kube-state-metrics.enabledbool
+true
+
+
kube-state-metrics.vmScrapeobject
+enabled: true
+spec:
+    endpoints:
+        - honorLabels: true
+          metricRelabelConfigs:
+            - action: labeldrop
+              regex: (uid|container_id|image_id)
+          port: http
+    jobLabel: app.kubernetes.io/name
+    selector:
+        matchLabels:
+            app.kubernetes.io/instance: '{{ include "vm.release" . }}'
+            app.kubernetes.io/name: '{{ include "kube-state-metrics.name" (index .Subcharts "kube-state-metrics") }}'
+
+

Scrape configuration for Kube State Metrics

+
kubeApiServer.enabledbool
+true
+
+
kubeApiServer.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: https
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            serverName: kubernetes
+    jobLabel: component
+    namespaceSelector:
+        matchNames:
+            - default
+    selector:
+        matchLabels:
+            component: apiserver
+            provider: kubernetes
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeControllerManager.enabledbool
+true
+
+
kubeControllerManager.endpointslist
+[]
+
+
kubeControllerManager.service.enabledbool
+true
+
+
kubeControllerManager.service.portint
+10257
+
+
kubeControllerManager.service.selector.componentstring
+kube-controller-manager
+
+
kubeControllerManager.service.targetPortint
+10257
+
+
kubeControllerManager.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            serverName: kubernetes
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeDns.enabledbool
+false
+
+
kubeDns.service.enabledbool
+false
+
+
kubeDns.service.ports.dnsmasq.portint
+10054
+
+
kubeDns.service.ports.dnsmasq.targetPortint
+10054
+
+
kubeDns.service.ports.skydns.portint
+10055
+
+
kubeDns.service.ports.skydns.targetPortint
+10055
+
+
kubeDns.service.selector.k8s-appstring
+kube-dns
+
+
kubeDns.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics-dnsmasq
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics-skydns
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeEtcd.enabledbool
+true
+
+
kubeEtcd.endpointslist
+[]
+
+
kubeEtcd.service.enabledbool
+true
+
+
kubeEtcd.service.portint
+2379
+
+
kubeEtcd.service.selector.componentstring
+etcd
+
+
kubeEtcd.service.targetPortint
+2379
+
+
kubeEtcd.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeProxy.enabledbool
+false
+
+
kubeProxy.endpointslist
+[]
+
+
kubeProxy.service.enabledbool
+true
+
+
kubeProxy.service.portint
+10249
+
+
kubeProxy.service.selector.k8s-appstring
+kube-proxy
+
+
kubeProxy.service.targetPortint
+10249
+
+
kubeProxy.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeScheduler.enabledbool
+true
+
+
kubeScheduler.endpointslist
+[]
+
+
kubeScheduler.service.enabledbool
+true
+
+
kubeScheduler.service.portint
+10259
+
+
kubeScheduler.service.selector.componentstring
+kube-scheduler
+
+
kubeScheduler.service.targetPortint
+10259
+
+
kubeScheduler.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubelet.enabledbool
+true
+
+
kubelet.vmScrapeobject
+kind: VMNodeScrape
+spec:
+    bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+    honorLabels: true
+    honorTimestamps: false
+    interval: 30s
+    metricRelabelConfigs:
+        - action: labeldrop
+          regex: (uid)
+        - action: labeldrop
+          regex: (id|name)
+        - action: drop
+          regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)
+          source_labels:
+            - __name__
+    relabelConfigs:
+        - action: labelmap
+          regex: __meta_kubernetes_node_label_(.+)
+        - sourceLabels:
+            - __metrics_path__
+          targetLabel: metrics_path
+        - replacement: kubelet
+          targetLabel: job
+    scheme: https
+    scrapeTimeout: 5s
+    tlsConfig:
+        caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        insecureSkipVerify: true
+
+

spec for VMNodeScrape crd https://docs.victoriametrics.com/operator/api.html#vmnodescrapespec

+
kubelet.vmScrapes.cadvisorobject
+enabled: true
+spec:
+    path: /metrics/cadvisor
+
+

Enable scraping /metrics/cadvisor from kubelet’s service

+
kubelet.vmScrapes.kubelet.specobject
+{}
+
+
kubelet.vmScrapes.probesobject
+enabled: true
+spec:
+    path: /metrics/probes
+
+

Enable scraping /metrics/probes from kubelet’s service

+
nameOverridestring
+""
+
+
prometheus-node-exporter.enabledbool
+true
+
+
prometheus-node-exporter.extraArgs[0]string
+--collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
+
+
prometheus-node-exporter.extraArgs[1]string
+--collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
+
+
prometheus-node-exporter.service.labels.jobLabelstring
+node-exporter
+
+
prometheus-node-exporter.vmScrapeobject
+enabled: true
+spec:
+    endpoints:
+        - metricRelabelConfigs:
+            - action: drop
+              regex: /var/lib/kubelet/pods.+
+              source_labels:
+                - mountpoint
+          port: metrics
+    jobLabel: jobLabel
+    selector:
+        matchLabels:
+            app.kubernetes.io/name: '{{ include "prometheus-node-exporter.name" (index .Subcharts "prometheus-node-exporter") }}'
+
+

node exporter VM scrape config

+
prometheus-node-exporter.vmScrape.specobject
+endpoints:
+    - metricRelabelConfigs:
+        - action: drop
+          regex: /var/lib/kubelet/pods.+
+          source_labels:
+            - mountpoint
+      port: metrics
+jobLabel: jobLabel
+selector:
+    matchLabels:
+        app.kubernetes.io/name: '{{ include "prometheus-node-exporter.name" (index .Subcharts "prometheus-node-exporter") }}'
+
+

Scrape configuration for Node Exporter

+
prometheus-operator-crds.enabledbool
+false
+
+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+""
+
+

If not set and create is true, a name is generated using the fullname template

+
tenantstring
+"0"
+
+
victoria-metrics-operatorobject
+crd:
+    cleanup:
+        enabled: true
+        image:
+            pullPolicy: IfNotPresent
+            repository: bitnami/kubectl
+    create: false
+enabled: true
+operator:
+    disable_prometheus_converter: false
+serviceMonitor:
+    enabled: true
+
+

also checkout here possible ENV variables to configure operator behaviour https://docs.victoriametrics.com/operator/vars

+
victoria-metrics-operator.crd.cleanupobject
+enabled: true
+image:
+    pullPolicy: IfNotPresent
+    repository: bitnami/kubectl
+
+

tells helm to clean up vm cr resources when uninstalling

+
victoria-metrics-operator.crd.createbool
+false
+
+

we disable crd creation by operator chart as we create them in this chart

+
victoria-metrics-operator.operator.disable_prometheus_converterbool
+false
+
+

By default, operator converts prometheus-operator objects.

+
vmagent.additionalRemoteWriteslist
+[]
+
+

remoteWrite configuration of VMAgent, allowed parameters defined in a spec

+
vmagent.annotationsobject
+{}
+
+
vmagent.enabledbool
+true
+
+
vmagent.ingressobject
+annotations: {}
+enabled: false
+extraPaths: []
+hosts:
+    - vmagent.domain.com
+labels: {}
+path: ""
+pathType: Prefix
+tls: []
+
+

vmagent ingress configuration

+
vmagent.ingress.extraPathslist
+[]
+
+

Extra paths to prepend to every host configuration. This is useful when working with annotation based services.

+
vmagent.specobject
+externalLabels: {}
+extraArgs:
+    promscrape.dropOriginalLabels: "true"
+    promscrape.streamParse: "true"
+image:
+    tag: v1.103.0
+port: "8429"
+scrapeInterval: 20s
+selectAllByDefault: true
+
+

full spec for VMAgent CRD. Allowed values described here

+
vmalert.additionalNotifierConfigsobject
+{}
+
+
vmalert.annotationsobject
+{}
+
+
vmalert.enabledbool
+true
+
+
vmalert.ingressobject
+annotations: {}
+enabled: false
+extraPaths: []
+hosts:
+    - vmalert.domain.com
+labels: {}
+path: ""
+pathType: Prefix
+tls: []
+
+

vmalert ingress config

+
vmalert.remoteWriteVMAgentbool
+false
+
+
vmalert.specobject
+evaluationInterval: 15s
+externalLabels: {}
+extraArgs:
+    http.pathPrefix: /
+image:
+    tag: v1.103.0
+port: "8080"
+selectAllByDefault: true
+
+

full spec for VMAlert CRD. Allowed values described here

+
vmalert.templateFilesobject
+{}
+
+

extra vmalert annotation templates

+
vmauth.annotationsobject
+{}
+
+
vmauth.enabledbool
+false
+
+
vmauth.specobject
+discover_backend_ips: true
+port: "8427"
+
+

full spec for VMAuth CRD. Allowed values described here

+
vmcluster.annotationsobject
+{}
+
+
vmcluster.enabledbool
+false
+
+
vmcluster.ingress.insert.annotationsobject
+{}
+
+
vmcluster.ingress.insert.enabledbool
+false
+
+
vmcluster.ingress.insert.extraPathslist
+[]
+
+
vmcluster.ingress.insert.hosts[0]string
+vminsert.domain.com
+
+
vmcluster.ingress.insert.labelsobject
+{}
+
+
vmcluster.ingress.insert.pathstring
+'{{ dig "extraArgs" "http.pathPrefix" "/" .Values.vmcluster.spec.vminsert }}'
+
+
vmcluster.ingress.insert.pathTypestring
+Prefix
+
+
vmcluster.ingress.insert.tlslist
+[]
+
+
vmcluster.ingress.select.annotationsobject
+{}
+
+
vmcluster.ingress.select.enabledbool
+false
+
+
vmcluster.ingress.select.extraPathslist
+[]
+
+
vmcluster.ingress.select.hosts[0]string
+vmselect.domain.com
+
+
vmcluster.ingress.select.labelsobject
+{}
+
+
vmcluster.ingress.select.pathstring
+'{{ dig "extraArgs" "http.pathPrefix" "/" .Values.vmcluster.spec.vmselect }}'
+
+
vmcluster.ingress.select.pathTypestring
+Prefix
+
+
vmcluster.ingress.select.tlslist
+[]
+
+
vmcluster.ingress.storage.annotationsobject
+{}
+
+
vmcluster.ingress.storage.enabledbool
+false
+
+
vmcluster.ingress.storage.extraPathslist
+[]
+
+
vmcluster.ingress.storage.hosts[0]string
+vmstorage.domain.com
+
+
vmcluster.ingress.storage.labelsobject
+{}
+
+
vmcluster.ingress.storage.pathstring
+""
+
+
vmcluster.ingress.storage.pathTypestring
+Prefix
+
+
vmcluster.ingress.storage.tlslist
+[]
+
+
vmcluster.specobject
+replicationFactor: 2
+retentionPeriod: "1"
+vminsert:
+    extraArgs: {}
+    image:
+        tag: v1.103.0-cluster
+    port: "8480"
+    replicaCount: 2
+    resources: {}
+vmselect:
+    cacheMountPath: /select-cache
+    extraArgs: {}
+    image:
+        tag: v1.103.0-cluster
+    port: "8481"
+    replicaCount: 2
+    resources: {}
+    storage:
+        volumeClaimTemplate:
+            spec:
+                resources:
+                    requests:
+                        storage: 2Gi
+vmstorage:
+    image:
+        tag: v1.103.0-cluster
+    replicaCount: 2
+    resources: {}
+    storage:
+        volumeClaimTemplate:
+            spec:
+                resources:
+                    requests:
+                        storage: 10Gi
+    storageDataPath: /vm-data
+
+

full spec for VMCluster CRD. Allowed values described here

+
vmcluster.spec.retentionPeriodstring
+"1"
+
+

Data retention period. Possible units character: h(ours), d(ays), w(eeks), y(ears), if no unit character specified - month. The minimum retention period is 24h. See these docs

+
vmsingle.annotationsobject
+{}
+
+
vmsingle.enabledbool
+true
+
+
vmsingle.ingress.annotationsobject
+{}
+
+
vmsingle.ingress.enabledbool
+false
+
+
vmsingle.ingress.extraPathslist
+[]
+
+
vmsingle.ingress.hosts[0]string
+vmsingle.domain.com
+
+
vmsingle.ingress.labelsobject
+{}
+
+
vmsingle.ingress.pathstring
+""
+
+
vmsingle.ingress.pathTypestring
+Prefix
+
+
vmsingle.ingress.tlslist
+[]
+
+
vmsingle.specobject
+extraArgs: {}
+image:
+    tag: v1.103.0
+port: "8429"
+replicaCount: 1
+retentionPeriod: "1"
+storage:
+    accessModes:
+        - ReadWriteOnce
+    resources:
+        requests:
+            storage: 20Gi
+
+

full spec for VMSingle CRD. Allowed values describe here

+
vmsingle.spec.retentionPeriodstring
+"1"
+
+

Data retention period. Possible units character: h(ours), d(ays), w(eeks), y(ears), if no unit character specified - month. The minimum retention period is 24h. See these docs

+
+ diff --git a/docs/helm/victoria-metrics-k8s-stack/RELEASE_GUIDE.md b/docs/helm/victoria-metrics-k8s-stack/RELEASE_GUIDE.md new file mode 100644 index 000000000..12e01eb53 --- /dev/null +++ b/docs/helm/victoria-metrics-k8s-stack/RELEASE_GUIDE.md @@ -0,0 +1,40 @@ +# Release process guidance + +## Update version for VictoriaMetrics kubernetes monitoring stack + +1. Update dependency requirements in [Chart.yml](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/Chart.yaml) +2. Apply changes via `helm dependency update` +3. Update image tag in chart values: + +
+ + ```console + make sync-rules + make sync-dashboards + ``` +
+4. Bump version of the victoria-metrics-k8s-stack [Chart.yml](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/Chart.yaml) +5. Run linter: + +
+ + ```console + make lint + ``` + +
+6. Render templates locally to check for errors: + +
+ + ```console + helm template vm-k8s-stack ./charts/victoria-metrics-k8s-stack --output-dir out --values ./charts/victoria-metrics-k8s-stack/values.yaml --debug + ``` + +
+7. Test updated chart by installing it to your kubernetes cluster. +8. Update docs with + ```console + helm-docs + ``` +9. Commit the changes and send a [PR](https://github.com/VictoriaMetrics/helm-charts/pulls) diff --git a/docs/helm/victoria-metrics-k8s-stack/_changelog.md b/docs/helm/victoria-metrics-k8s-stack/_changelog.md new file mode 100644 index 000000000..79e80b887 --- /dev/null +++ b/docs/helm/victoria-metrics-k8s-stack/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-k8s-stack-changelog + parent: helm-victoriametrics-k8s-stack +url: /helm/victoriametrics-k8s-stack/changelog +aliases: + - /helm/victoriametrics-k8s-stack/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-k8s-stack/_index.md b/docs/helm/victoria-metrics-k8s-stack/_index.md new file mode 100644 index 000000000..d23dc8331 --- /dev/null +++ b/docs/helm/victoria-metrics-k8s-stack/_index.md @@ -0,0 +1,13 @@ +--- +weight: 9 +title: VictoriaMetrics K8s Stack +menu: + docs: + parent: helm + weight: 9 + identifier: helm-victoriametrics-k8s-stack +url: /helm/victoriametrics-k8s-stack +aliases: + - /helm/victoriametrics-k8s-stack/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-k8s-stack/todo.md b/docs/helm/victoria-metrics-k8s-stack/todo.md new file mode 100644 index 000000000..33f0a4709 --- /dev/null +++ b/docs/helm/victoria-metrics-k8s-stack/todo.md @@ -0,0 +1,26 @@ +### plans + +* [x] VMCluster +* [x] VMSingle +* [x] VMAgent +* [x] VMAlert +* [x] AlertManager +* [x] Annotations +* [x] ServiceScrapes + * [x] Nodeexporter + * [x] Grafana + * [x] kube-state-metrics + * [x] kube-mixin + * [x] core-dns +* [x] Grafana DS +* [x] Dashboards + * [x] Nodeexporter + * [x] kube-state-metrics + * [x] kube-mixin +* [x] Rules + * [x] kube-mixin + * [x] kube-prometheus + * [x] victoria-metrics +* [ ] ServiceAccounts stuff +* [ ] SelectorOvverride for ServiceScrapes +* [ ] helm hook for uninstall crd objects before chart remove diff --git a/docs/helm/victoria-metrics-operator/CHANGELOG.md b/docs/helm/victoria-metrics-operator/CHANGELOG.md new file mode 100644 index 000000000..db8b6941d --- /dev/null +++ b/docs/helm/victoria-metrics-operator/CHANGELOG.md @@ -0,0 +1,545 @@ +## Next release + +- Made webhook port configurable. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1506) +- Changed crd cleanup hook delete policy to prevent `resource already exists` error. + +## 0.34.8 + +**Release date:** 2024-09-10 + +![AppVersion: v0.47.3](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables +- Fixed template for cert-manager certificates +- Fixed operator Role creation when only watching own namespace using `watchNamespaces` +- Changed webhook service port from 443 to 9443 + +## 0.34.7 + +**Release date:** 2024-09-03 + +![AppVersion: v0.47.3](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Do not create ClusterRole if `watchNamespaces` contains only namespace, where operator is deployed + +## 0.34.6 + +**Release date:** 2024-08-29 + +![AppVersion: v0.47.3](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to [v0.47.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.3) version +- Made `cleanupCRD` deprecated in a favour of `crd.cleanup.enabled` +- Made `cleanupImage` deprecated in a favour of `crd.cleanup.image` +- Made `watchNamespace` string deprecated in a favour of `watchNamespaces` slice +- Decreased rendering time by 2 seconds + +## 0.34.5 + +**Release date:** 2024-08-26 + +![AppVersion: v0.47.2](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixes typo at clean webhook. vmlogs->vlogs. + +## 0.34.4 + +**Release date:** 2024-08-26 + +![AppVersion: v0.47.2](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fixes RBAC by rollback + +## 0.34.3 + +**Release date:** 2024-08-26 + +![AppVersion: v0.47.2](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- removes not implemented scrape CRDs from validation webhook + +## 0.34.2 + +**Release date:** 2024-08-26 + +![AppVersion: v0.47.2](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- set `admissionWebhooks.keepTLSSecret` to `true` by default +- fixed indent, for Issuer crd, when `cert-manager.enabled: true` +- updates operator to [v0.47.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.2) version + +## 0.34.1 + +**Release date:** 2024-08-23 + +![AppVersion: v0.47.1](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: main container name was changed to `operator`, which will recreate a pod. + +- Updated operator to v0.47.1 release +- Added global imagePullSecrets and image.registry +- Use static container names in a pod +- Updated operator service scrape config +- Added `.Values.vmstorage.service.ipFamilies` and `.Values.vmstorage.service.ipFamilyPolicy` for service IP family management +- Enabled webhook by default +- Generate webhook certificate when Cert Manager is not enabled +- Added ability to configure container port +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) + +## 0.34.0 + +**Release date:** 2024-08-15 + +![AppVersion: v0.47.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.47.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Set minimal kubernetes version to 1.25 +- Removed support for policy/v1beta1/PodDisruptionBudget +- Added configurable probes at `.Values.probe` +- updates operator to [v0.47.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.0) release +- adds RBAC permissions to VLogs object + +## 0.33.6 + +**Release date:** 2024-08-07 + +![AppVersion: v0.46.4](https://img.shields.io/static/v1?label=AppVersion&message=v0.46.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- add missing permission to allow patching `horizontalpodautoscalers` when operator watches single namespace. + +## 0.33.5 + +**Release date:** 2024-08-01 + +![AppVersion: v0.46.4](https://img.shields.io/static/v1?label=AppVersion&message=v0.46.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix cleanup job image tag when `.Capabilities.KubeVersion.Minor` returns version with plus sign. See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1169) by @dimaslv. + +## 0.33.4 + +**Release date:** 2024-07-10 + +![AppVersion: v0.46.4](https://img.shields.io/static/v1?label=AppVersion&message=v0.46.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to [v0.46.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.4) release + +## 0.33.3 + +**Release date:** 2024-07-05 + +![AppVersion: v0.46.3](https://img.shields.io/static/v1?label=AppVersion&message=v0.46.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to [v0.46.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.3) release + +## 0.33.2 + +**Release date:** 2024-07-04 + +![AppVersion: v0.46.2](https://img.shields.io/static/v1?label=AppVersion&message=v0.46.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- breaking change: operator uses different entrypoint, remove `command` entrypoint +- breaking change: operator uses new flag for leader election `leader-elect` +- removes podsecurity policy. It's longer supported by kubernetes +- updates operator to [v0.46.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.2) release + +## 0.33.1 + +**Release date:** 2024-07-03 + +![AppVersion: v0.46.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.46.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- breaking change: operator uses different entrypoint, remove `command` entrypoint +- breaking change: operator uses new flag for leader election `leader-elect` +- removes podsecurity policy. It's longer supported by kubernetes +- updates operator to [v0.46.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.0) release + +## 0.32.3 + +**Release date:** 2024-07-02 + +![AppVersion: v0.45.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.45.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- use bitnami/kubectl image for cleanup instead of deprecated gcr.io/google_containers/hyperkube + +## 0.32.2 + +**Release date:** 2024-06-14 + +![AppVersion: v0.45.0](https://img.shields.io/static/v1?label=AppVersion&message=v0.45.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix default image tag when using `Chart.AppVersion`, previously the version is missing "v". + +## 0.32.1 + +**Release date:** 2024-06-14 + +![AppVersion: 0.45.0](https://img.shields.io/static/v1?label=AppVersion&message=0.45.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values..image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values..image.tag` to automatically use the version specified in `.Chart.AppVersion`. + +- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values..image.variant`. + +## 0.32.0 + +**Release date:** 2024-06-10 + +![AppVersion: 0.45.0](https://img.shields.io/static/v1?label=AppVersion&message=0.45.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to [v0.45.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.45.0) + +## 0.31.2 + +**Release date:** 2024-05-14 + +![AppVersion: 0.44.0](https://img.shields.io/static/v1?label=AppVersion&message=0.44.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix missing serviceaccounts patch permission in ClusterRole, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1012) for details. + +## 0.31.1 + +**Release date:** 2024-05-10 + +![AppVersion: 0.44.0](https://img.shields.io/static/v1?label=AppVersion&message=0.44.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix serviceAccount template when `.Values.serviceAccount.create=false`, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1002) by @tylerturk for details. +- support creating aggregated clusterRoles for VM CRDs with admin and read permissions, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/996) by @reegnz for details. + +## 0.31.0 + +**Release date:** 2024-05-09 + +![AppVersion: 0.44.0](https://img.shields.io/static/v1?label=AppVersion&message=0.44.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to [v0.44.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.44.0) + +## 0.30.3 + +**Release date:** 2024-04-26 + +![AppVersion: 0.43.5](https://img.shields.io/static/v1?label=AppVersion&message=0.43.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to [v0.43.5](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.5) + +## 0.30.2 + +**Release date:** 2024-04-23 + +![AppVersion: 0.43.3](https://img.shields.io/static/v1?label=AppVersion&message=0.43.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to v0.43.1 version +- fixes typo at single-namespace role for `vmscrapeconfig`. See this [issue](https://github.com/VictoriaMetrics/helm-charts/issues/987) for details. + +## 0.30.1 + +**Release date:** 2024-04-18 + +![AppVersion: 0.43.1](https://img.shields.io/static/v1?label=AppVersion&message=0.43.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- TODO + +- updates operator to v0.43.1 version + +## 0.30.0 + +**Release date:** 2024-04-18 + +![AppVersion: 0.43.0](https://img.shields.io/static/v1?label=AppVersion&message=0.43.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator to v0.43.0-0 version +- adds `events` create permission +- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters. + +## 0.29.6 + +**Release date:** 2024-04-16 + +![AppVersion: 0.42.4](https://img.shields.io/static/v1?label=AppVersion&message=0.42.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- clean up vmauth as well when uninstall chart with `cleanupCRD: true`, since it also has `finalizers`. +- sync new crd VMScrapeConfig from operator, see detail in . + +## 0.29.5 + +**Release date:** 2024-04-02 + +![AppVersion: 0.42.4](https://img.shields.io/static/v1?label=AppVersion&message=0.42.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.42.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.4) + +## 0.29.4 + +**Release date:** 2024-03-28 + +![AppVersion: 0.42.3](https://img.shields.io/static/v1?label=AppVersion&message=0.42.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to use slice variables in extraArgs (#944) + +## 0.29.3 + +**Release date:** 2024-03-12 + +![AppVersion: 0.42.3](https://img.shields.io/static/v1?label=AppVersion&message=0.42.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- TODO + +## 0.29.2 + +**Release date:** 2024-03-06 + +![AppVersion: 0.42.2](https://img.shields.io/static/v1?label=AppVersion&message=0.42.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.42.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.2) + +## 0.29.0 + +**Release date:** 2024-03-06 + +![AppVersion: 0.42.1](https://img.shields.io/static/v1?label=AppVersion&message=0.42.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.42.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.1) + +## 0.29.0 + +**Release date:** 2024-03-04 + +![AppVersion: 0.42.0](https://img.shields.io/static/v1?label=AppVersion&message=0.42.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.42.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.0) + +## 0.28.1 + +**Release date:** 2024-02-21 + +![AppVersion: 0.41.2](https://img.shields.io/static/v1?label=AppVersion&message=0.41.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.41.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.41.2) + +## 0.28.0 + +**Release date:** 2024-02-09 + +![AppVersion: 0.41.1](https://img.shields.io/static/v1?label=AppVersion&message=0.41.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update victoriametrics CRD resources yaml. + +## 0.27.11 + +**Release date:** 2024-02-01 + +![AppVersion: 0.41.1](https://img.shields.io/static/v1?label=AppVersion&message=0.41.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.41.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.41.1) + +## 0.27.10 + +**Release date:** 2024-01-24 + +![AppVersion: 0.40.0](https://img.shields.io/static/v1?label=AppVersion&message=0.40.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump operator version to [0.40.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.40.0) + +## 0.27.9 + +**Release date:** 2023-12-12 + +![AppVersion: 0.39.4](https://img.shields.io/static/v1?label=AppVersion&message=0.39.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.39.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.4) + +## 0.27.8 + +**Release date:** 2023-12-08 + +![AppVersion: 0.39.3](https://img.shields.io/static/v1?label=AppVersion&message=0.39.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Sync CRD resources with operator [v0.39.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.3). + +## 0.27.7 + +**Release date:** 2023-12-08 + +![AppVersion: 0.39.3](https://img.shields.io/static/v1?label=AppVersion&message=0.39.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Skip deleting victoriametrics CRD resources when uninstall release. + +## 0.27.6 + +**Release date:** 2023-11-16 + +![AppVersion: 0.39.3](https://img.shields.io/static/v1?label=AppVersion&message=0.39.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.39.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.3) + +## 0.27.5 + +**Release date:** 2023-11-15 + +![AppVersion: 0.39.2](https://img.shields.io/static/v1?label=AppVersion&message=0.39.2&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.39.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.2) +- Add `extraObjects` to allow deploying additional resources with the chart release. (#751) + +## 0.27.4 + +**Release date:** 2023-11-01 + +![AppVersion: 0.39.1](https://img.shields.io/static/v1?label=AppVersion&message=0.39.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.39.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.1) + +## 0.27.3 + +**Release date:** 2023-10-08 + +![AppVersion: 0.39.0](https://img.shields.io/static/v1?label=AppVersion&message=0.39.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added endpointslices permissions to operator roles (#708) + +## 0.27.2 + +**Release date:** 2023-10-04 + +![AppVersion: 0.39.0](https://img.shields.io/static/v1?label=AppVersion&message=0.39.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM operator to [0.39.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.0) + +## 0.27.1 + +**Release date:** 2023-09-28 + +![AppVersion: 0.38.0](https://img.shields.io/static/v1?label=AppVersion&message=0.38.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix `relabelConfigs` for operator's VMServiceScrape (#624) + +## 0.27.0 + +**Release date:** 2023-09-11 + +![AppVersion: 0.38.0](https://img.shields.io/static/v1?label=AppVersion&message=0.38.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of operator to [v0.38.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.38.0) + +## 0.26.2 + +**Release date:** 2023-09-07 + +![AppVersion: 0.37.1](https://img.shields.io/static/v1?label=AppVersion&message=0.37.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Updated CRDs for operator + +## 0.26.1 + +**Release date:** 2023-09-04 + +![AppVersion: 0.37.1](https://img.shields.io/static/v1?label=AppVersion&message=0.37.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of Victoria Metrics operator to `v0.37.1` + +## 0.26.0 + +**Release date:** 2023-08-30 + +![AppVersion: 0.37.0](https://img.shields.io/static/v1?label=AppVersion&message=0.37.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump operator version to [v0.37.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.37.0) +- `psp_auto_creation_enabled` for operator is disabled by default + +## 0.25.0 + +**Release date:** 2023-08-24 + +![AppVersion: 0.36.0](https://img.shields.io/static/v1?label=AppVersion&message=0.36.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added `topologySpreadConstraints` for the operator + a small refactoring (#611) +- Fix vm operator appVersion (#589) +- Fixes operator doc description +- Add `cleanupCRD` option to clean up vm cr resources when uninstalling (#593) +- Bump operator version to [v0.36.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.36.0) + +## 0.24.1 + +**Release date:** 2023-07-13 + +![AppVersion: 0.35.](https://img.shields.io/static/v1?label=AppVersion&message=0.35.&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- operator release v0.35.1 + +## 0.24.0 + +**Release date:** 2023-07-03 + +![AppVersion: 0.35.0](https://img.shields.io/static/v1?label=AppVersion&message=0.35.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator for v0.35.0 +- updates for v1.91.1 release + +## 0.23.1 + +**Release date:** 2023-05-29 + +![AppVersion: 0.34.1](https://img.shields.io/static/v1?label=AppVersion&message=0.34.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- updates operator for v0.34.1 version + +## 0.23.0 + +**Release date:** 2023-05-25 + +![AppVersion: 0.34.0](https://img.shields.io/static/v1?label=AppVersion&message=0.34.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump operator version +- feat(operator): add PodDisruptionBudget (#546) diff --git a/docs/helm/victoria-metrics-operator/README.md b/docs/helm/victoria-metrics-operator/README.md new file mode 100644 index 000000000..ce9289ebe --- /dev/null +++ b/docs/helm/victoria-metrics-operator/README.md @@ -0,0 +1,918 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.34.8](https://img.shields.io/badge/Version-0.34.8-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-operator) + +Victoria Metrics Operator + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). +* PV support on underlying infrastructure. + +## ArgoCD issues + +When running operator using ArgoCD without Cert Manager (`.Values.admissionWebhooks.certManager.enabled: false`) it will rerender webhook certificates +on each sync since Helm `lookup` function is not respected by ArgoCD. To prevent this please update you operator Application `spec.syncPolicy` and `spec.ignoreDifferences` with a following: + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: Application +... +spec: + ... + syncPolicy: + syncOptions: + # https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/#respect-ignore-difference-configs + # argocd must also ignore difference during apply stage + # otherwise it ll silently override changes and cause a problem + - RespectIgnoreDifferences=true + ignoreDifferences: + - group: "" + kind: Secret + name: -validation + namespace: kube-system + jsonPointers: + - /data + - group: admissionregistration.k8s.io + kind: ValidatingWebhookConfiguration + name: -admission + jqPathExpressions: + - '.webhooks[]?.clientConfig.caBundle' +``` +where `` is output of `{{ include "vm-operator.fullname" }}` for your setup + +## Upgrade guide + + During release an issue with helm CRD was discovered. So for upgrade from version less then 0.1.3 you have to two options: + 1) use helm management for CRD, enabled by default. + 2) use own management system, need to add variable: --set createCRD=false. + +If you choose helm management, following steps must be done before upgrade: + +1) define namespace and helm release name variables + +``` +export NAMESPACE=default +export RELEASE_NAME=operator +``` + +execute kubectl commands: + +``` +kubectl get crd | grep victoriametrics.com | awk '{print $1 }' | xargs -i kubectl label crd {} app.kubernetes.io/managed-by=Helm --overwrite +kubectl get crd | grep victoriametrics.com | awk '{print $1 }' | xargs -i kubectl annotate crd {} meta.helm.sh/release-namespace="$NAMESPACE" meta.helm.sh/release-name="$RELEASE_NAME" --overwrite +``` + +run helm upgrade command. + +## Chart Details + +This chart will do the following: + +* Rollout victoria metrics operator + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-operator` chart available to installation: + +```console +helm search repo vm/victoria-metrics-operator -l +``` + +### Install `victoria-metrics-operator` chart + +Export default values of `victoria-metrics-operator` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-operator > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-operator > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vmo vm/victoria-metrics-operator -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vmo oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-operator -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vmo vm/victoria-metrics-operator -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vmo oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-operator -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vmo' +``` + +Get the application by running this command: + +```console +helm list -f vmo -n NAMESPACE +``` + +See the history of versions of `vmo` application with command. + +```console +helm history vmo -n NAMESPACE +``` + +## Validation webhook + + Its possible to use validation of created resources with operator. For now, you need cert-manager to easily certificate management https://cert-manager.io/docs/ + +```yaml +admissionWebhooks: + enabled: true + # what to do in case, when operator not available to validate request. + certManager: + # enables cert creation and injection by cert-manager + enabled: true +``` + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vmo -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-operator + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-operator/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
admissionWebhooksobject
+certManager:
+    enabled: false
+    issuer: {}
+enabled: true
+enabledCRDValidation:
+    vlogs: true
+    vmagent: true
+    vmalert: true
+    vmalertmanager: true
+    vmalertmanagerconfig: true
+    vmauth: true
+    vmcluster: true
+    vmrule: true
+    vmsingle: true
+    vmuser: true
+keepTLSSecret: true
+policy: Fail
+tls:
+    caCert: null
+    cert: null
+    key: null
+
+

Configures resource validation

+
admissionWebhooks.certManagerobject
+enabled: false
+issuer: {}
+
+

with keys: tls.key, tls.crt, ca.crt

+
admissionWebhooks.certManager.enabledbool
+false
+
+

Enables cert creation and injection by cert-manager.

+
admissionWebhooks.certManager.issuerobject
+{}
+
+

If needed, provide own issuer. Operator will create self-signed if empty.

+
admissionWebhooks.enabledbool
+true
+
+

Enables validation webhook.

+
admissionWebhooks.policystring
+Fail
+
+

What to do in case, when operator not available to validate request.

+
affinityobject
+{}
+
+

Pod affinity

+
annotationsobject
+{}
+
+

Annotations to be added to the all resources

+
crd.cleanup.enabledbool
+false
+
+

Tells helm to clean up all the vm resources under this release’s namespace when uninstalling

+
crd.cleanup.imageobject
+pullPolicy: IfNotPresent
+repository: bitnami/kubectl
+tag: ""
+
+

Image configuration for CRD cleanup Job

+
crd.createbool
+true
+
+

with this option, if you remove this chart, all crd resources will be deleted with it.

+
envlist
+[]
+
+

extra settings for the operator deployment. Full list here

+
envFromlist
+[]
+
+
extraArgsobject
+{}
+
+

operator container additional commandline arguments

+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraLabelsobject
+{}
+
+

Labels to be added to the all resources

+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+

Overrides the full name of server component

+
global.cluster.dnsDomainstring
+cluster.local
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
imageobject
+pullPolicy: IfNotPresent
+registry: ""
+repository: victoriametrics/operator
+tag: ""
+variant: ""
+
+

operator image configuration

+
image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
image.registrystring
+""
+
+

Image registry

+
image.repositorystring
+victoriametrics/operator
+
+

Image repository

+
image.tagstring
+""
+
+

Image tag override Chart.AppVersion

+
imagePullSecretslist
+[]
+
+

Secret to pull images

+
logLevelstring
+info
+
+

possible values: info and error.

+
nameOverridestring
+""
+
+

VM operatror deployment name override

+
nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
operator.disable_prometheus_converterbool
+false
+
+

By default, operator converts prometheus-operator objects.

+
operator.enable_converter_ownershipbool
+false
+
+

Enables ownership reference for converted prometheus-operator objects, it will remove corresponding victoria-metrics objects in case of deletion prometheus one.

+
operator.prometheus_converter_add_argocd_ignore_annotationsbool
+false
+
+

Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD

+
operator.useCustomConfigReloaderbool
+false
+
+

Enables custom config-reloader, bundled with operator. It should reduce vmagent and vmauth config sync-time and make it predictable.

+
podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more or check these docs

+
podLabelsobject
+{}
+
+
podSecurityContextobject
+{}
+
+
probe.livenessobject
+failureThreshold: 3
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket:
+    port: probe
+timeoutSeconds: 5
+
+

Liveness probe

+
probe.readinessobject
+failureThreshold: 3
+httpGet:
+    port: probe
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

Readiness probe

+
probe.startupobject
+{}
+
+

Startup probe

+
rbac.aggregatedClusterRolesobject
+enabled: true
+labels:
+    admin:
+        rbac.authorization.k8s.io/aggregate-to-admin: "true"
+    view:
+        rbac.authorization.k8s.io/aggregate-to-view: "true"
+
+

create aggregated clusterRoles for CRD readonly and admin permissions

+
rbac.aggregatedClusterRoles.labelsobject
+admin:
+    rbac.authorization.k8s.io/aggregate-to-admin: "true"
+view:
+    rbac.authorization.k8s.io/aggregate-to-view: "true"
+
+

labels attached to according clusterRole

+
rbac.createbool
+true
+
+

Specifies whether the RBAC resources should be created

+
replicaCountint
+1
+
+
resourcesobject
+{}
+
+

Resource object

+
securityContextobject
+{}
+
+
service.annotationsobject
+{}
+
+
service.clusterIPstring
+""
+
+
service.externalIPsstring
+""
+
+
service.externalTrafficPolicystring
+""
+
+
service.healthCheckNodePortstring
+""
+
+
service.ipFamilieslist
+[]
+
+
service.ipFamilyPolicystring
+""
+
+
service.labelsobject
+{}
+
+
service.loadBalancerIPstring
+""
+
+
service.loadBalancerSourceRangeslist
+[]
+
+
service.servicePortint
+8080
+
+
service.typestring
+ClusterIP
+
+
service.webhookPortint
+9443
+
+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+""
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
serviceMonitorobject
+annotations: {}
+basicAuth: {}
+enabled: false
+extraLabels: {}
+interval: ""
+relabelings: []
+scheme: ""
+scrapeTimeout: ""
+tlsConfig: {}
+
+

configures monitoring with serviceScrape. VMServiceScrape must be pre-installed

+
tolerationslist
+[]
+
+

Array of tolerations object. Spec is here

+
topologySpreadConstraintslist
+[]
+
+

Pod Topology Spread Constraints. Spec is here

+
watchNamespaceslist
+[]
+
+

By default, the operator will watch all the namespaces If you want to override this behavior, specify the namespace. Operator supports multiple namespaces for watching.

+
+ diff --git a/docs/helm/victoria-metrics-operator/_changelog.md b/docs/helm/victoria-metrics-operator/_changelog.md new file mode 100644 index 000000000..da8b81623 --- /dev/null +++ b/docs/helm/victoria-metrics-operator/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-operator-changelog + parent: helm-victoriametrics-operator +url: /helm/victoriametrics-operator/changelog +aliases: + - /helm/victoriametrics-operator/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-operator/_index.md b/docs/helm/victoria-metrics-operator/_index.md new file mode 100644 index 000000000..ec9c24c5c --- /dev/null +++ b/docs/helm/victoria-metrics-operator/_index.md @@ -0,0 +1,13 @@ +--- +weight: 10 +title: VictoriaMetrics Operator +menu: + docs: + parent: helm + weight: 10 + identifier: helm-victoriametrics-operator +url: /helm/victoriametrics-operator +aliases: + - /helm/victoriametrics-operator/index.html +--- +{{% content "README.md" %}} diff --git a/docs/helm/victoria-metrics-single/CHANGELOG.md b/docs/helm/victoria-metrics-single/CHANGELOG.md new file mode 100644 index 000000000..758064239 --- /dev/null +++ b/docs/helm/victoria-metrics-single/CHANGELOG.md @@ -0,0 +1,326 @@ +## Next release + +- TODO + +## 0.11.2 + +**Release date:** 2024-09-12 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables +- Removed deprecated API from RBAC. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1438) +- Made replicas configurable +- Allow override default for statefulset headless service + +## 0.11.1 + +**Release date:** 2024-09-03 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Deprecated `server.vmbackupmanager.enable` in a favour of `server.vmbackupmanager.enabled`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/940). +- Fixed PVC in StatefulSet + +## 0.11.0 + +**Release date:** 2024-08-29 + +![AppVersion: v1.103.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.103.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0) +- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285) +- Added global relabelConfig. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/207) +- Renamed `.Values.server.persistentVolume.storageClass` to `.Values.server.persistentVolume.storageClassName` +- Removed necessity to set `.Values.server.persistentVolume.existingClaim` when it should be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189) +- Removed `eula` support + +## 0.10.1 + +**Release date:** 2024-08-22 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Added ability to configure container port +- Fixed volume template. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1280) + +## 0.10.0 + +**Release date:** 2024-08-21 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: main container name was changed to `vmsingle`, which will recreate a pod. + +- Added `basicAuth` support for `ServiceMonitor` +- fix inconsistent relabeling `target_label` in default scrape config. +- Removed `PodSecurityPolicy` +- Removed support for `policy/v1beta1/PodDisruptionBudget` +- Set minimal kubernetes version to `1.25` +- Added ability to override liveness and readiness probes +- Updated `.Values.vmbackupmanager.readinessProbe` to `.Values.vmbackupmanager.probe.readiness` +- Updated `.Values.vmbackupmanager.livenessProbe` to `.Values.vmbackupmanager.probe.liveness` +- Updated `.Values.vmbackupmanager.startupProbe` to `.Values.vmbackupmanager.probe.startup` +- Updated `.Values.server.readinessProbe` to `.Values.server.probe.readiness` +- Updated `.Values.server.livenessProbe` to `.Values.server.probe.liveness` +- Updated `.Values.server.startupProbe` to `.Values.server.probe.startup` +- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry` +- Merged headless and non-headless services, removed statefulset service specific variables +- Use static container names in a pod +- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support +- Added `.Values.server.service.ipFamilies` and `.Values.server.service.ipFamilyPolicy` for service IP family management + +## 0.9.26 + +**Release date:** 2024-08-01 + +![AppVersion: v1.102.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1) + +## 0.9.25 + +**Release date:** 2024-07-23 + +![AppVersion: v1.102.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.102.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0) + +## 0.9.24 + +**Release date:** 2024-07-13 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix license flags templates, Thanks to @akatch for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1140). + +## 0.9.23 + +**Release date:** 2024-07-08 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092). + +## 0.9.22 + +**Release date:** 2024-06-14 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values..image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values..image.tag` to automatically use the version specified in `.Chart.AppVersion`. + +- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values..image.variant`. + +## 0.9.21 + +**Release date:** 2024-05-16 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995). + +## 0.9.20 + +**Release date:** 2024-05-10 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details. + +## 0.9.19 + +**Release date:** 2024-04-26 + +![AppVersion: v1.101.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.101.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters. +- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0) + +## 0.9.18 + +**Release date:** 2024-04-16 + +![AppVersion: v1.100.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.100.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1) + +**Release date:** 2024-03-28 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- added ability to use slice variables in extraArgs (#944) +- support adding `metricRelabelings` for server serviceMonitor (#946) + +## 0.9.16 + +**Release date:** 2024-03-05 + +![AppVersion: v1.99.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.99.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0) + +## 0.9.15 + +**Release date:** 2024-02-01 + +![AppVersion: v1.97.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.97.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1) + +## 0.9.14 + +**Release date:** 2023-12-13 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Fix configuration of volume mount for license key referenced by using secret. + +## 0.9.13 + +**Release date:** 2023-12-12 + +![AppVersion: v1.96.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.96.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0) + +## 0.9.12 + +**Release date:** 2023-11-16 + +![AppVersion: v1.95.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1) + +## 0.9.11 + +**Release date:** 2023-11-15 + +![AppVersion: v1.95.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.95.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0) + +## 0.9.10 + +**Release date:** 2023-10-12 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Add license enforcement for vmbackupmanager in order to avoid running it without enterprise license key. See [these docs](https://docs.victoriametrics.com/enterprise) for details. +- Fix license flags not being passed to vmsingle when using StatefulSet. + +## 0.9.9 + +**Release date:** 2023-10-04 + +![AppVersion: v1.94.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.94.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0) +- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details. + +## 0.9.8 + +**Release date:** 2023-09-21 + +![AppVersion: v1.93.5](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.5&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5) + +## 0.9.7 + +**Release date:** 2023-09-11 + +![AppVersion: v1.93.4](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.4&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4) + +## 0.9.6 + +**Release date:** 2023-09-04 + +![AppVersion: v1.93.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Bump version of Victoria Metrics to `v1.93.3` +- Fixed `kubeVersion` in `Chart.yaml` + +## 0.9.5 + +**Release date:** 2023-08-30 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Disable `honorTimestamps` for cadvisor scrape job by default (#617) + +## 0.9.4 + +**Release date:** 2023-08-23 + +![AppVersion: v1.93.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.93.0 to v1.93.1 + +## 0.9.3 + +**Release date:** 2023-08-12 + +![AppVersion: v1.93.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.93.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.1 to v1.93.0 + +## 0.9.2 + +**Release date:** 2023-07-28 + +![AppVersion: v1.92.1](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.1&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599) + +## 0.9.1 + +**Release date:** 2023-07-27 + +![AppVersion: v1.92.0](https://img.shields.io/static/v1?label=AppVersion&message=v1.92.0&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- Update VictoriaMetrics components from v1.91.3 to v1.92.0 +- fix misused securityContext and podSecurityContext (#592) + +## 0.9.0 + +**Release date:** 2023-07-13 + +![AppVersion: v1.91.3](https://img.shields.io/static/v1?label=AppVersion&message=v1.91.3&color=success&logo=) +![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +- bump version of agent, alert, auth, cluster, single +- feat(vmsingle): Add ability to deploy extra manifests (#587) diff --git a/docs/helm/victoria-metrics-single/README.md b/docs/helm/victoria-metrics-single/README.md new file mode 100644 index 000000000..d8075d263 --- /dev/null +++ b/docs/helm/victoria-metrics-single/README.md @@ -0,0 +1,2258 @@ +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.11.2](https://img.shields.io/badge/Version-0.11.2-informational?style=flat-square) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/victoriametrics)](https://artifacthub.io/packages/helm/victoriametrics/victoria-metrics-single) + +Victoria Metrics Single version - high-performance, cost-effective and scalable TSDB, long-term remote storage for Prometheus + +## Prerequisites + +* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](../../REQUIREMENTS.md). +* PV support on underlying infrastructure. + +## Chart Details + +This chart will do the following: + +* Rollout Victoria Metrics Single. + +## How to install + +Access a Kubernetes cluster. + +### Setup chart repository (can be omitted for OCI repositories) + +Add a chart helm repository with follow commands: + +```console +helm repo add vm https://victoriametrics.github.io/helm-charts/ + +helm repo update +``` +List versions of `vm/victoria-metrics-single` chart available to installation: + +```console +helm search repo vm/victoria-metrics-single -l +``` + +### Install `victoria-metrics-single` chart + +Export default values of `victoria-metrics-single` chart to file `values.yaml`: + + - For HTTPS repository + + ```console + helm show values vm/victoria-metrics-single > values.yaml + ``` + - For OCI repository + + ```console + helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-single > values.yaml + ``` + +Change the values according to the need of the environment in ``values.yaml`` file. + +Test the installation with command: + + - For HTTPS repository + + ```console + helm install vms vm/victoria-metrics-single -f values.yaml -n NAMESPACE --debug --dry-run + ``` + + - For OCI repository + + ```console + helm install vms oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-single -f values.yaml -n NAMESPACE --debug --dry-run + ``` + +Install chart with command: + + - For HTTPS repository + + ```console + helm install vms vm/victoria-metrics-single -f values.yaml -n NAMESPACE + ``` + + - For OCI repository + + ```console + helm install vms oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-single -f values.yaml -n NAMESPACE + ``` + +Get the pods lists by running this commands: + +```console +kubectl get pods -A | grep 'vms' +``` + +Get the application by running this command: + +```console +helm list -f vms -n NAMESPACE +``` + +See the history of versions of `vms` application with command. + +```console +helm history vms -n NAMESPACE +``` + +## How to uninstall + +Remove application with command. + +```console +helm uninstall vms -n NAMESPACE +``` + +## Documentation of Helm Chart + +Install ``helm-docs`` following the instructions on this [tutorial](../../REQUIREMENTS.md). + +Generate docs with ``helm-docs`` command. + +```bash +cd charts/victoria-metrics-single + +helm-docs +``` + +The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README. + +## Parameters + +The following tables lists the configurable parameters of the chart and their default values. + +Change the values according to the need of the environment in ``victoria-metrics-single/values.yaml`` file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
automountServiceAccountTokenbool
+true
+
+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
podDisruptionBudget.enabledbool
+false
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
podDisruptionBudget.extraLabelsobject
+{}
+
+
printNotesbool
+true
+
+

Print chart notes

+
rbac.createbool
+true
+
+
rbac.extraLabelsobject
+{}
+
+
rbac.namespacedbool
+false
+
+
server.affinityobject
+{}
+
+

Pod affinity

+
server.containerWorkingDirstring
+""
+
+

Container workdir

+
server.emptyDirobject
+{}
+
+
server.enabledbool
+true
+
+

Enable deployment of server component. Deployed as StatefulSet

+
server.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
server.envFromlist
+[]
+
+
server.extraArgs."envflag.enable"string
+"true"
+
+
server.extraArgs."envflag.prefix"string
+VM_
+
+
server.extraArgs.loggerFormatstring
+json
+
+
server.extraContainerslist
+[]
+
+
server.extraHostPathMountslist
+[]
+
+
server.extraLabelsobject
+{}
+
+

Sts/Deploy additional labels

+
server.extraVolumeMountslist
+[]
+
+
server.extraVolumeslist
+[]
+
+
server.fullnameOverridestring
+null
+
+

Overrides the full name of server component

+
server.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
server.image.registrystring
+""
+
+

Image registry

+
server.image.repositorystring
+victoriametrics/victoria-metrics
+
+

Image repository

+
server.image.tagstring
+""
+
+

Image tag

+
server.image.variantstring
+""
+
+
server.imagePullSecretslist
+[]
+
+
server.ingress.annotationsobject
+{}
+
+

Ingress annotations

+
server.ingress.enabledbool
+false
+
+

Enable deployment of ingress for server component

+
server.ingress.extraLabelsobject
+{}
+
+

Ingress extra labels

+
server.ingress.hostslist
+[]
+
+

Array of host objects

+
server.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
server.ingress.tlslist
+[]
+
+

Array of TLS objects

+
server.initContainerslist
+[]
+
+
server.namestring
+server
+
+

Server container name

+
server.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
server.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
server.persistentVolume.annotationsobject
+{}
+
+

Persistant volume annotations

+
server.persistentVolume.enabledbool
+true
+
+

Create/use Persistent Volume Claim for server component. Empty dir if false

+
server.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. If defined, PVC must be created manually before volume will be bound

+
server.persistentVolume.matchLabelsobject
+{}
+
+

Bind Persistent Volume by labels. Must match all labels of targeted PV.

+
server.persistentVolume.mountPathstring
+/storage
+
+

Mount path. Server data Persistent Volume mount root path.

+
server.persistentVolume.sizestring
+16Gi
+
+

Size of the volume. Should be calculated based on the metrics you send and retention policy you set.

+
server.persistentVolume.storageClassNamestring
+""
+
+

StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically

+
server.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
server.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
server.podLabelsobject
+{}
+
+

Pod’s additional labels

+
server.podManagementPolicystring
+OrderedReady
+
+

Pod’s management policy

+
server.podSecurityContextobject
+enabled: true
+
+

Pod’s security context. Details are here

+
server.priorityClassNamestring
+""
+
+

Name of Priority Class

+
server.probe.liveness.failureThresholdint
+10
+
+
server.probe.liveness.initialDelaySecondsint
+30
+
+
server.probe.liveness.periodSecondsint
+30
+
+
server.probe.liveness.tcpSocketobject
+{}
+
+
server.probe.liveness.timeoutSecondsint
+5
+
+
server.probe.readiness.failureThresholdint
+3
+
+
server.probe.readiness.httpGetobject
+{}
+
+
server.probe.readiness.initialDelaySecondsint
+5
+
+
server.probe.readiness.periodSecondsint
+15
+
+
server.probe.readiness.timeoutSecondsint
+5
+
+
server.probe.startupobject
+{}
+
+
server.relabelobject
+config: []
+configMap: ""
+enabled: false
+
+

Global relabel configuration

+
server.relabel.configMapstring
+""
+
+

Use existing configmap if specified otherwise .config values will be used. Relabel config should reside under relabel.yml key

+
server.replicaCountint
+1
+
+

Replica count

+
server.resourcesobject
+{}
+
+

Resource object. Details are here

+
server.retentionPeriodint
+1
+
+

Data retention period in month

+
server.scrapeobject
+config:
+    global:
+        scrape_interval: 15s
+    scrape_configs:
+        - job_name: victoriametrics
+          static_configs:
+            - targets:
+                - localhost:8428
+        - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+          job_name: kubernetes-apiservers
+          kubernetes_sd_configs:
+            - role: endpoints
+          relabel_configs:
+            - action: keep
+              regex: default;kubernetes;https
+              source_labels:
+                - __meta_kubernetes_namespace
+                - __meta_kubernetes_service_name
+                - __meta_kubernetes_endpoint_port_name
+          scheme: https
+          tls_config:
+            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            insecure_skip_verify: true
+        - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+          job_name: kubernetes-nodes
+          kubernetes_sd_configs:
+            - role: node
+          relabel_configs:
+            - action: labelmap
+              regex: __meta_kubernetes_node_label_(.+)
+            - replacement: kubernetes.default.svc:443
+              target_label: __address__
+            - regex: (.+)
+              replacement: /api/v1/nodes/$1/proxy/metrics
+              source_labels:
+                - __meta_kubernetes_node_name
+              target_label: __metrics_path__
+          scheme: https
+          tls_config:
+            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            insecure_skip_verify: true
+        - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+          honor_timestamps: false
+          job_name: kubernetes-nodes-cadvisor
+          kubernetes_sd_configs:
+            - role: node
+          relabel_configs:
+            - action: labelmap
+              regex: __meta_kubernetes_node_label_(.+)
+            - replacement: kubernetes.default.svc:443
+              target_label: __address__
+            - regex: (.+)
+              replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
+              source_labels:
+                - __meta_kubernetes_node_name
+              target_label: __metrics_path__
+          scheme: https
+          tls_config:
+            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            insecure_skip_verify: true
+        - job_name: kubernetes-service-endpoints
+          kubernetes_sd_configs:
+            - role: endpoints
+          relabel_configs:
+            - action: drop
+              regex: true
+              source_labels:
+                - __meta_kubernetes_pod_container_init
+            - action: keep_if_equal
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_port
+                - __meta_kubernetes_pod_container_port_number
+            - action: keep
+              regex: true
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_scrape
+            - action: replace
+              regex: (https?)
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_scheme
+              target_label: __scheme__
+            - action: replace
+              regex: (.+)
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_path
+              target_label: __metrics_path__
+            - action: replace
+              regex: ([^:]+)(?::\d+)?;(\d+)
+              replacement: $1:$2
+              source_labels:
+                - __address__
+                - __meta_kubernetes_service_annotation_prometheus_io_port
+              target_label: __address__
+            - action: labelmap
+              regex: __meta_kubernetes_service_label_(.+)
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_namespace
+              target_label: namespace
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_service_name
+              target_label: service
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_pod_node_name
+              target_label: node
+        - job_name: kubernetes-service-endpoints-slow
+          kubernetes_sd_configs:
+            - role: endpoints
+          relabel_configs:
+            - action: drop
+              regex: true
+              source_labels:
+                - __meta_kubernetes_pod_container_init
+            - action: keep_if_equal
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_port
+                - __meta_kubernetes_pod_container_port_number
+            - action: keep
+              regex: true
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
+            - action: replace
+              regex: (https?)
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_scheme
+              target_label: __scheme__
+            - action: replace
+              regex: (.+)
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_path
+              target_label: __metrics_path__
+            - action: replace
+              regex: ([^:]+)(?::\d+)?;(\d+)
+              replacement: $1:$2
+              source_labels:
+                - __address__
+                - __meta_kubernetes_service_annotation_prometheus_io_port
+              target_label: __address__
+            - action: labelmap
+              regex: __meta_kubernetes_service_label_(.+)
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_namespace
+              target_label: namespace
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_service_name
+              target_label: service
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_pod_node_name
+              target_label: node
+          scrape_interval: 5m
+          scrape_timeout: 30s
+        - job_name: kubernetes-services
+          kubernetes_sd_configs:
+            - role: service
+          metrics_path: /probe
+          params:
+            module:
+                - http_2xx
+          relabel_configs:
+            - action: keep
+              regex: true
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_probe
+            - source_labels:
+                - __address__
+              target_label: __param_target
+            - replacement: blackbox
+              target_label: __address__
+            - source_labels:
+                - __param_target
+              target_label: instance
+            - action: labelmap
+              regex: __meta_kubernetes_service_label_(.+)
+            - source_labels:
+                - __meta_kubernetes_namespace
+              target_label: namespace
+            - source_labels:
+                - __meta_kubernetes_service_name
+              target_label: service
+        - job_name: kubernetes-pods
+          kubernetes_sd_configs:
+            - role: pod
+          relabel_configs:
+            - action: drop
+              regex: true
+              source_labels:
+                - __meta_kubernetes_pod_container_init
+            - action: keep_if_equal
+              source_labels:
+                - __meta_kubernetes_pod_annotation_prometheus_io_port
+                - __meta_kubernetes_pod_container_port_number
+            - action: keep
+              regex: true
+              source_labels:
+                - __meta_kubernetes_pod_annotation_prometheus_io_scrape
+            - action: replace
+              regex: (.+)
+              source_labels:
+                - __meta_kubernetes_pod_annotation_prometheus_io_path
+              target_label: __metrics_path__
+            - action: replace
+              regex: ([^:]+)(?::\d+)?;(\d+)
+              replacement: $1:$2
+              source_labels:
+                - __address__
+                - __meta_kubernetes_pod_annotation_prometheus_io_port
+              target_label: __address__
+            - action: labelmap
+              regex: __meta_kubernetes_pod_label_(.+)
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_namespace
+              target_label: namespace
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_pod_name
+              target_label: pod
+configMap: ""
+enabled: false
+extraScrapeConfigs: []
+
+

Scrape configuration for victoriametrics

+
server.scrape.configobject
+global:
+    scrape_interval: 15s
+scrape_configs:
+    - job_name: victoriametrics
+      static_configs:
+        - targets:
+            - localhost:8428
+    - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+      job_name: kubernetes-apiservers
+      kubernetes_sd_configs:
+        - role: endpoints
+      relabel_configs:
+        - action: keep
+          regex: default;kubernetes;https
+          source_labels:
+            - __meta_kubernetes_namespace
+            - __meta_kubernetes_service_name
+            - __meta_kubernetes_endpoint_port_name
+      scheme: https
+      tls_config:
+        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        insecure_skip_verify: true
+    - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+      job_name: kubernetes-nodes
+      kubernetes_sd_configs:
+        - role: node
+      relabel_configs:
+        - action: labelmap
+          regex: __meta_kubernetes_node_label_(.+)
+        - replacement: kubernetes.default.svc:443
+          target_label: __address__
+        - regex: (.+)
+          replacement: /api/v1/nodes/$1/proxy/metrics
+          source_labels:
+            - __meta_kubernetes_node_name
+          target_label: __metrics_path__
+      scheme: https
+      tls_config:
+        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        insecure_skip_verify: true
+    - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+      honor_timestamps: false
+      job_name: kubernetes-nodes-cadvisor
+      kubernetes_sd_configs:
+        - role: node
+      relabel_configs:
+        - action: labelmap
+          regex: __meta_kubernetes_node_label_(.+)
+        - replacement: kubernetes.default.svc:443
+          target_label: __address__
+        - regex: (.+)
+          replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
+          source_labels:
+            - __meta_kubernetes_node_name
+          target_label: __metrics_path__
+      scheme: https
+      tls_config:
+        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        insecure_skip_verify: true
+    - job_name: kubernetes-service-endpoints
+      kubernetes_sd_configs:
+        - role: endpoints
+      relabel_configs:
+        - action: drop
+          regex: true
+          source_labels:
+            - __meta_kubernetes_pod_container_init
+        - action: keep_if_equal
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_port
+            - __meta_kubernetes_pod_container_port_number
+        - action: keep
+          regex: true
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_scrape
+        - action: replace
+          regex: (https?)
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_scheme
+          target_label: __scheme__
+        - action: replace
+          regex: (.+)
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_path
+          target_label: __metrics_path__
+        - action: replace
+          regex: ([^:]+)(?::\d+)?;(\d+)
+          replacement: $1:$2
+          source_labels:
+            - __address__
+            - __meta_kubernetes_service_annotation_prometheus_io_port
+          target_label: __address__
+        - action: labelmap
+          regex: __meta_kubernetes_service_label_(.+)
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_namespace
+          target_label: namespace
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_service_name
+          target_label: service
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_pod_node_name
+          target_label: node
+    - job_name: kubernetes-service-endpoints-slow
+      kubernetes_sd_configs:
+        - role: endpoints
+      relabel_configs:
+        - action: drop
+          regex: true
+          source_labels:
+            - __meta_kubernetes_pod_container_init
+        - action: keep_if_equal
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_port
+            - __meta_kubernetes_pod_container_port_number
+        - action: keep
+          regex: true
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
+        - action: replace
+          regex: (https?)
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_scheme
+          target_label: __scheme__
+        - action: replace
+          regex: (.+)
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_path
+          target_label: __metrics_path__
+        - action: replace
+          regex: ([^:]+)(?::\d+)?;(\d+)
+          replacement: $1:$2
+          source_labels:
+            - __address__
+            - __meta_kubernetes_service_annotation_prometheus_io_port
+          target_label: __address__
+        - action: labelmap
+          regex: __meta_kubernetes_service_label_(.+)
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_namespace
+          target_label: namespace
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_service_name
+          target_label: service
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_pod_node_name
+          target_label: node
+      scrape_interval: 5m
+      scrape_timeout: 30s
+    - job_name: kubernetes-services
+      kubernetes_sd_configs:
+        - role: service
+      metrics_path: /probe
+      params:
+        module:
+            - http_2xx
+      relabel_configs:
+        - action: keep
+          regex: true
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_probe
+        - source_labels:
+            - __address__
+          target_label: __param_target
+        - replacement: blackbox
+          target_label: __address__
+        - source_labels:
+            - __param_target
+          target_label: instance
+        - action: labelmap
+          regex: __meta_kubernetes_service_label_(.+)
+        - source_labels:
+            - __meta_kubernetes_namespace
+          target_label: namespace
+        - source_labels:
+            - __meta_kubernetes_service_name
+          target_label: service
+    - job_name: kubernetes-pods
+      kubernetes_sd_configs:
+        - role: pod
+      relabel_configs:
+        - action: drop
+          regex: true
+          source_labels:
+            - __meta_kubernetes_pod_container_init
+        - action: keep_if_equal
+          source_labels:
+            - __meta_kubernetes_pod_annotation_prometheus_io_port
+            - __meta_kubernetes_pod_container_port_number
+        - action: keep
+          regex: true
+          source_labels:
+            - __meta_kubernetes_pod_annotation_prometheus_io_scrape
+        - action: replace
+          regex: (.+)
+          source_labels:
+            - __meta_kubernetes_pod_annotation_prometheus_io_path
+          target_label: __metrics_path__
+        - action: replace
+          regex: ([^:]+)(?::\d+)?;(\d+)
+          replacement: $1:$2
+          source_labels:
+            - __address__
+            - __meta_kubernetes_pod_annotation_prometheus_io_port
+          target_label: __address__
+        - action: labelmap
+          regex: __meta_kubernetes_pod_label_(.+)
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_namespace
+          target_label: namespace
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_pod_name
+          target_label: pod
+
+

Scrape config

+
server.scrape.config.scrape_configslist
+- job_name: victoriametrics
+  static_configs:
+    - targets:
+        - localhost:8428
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  job_name: kubernetes-apiservers
+  kubernetes_sd_configs:
+    - role: endpoints
+  relabel_configs:
+    - action: keep
+      regex: default;kubernetes;https
+      source_labels:
+        - __meta_kubernetes_namespace
+        - __meta_kubernetes_service_name
+        - __meta_kubernetes_endpoint_port_name
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  job_name: kubernetes-nodes
+  kubernetes_sd_configs:
+    - role: node
+  relabel_configs:
+    - action: labelmap
+      regex: __meta_kubernetes_node_label_(.+)
+    - replacement: kubernetes.default.svc:443
+      target_label: __address__
+    - regex: (.+)
+      replacement: /api/v1/nodes/$1/proxy/metrics
+      source_labels:
+        - __meta_kubernetes_node_name
+      target_label: __metrics_path__
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  honor_timestamps: false
+  job_name: kubernetes-nodes-cadvisor
+  kubernetes_sd_configs:
+    - role: node
+  relabel_configs:
+    - action: labelmap
+      regex: __meta_kubernetes_node_label_(.+)
+    - replacement: kubernetes.default.svc:443
+      target_label: __address__
+    - regex: (.+)
+      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
+      source_labels:
+        - __meta_kubernetes_node_name
+      target_label: __metrics_path__
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- job_name: kubernetes-service-endpoints
+  kubernetes_sd_configs:
+    - role: endpoints
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+- job_name: kubernetes-service-endpoints-slow
+  kubernetes_sd_configs:
+    - role: endpoints
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+  scrape_interval: 5m
+  scrape_timeout: 30s
+- job_name: kubernetes-services
+  kubernetes_sd_configs:
+    - role: service
+  metrics_path: /probe
+  params:
+    module:
+        - http_2xx
+  relabel_configs:
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_probe
+    - source_labels:
+        - __address__
+      target_label: __param_target
+    - replacement: blackbox
+      target_label: __address__
+    - source_labels:
+        - __param_target
+      target_label: instance
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+- job_name: kubernetes-pods
+  kubernetes_sd_configs:
+    - role: pod
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_pod_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_pod_label_(.+)
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_name
+      target_label: pod
+
+

Scrape targets

+
server.scrape.config.scrape_configs[4]object
+job_name: kubernetes-service-endpoints
+kubernetes_sd_configs:
+    - role: endpoints
+relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+
+

Scrape rule using kubernetes service discovery for endpoints

+
server.scrape.config.scrape_configs[6]object
+job_name: kubernetes-services
+kubernetes_sd_configs:
+    - role: service
+metrics_path: /probe
+params:
+    module:
+        - http_2xx
+relabel_configs:
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_probe
+    - source_labels:
+        - __address__
+      target_label: __param_target
+    - replacement: blackbox
+      target_label: __address__
+    - source_labels:
+        - __param_target
+      target_label: instance
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+
+

Example scrape config for probing services via the Blackbox Exporter. The relabeling allows the actual service scrape endpoint to be configured via the following annotations: * prometheus.io/probe: Only probe services that have a value of true

+
server.scrape.configMapstring
+""
+
+

Use existing configmap if specified otherwise .config values will be used. Scrape config should reside under scrape.yml key

+
server.scrape.enabledbool
+false
+
+

If true scrapes targets, creates config map or use specified one with scrape targets

+
server.scrape.extraScrapeConfigslist
+[]
+
+

Extra scrape configs that will be appended to server.scrape.config

+
server.securityContextobject
+enabled: true
+
+

Security context to be added to server pods

+
server.service.annotationsobject
+{}
+
+

Service annotations

+
server.service.clusterIPstring
+""
+
+

Service ClusterIP

+
server.service.externalIPslist
+[]
+
+

Service External IPs. Details are here

+
server.service.externalTrafficPolicystring
+""
+
+
server.service.healthCheckNodePortstring
+""
+
+
server.service.ipFamilieslist
+[]
+
+
server.service.ipFamilyPolicystring
+""
+
+
server.service.labelsobject
+{}
+
+

Service labels

+
server.service.loadBalancerIPstring
+""
+
+

Service load balacner IP

+
server.service.loadBalancerSourceRangeslist
+[]
+
+

Load balancer source range

+
server.service.servicePortint
+8428
+
+

Service port

+
server.service.typestring
+ClusterIP
+
+

Service type

+
server.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
server.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
server.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
server.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
server.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
server.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
server.statefulSet.enabledbool
+true
+
+

Creates statefulset instead of deployment, useful when you want to keep the cache

+
server.statefulSet.podManagementPolicystring
+OrderedReady
+
+

Deploy order policy for StatefulSet pods

+
server.terminationGracePeriodSecondsint
+60
+
+

Pod’s termination grace period in seconds

+
server.tolerationslist
+[]
+
+

Node tolerations for server scheduling to nodes with taints. Details are here

+
server.vmbackupmanager.destinationstring
+""
+
+

backup destination at S3, GCS or local filesystem. Release name will be included to path!

+
server.vmbackupmanager.disableDailybool
+false
+
+

disable daily backups

+
server.vmbackupmanager.disableHourlybool
+false
+
+

disable hourly backups

+
server.vmbackupmanager.disableMonthlybool
+false
+
+

disable monthly backups

+
server.vmbackupmanager.disableWeeklybool
+false
+
+

disable weekly backups

+
server.vmbackupmanager.enabledbool
+false
+
+

enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages

+
server.vmbackupmanager.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
server.vmbackupmanager.extraArgs."envflag.enable"string
+"true"
+
+
server.vmbackupmanager.extraArgs."envflag.prefix"string
+VM_
+
+
server.vmbackupmanager.extraArgs.loggerFormatstring
+json
+
+
server.vmbackupmanager.extraVolumeMountslist
+[]
+
+
server.vmbackupmanager.image.registrystring
+""
+
+

vmbackupmanager image registry

+
server.vmbackupmanager.image.repositorystring
+victoriametrics/vmbackupmanager
+
+

vmbackupmanager image repository

+
server.vmbackupmanager.image.tagstring
+""
+
+

vmbackupmanager image tag

+
server.vmbackupmanager.image.variantstring
+""
+
+
server.vmbackupmanager.probe.liveness.failureThresholdint
+10
+
+
server.vmbackupmanager.probe.liveness.initialDelaySecondsint
+30
+
+
server.vmbackupmanager.probe.liveness.periodSecondsint
+30
+
+
server.vmbackupmanager.probe.liveness.tcpSocket.portstring
+manager-http
+
+
server.vmbackupmanager.probe.liveness.timeoutSecondsint
+5
+
+
server.vmbackupmanager.probe.readiness.failureThresholdint
+3
+
+
server.vmbackupmanager.probe.readiness.httpGet.portstring
+manager-http
+
+
server.vmbackupmanager.probe.readiness.initialDelaySecondsint
+5
+
+
server.vmbackupmanager.probe.readiness.periodSecondsint
+15
+
+
server.vmbackupmanager.probe.readiness.timeoutSecondsint
+5
+
+
server.vmbackupmanager.probe.startup.httpGet.portstring
+manager-http
+
+
server.vmbackupmanager.resourcesobject
+{}
+
+
server.vmbackupmanager.restoreobject
+onStart:
+    enabled: false
+
+

Allows to enable restore options for pod. Read more: https://docs.victoriametrics.com/vmbackupmanager#restore-commands

+
server.vmbackupmanager.retentionobject
+keepLastDaily: 2
+keepLastHourly: 2
+keepLastMonthly: 2
+keepLastWeekly: 2
+
+

backups’ retention settings

+
server.vmbackupmanager.retention.keepLastDailyint
+2
+
+

keep last N daily backups. 0 means delete all existing daily backups. Specify -1 to turn off

+
server.vmbackupmanager.retention.keepLastHourlyint
+2
+
+

keep last N hourly backups. 0 means delete all existing hourly backups. Specify -1 to turn off

+
server.vmbackupmanager.retention.keepLastMonthlyint
+2
+
+

keep last N monthly backups. 0 means delete all existing monthly backups. Specify -1 to turn off

+
server.vmbackupmanager.retention.keepLastWeeklyint
+2
+
+

keep last N weekly backups. 0 means delete all existing weekly backups. Specify -1 to turn off

+
serviceAccount.automountTokenbool
+true
+
+

Mount API token to pod directly

+
serviceAccount.createbool
+true
+
+

Create service account.

+
serviceAccount.extraLabelsobject
+{}
+
+
+ diff --git a/docs/helm/victoria-metrics-single/_changelog.md b/docs/helm/victoria-metrics-single/_changelog.md new file mode 100644 index 000000000..5e197a91b --- /dev/null +++ b/docs/helm/victoria-metrics-single/_changelog.md @@ -0,0 +1,13 @@ +--- +weight: 1 +title: CHANGELOG +menu: + docs: + weight: 1 + identifier: helm-victoriametrics-single-changelog + parent: helm-victoriametrics-single +url: /helm/victoriametrics-single/changelog +aliases: + - /helm/victoriametrics-single/changelog/index.html +--- +{{% content "CHANGELOG.md" %}} diff --git a/docs/helm/victoria-metrics-single/_index.md b/docs/helm/victoria-metrics-single/_index.md new file mode 100644 index 000000000..760dc4613 --- /dev/null +++ b/docs/helm/victoria-metrics-single/_index.md @@ -0,0 +1,13 @@ +--- +weight: 11 +title: VictoriaMetrics Single +menu: + docs: + parent: helm + weight: 11 + identifier: helm-victoriametrics-single +url: /helm/victoriametrics-single +aliases: + - /helm/victoriametrics-single/index.html +--- +{{% content "README.md" %}}