feat(helm-toolkit): allow setting extra labels on pods

Currently it isn't possible to set extra labels on pods that use
the labels snippet. This means users are required to fork the helm
repository for OpenStack services to add custom labels. Use cases
for this are for example injecting Istio sidecars.

This change introduces the ability to set one set of labels on all
resources that use the labels snippet.

Change-Id: Iefc8465300f434b89c07b18ba75260fee0a05ef5
This commit is contained in:
Marlin Cremers
2021-09-23 15:57:22 +02:00
parent 4a490b894c
commit 4340e272d7
3 changed files with 18 additions and 1 deletions

View File

@@ -15,7 +15,7 @@ apiVersion: v1
appVersion: v1.0.0 appVersion: v1.0.0
description: OpenStack-Helm Helm-Toolkit description: OpenStack-Helm Helm-Toolkit
name: helm-toolkit name: helm-toolkit
version: 0.2.21 version: 0.2.22
home: https://docs.openstack.org/openstack-helm home: https://docs.openstack.org/openstack-helm
icon: https://www.openstack.org/themes/openstack/images/project-mascots/OpenStack-Helm/OpenStack_Project_OpenStackHelm_vertical.png icon: https://www.openstack.org/themes/openstack/images/project-mascots/OpenStack-Helm/OpenStack_Project_OpenStackHelm_vertical.png
sources: sources:

View File

@@ -17,12 +17,20 @@ abstract: |
Renders a set of standardised labels Renders a set of standardised labels
values: | values: |
release_group: null release_group: null
pod:
labels:
default:
label1.example.com: value
bar:
label2.example.com: bar
usage: | usage: |
{{ tuple . "foo" "bar" | include "helm-toolkit.snippets.kubernetes_metadata_labels" }} {{ tuple . "foo" "bar" | include "helm-toolkit.snippets.kubernetes_metadata_labels" }}
return: | return: |
release_group: RELEASE-NAME release_group: RELEASE-NAME
application: foo application: foo
component: bar component: bar
label1.example.com: value
label2.example.com: bar
*/}} */}}
{{- define "helm-toolkit.snippets.kubernetes_metadata_labels" -}} {{- define "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
@@ -32,4 +40,12 @@ return: |
release_group: {{ $envAll.Values.release_group | default $envAll.Release.Name }} release_group: {{ $envAll.Values.release_group | default $envAll.Release.Name }}
application: {{ $application }} application: {{ $application }}
component: {{ $component }} component: {{ $component }}
{{- if ($envAll.Values.pod).labels }}
{{- if hasKey $envAll.Values.pod.labels $component }}
{{ index $envAll.Values.pod "labels" $component | toYaml }}
{{- end -}}
{{- if hasKey $envAll.Values.pod.labels "default" }}
{{ $envAll.Values.pod.labels.default | toYaml }}
{{- end -}}
{{- end -}}
{{- end -}} {{- end -}}

View File

@@ -28,4 +28,5 @@ helm-toolkit:
- 0.2.19 Revoke all privileges for PUBLIC role in postgres dbs - 0.2.19 Revoke all privileges for PUBLIC role in postgres dbs
- 0.2.20 Modify the template of rbac_role to make secrets accessible - 0.2.20 Modify the template of rbac_role to make secrets accessible
- 0.2.21 Fix issue with db backup error return code being eaten - 0.2.21 Fix issue with db backup error return code being eaten
- 0.2.22 Add ability to set labels to add to resources
... ...