diff --git a/metricbeat/README.md b/metricbeat/README.md index abe26b7c8..7130945f8 100644 --- a/metricbeat/README.md +++ b/metricbeat/README.md @@ -49,6 +49,7 @@ helm install --name metricbeat elastic/metricbeat --set imageTag=7.4.0 | `imageTag` | The Metricbeat docker image tag | `7.4.0` | | `imagePullPolicy` | The Kubernetes [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) value | `IfNotPresent` | | `imagePullSecrets` | Configuration for [imagePullSecrets](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret) so that you can use a private registry for your image | `[]` | +| `labels` | Configurable [label](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) applied to all Metricbeat pods | `{}` | | `managedServiceAccount` | Whether the `serviceAccount` should be managed by this helm chart. Set this to `false` in order to manage your own service account and related roles. | `true` | | `clusterRoleRules` | Configurable [cluster role rules](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole) that Metricbeat uses to access Kubernetes resources. | see [values.yaml](./values.yaml) | | `podAnnotations` | Configurable [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) applied to all Metricbeat pods | `{}` | diff --git a/metricbeat/templates/daemonset.yaml b/metricbeat/templates/daemonset.yaml index a86850e50..237b9d0d7 100644 --- a/metricbeat/templates/daemonset.yaml +++ b/metricbeat/templates/daemonset.yaml @@ -8,6 +8,9 @@ metadata: chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" heritage: {{ .Release.Service | quote }} release: {{ .Release.Name | quote }} + {{- range $key, $value := .Values.labels }} + {{ $key }}: {{ $value | quote }} + {{- end }} spec: selector: matchLabels: diff --git a/metricbeat/tests/metricbeat_test.py b/metricbeat/tests/metricbeat_test.py index 6148f45a8..0b119d1c2 100644 --- a/metricbeat/tests/metricbeat_test.py +++ b/metricbeat/tests/metricbeat_test.py @@ -230,3 +230,12 @@ def test_cluster_role_rules(): assert rules['apiGroups'][0] == 'someone' assert rules['verbs'][0] == 'or' assert rules['resources'][0] == 'something' + + +def test_adding_pod_labels(): + config = ''' +labels: + app.kubernetes.io/name: metricbeat +''' + r = helm_template(config) + assert r['daemonset'][name]['metadata']['labels']['app.kubernetes.io/name'] == 'metricbeat' diff --git a/metricbeat/values.yaml b/metricbeat/values.yaml index 321c85d4b..1afd33771 100755 --- a/metricbeat/values.yaml +++ b/metricbeat/values.yaml @@ -102,6 +102,9 @@ readinessProbe: periodSeconds: 10 timeoutSeconds: 5 +# additionals labels +labels: {} + # Whether this chart should self-manage its service account, role, and associated role binding. managedServiceAccount: true