diff --git a/stable/metricbeat/Chart.yaml b/stable/metricbeat/Chart.yaml index da7c7ca84c..5aa41be23d 100644 --- a/stable/metricbeat/Chart.yaml +++ b/stable/metricbeat/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 description: A Helm chart to collect Kubernetes logs with metricbeat icon: https://www.elastic.co/assets/blt47799dcdcf08438d/logo-elastic-beats-lt.svg name: metricbeat -version: 1.3.0 +version: 1.4.0 appVersion: 6.7.0 home: https://www.elastic.co/products/beats/metricbeat sources: diff --git a/stable/metricbeat/README.md b/stable/metricbeat/README.md index d6769ba9f8..9253ed97c4 100644 --- a/stable/metricbeat/README.md +++ b/stable/metricbeat/README.md @@ -47,16 +47,20 @@ The following table lists the configurable parameters of the metricbeat chart an | `resources.requests.memory` | Memory resource requests | | | `resources.limits.memory` | Memory resource limits | | | `daemonset.enabled` | If true, enable daemonset | | +| `daemonset.overrideConfig` | If overrideConfig is not empty, metricbeat chart's default config won't be used at all. | `{}` | | `daemonset.modules..config` | The content of the modules configuration file consumed by metricbeat deployed as daemonset, which is assumed to collect metrics in each nodes. See the [metricbeat.reference.yml](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-reference-yml.html) for full details | | | `daemonset.modules..enabled` | If true, enable configuration | | +| `daemonset.overrideModules` | If overrideModules is not empty, metricbeat chart's default modules won't be used at all. | `{}` | | `daemonset.podAnnotations` | Pod annotations for daemonset | | | `daemonset.nodeSelector` | Pod node selector for daemonset | `{}` | | `daemonset.tolerations` | Pod taint tolerations for daemonset | `[{"key": "node-role.kubernetes.io/master", "operator": "Exists", "effect": "NoSchedule"}]` | | `daemonset.resources.requests.cpu` | CPU resource requests for daemonset | | | `daemonset.resources.limits.cpu` | CPU resource limits for daemonset | | | `deployment.enabled` | If true, enable deployment | | +| `deployment.overrideConfig` | If overrideConfig is not empty, metricbeat chart's default config won't be used at all. | `{}` | | `deployment.modules..config` | The content of the modules configuration file consumed by metricbeat deployed as deployment, which is assumed to collect cluster-level metrics. See the [metricbeat.reference.yml](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-reference-yml.html) for full details | | | `deployment.modules..enabled` | If true, enable configuration | | +| `deployment.overrideModules` | If overrideModules is not empty, metricbeat chart's default modules won't be used at all. | `{}` | | `deployment.podAnnotations` | Pod annotations for deployment | | | `deployment.nodeSelector` | Pod node selector for deployment | `{}` | | `deployment.tolerations` | Pod taint tolerations for deployment | `[]` | diff --git a/stable/metricbeat/templates/daemonset.yaml b/stable/metricbeat/templates/daemonset.yaml index 9bbfac708f..1a2c826250 100644 --- a/stable/metricbeat/templates/daemonset.yaml +++ b/stable/metricbeat/templates/daemonset.yaml @@ -24,8 +24,8 @@ spec: app: {{ template "metricbeat.name" . }} release: {{ .Release.Name }} annotations: - checksum/daemonset: {{ toYaml .Values.daemonset.modules | sha256sum }} - checksum/config: {{ toYaml .Values.daemonset.config | sha256sum }} + checksum/config: {{ toYaml (default .Values.daemonset.config .Values.daemonset.overrideConfig) | sha256sum }} + checksum/modules: {{ toYaml (default .Values.daemonset.modules .Values.daemonset.overrideModules) | sha256sum }} {{- if .Values.daemonset.podAnnotations }} {{- range $key, $value := .Values.daemonset.podAnnotations }} {{ $key }}: {{ $value }} diff --git a/stable/metricbeat/templates/deployment.yaml b/stable/metricbeat/templates/deployment.yaml index cf6ef34b89..281dcbe5f5 100644 --- a/stable/metricbeat/templates/deployment.yaml +++ b/stable/metricbeat/templates/deployment.yaml @@ -20,8 +20,8 @@ spec: app: {{ template "metricbeat.name" . }} release: {{ .Release.Name }} annotations: - checksum/modules: {{ toYaml .Values.deployment.modules | sha256sum }} - checksum/config: {{ toYaml .Values.deployment.config | sha256sum }} + checksum/config: {{ toYaml (default .Values.deployment.config .Values.deployment.overrideConfig) | sha256sum }} + checksum/modules: {{ toYaml (default .Values.deployment.modules .Values.deployment.overrideModules) | sha256sum }} {{- if .Values.deployment.podAnnotations }} {{- range $key, $value := .Values.deployment.podAnnotations }} {{ $key }}: {{ $value }} diff --git a/stable/metricbeat/templates/secret.yaml b/stable/metricbeat/templates/secret.yaml index ed0746cb3e..9d2c4399e4 100644 --- a/stable/metricbeat/templates/secret.yaml +++ b/stable/metricbeat/templates/secret.yaml @@ -10,7 +10,7 @@ metadata: heritage: {{ .Release.Service }} type: Opaque data: - metricbeat.yml: {{ toYaml .Values.daemonset.config | indent 4 | b64enc }} + metricbeat.yml: {{ toYaml (default .Values.daemonset.config .Values.daemonset.overrideConfig) | indent 4 | b64enc }} {{- end }} --- {{- if .Values.deployment.enabled }} @@ -25,7 +25,7 @@ metadata: heritage: {{ .Release.Service }} type: Opaque data: - metricbeat.yml: {{ toYaml .Values.deployment.config | indent 4 | b64enc }} + metricbeat.yml: {{ toYaml (default .Values.deployment.config .Values.deployment.overrideConfig) | indent 4 | b64enc }} {{- end }} --- {{- if .Values.daemonset.enabled }} @@ -40,9 +40,9 @@ metadata: heritage: {{ .Release.Service }} type: Opaque data: - {{- range $key, $value := .Values.daemonset.modules }} + {{- range $key, $value := (default .Values.daemonset.modules .Values.daemonset.overrideModules) }} {{- if eq $value.enabled true }} - {{ $key }}.yml: {{ toYaml $value.config | indent 4 | b64enc }} + {{ $key }}.yml: {{ toYaml $value.config | b64enc }} {{- end }} {{- end }} {{- end }} @@ -59,9 +59,9 @@ metadata: heritage: {{ .Release.Service }} type: Opaque data: - {{- range $key, $value := .Values.deployment.modules }} + {{- range $key, $value := (default .Values.deployment.modules .Values.deployment.overrideModules) }} {{- if eq $value.enabled true }} - {{ $key }}.yml: {{ toYaml $value.config | indent 4 | b64enc }} + {{ $key }}.yml: {{ toYaml $value.config | b64enc }} {{- end }} {{- end }} {{- end }} diff --git a/stable/metricbeat/values.yaml b/stable/metricbeat/values.yaml index 01bf821097..e0d57ce555 100644 --- a/stable/metricbeat/values.yaml +++ b/stable/metricbeat/values.yaml @@ -25,6 +25,8 @@ daemonset: filename: metricbeat rotate_every_kb: 10000 number_of_files: 5 + # If overrideConfig is not empty, metricbeat chart's default config won't be used at all. + overrideConfig: {} modules: system: enabled: true @@ -72,6 +74,8 @@ daemonset: # bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token # ssl.certificate_authorities: # - /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt + # If overrideModules is not empty, metricbeat chart's default modules won't be used at all. + overrideModules: {} # The instance created by deployment retrieves metrics that are unique for the whole cluster, like Kubernetes events or kube-state-metrics deployment: enabled: true @@ -91,6 +95,8 @@ deployment: filename: metricbeat rotate_every_kb: 10000 number_of_files: 5 + # If overrideConfig is not empty, metricbeat chart's default config won't be used at all. + overrideConfig: {} modules: kubernetes: enabled: true @@ -106,6 +112,8 @@ deployment: # - event period: 10s hosts: ["kube-state-metrics:8080"] + # If overrideModules is not empty, metricbeat chart's default modules won't be used at all. + overrideModules: {} # List of beat plugins plugins: []