add custom job annotations snippet and use it
Add the ability for charts that use helm-toolkit to allow the users to set custom annotations on jobs. Use the snippet in a generic way in the job templates provided by helm-toolkit. Change-Id: I5d60fe849e172c19d865b614c3c44ea618f92f20 Depends-On: I3991d6984563813d5a3a776eabd52e2e89933bd8 Signed-off-by: Doug Goldstein <doug.goldstein@rackspace.com>
This commit is contained in:
parent
51c7affc72
commit
929ebf5200
@ -15,7 +15,7 @@ apiVersion: v1
|
||||
appVersion: v1.0.0
|
||||
description: OpenStack-Helm Helm-Toolkit
|
||||
name: helm-toolkit
|
||||
version: 0.2.62
|
||||
version: 0.2.63
|
||||
home: https://docs.openstack.org/openstack-helm
|
||||
icon: https://www.openstack.org/themes/openstack/images/project-mascots/OpenStack-Helm/OpenStack_Project_OpenStackHelm_vertical.png
|
||||
sources:
|
||||
|
@ -51,6 +51,7 @@ metadata:
|
||||
{{ toYaml $jobLabels | indent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -54,6 +54,7 @@ metadata:
|
||||
annotations:
|
||||
"helm.sh/hook": pre-delete
|
||||
"helm.sh/hook-delete-policy": hook-succeeded
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -52,6 +52,7 @@ metadata:
|
||||
{{ toYaml $jobLabels | indent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -49,6 +49,7 @@ metadata:
|
||||
{{ toYaml $jobLabels | indent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -52,6 +52,7 @@ metadata:
|
||||
{{ toYaml $jobLabels | indent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -52,6 +52,7 @@ metadata:
|
||||
{{ toYaml $jobLabels | indent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -74,6 +74,7 @@ metadata:
|
||||
{{ toYaml $jobLabels | indent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -42,6 +42,7 @@ metadata:
|
||||
{{ toYaml $jobLabels | indent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -49,6 +49,7 @@ metadata:
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
@ -47,6 +47,7 @@ metadata:
|
||||
annotations:
|
||||
"helm.sh/hook-delete-policy": before-hook-creation
|
||||
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
|
||||
{{ tuple $serviceAccountName $envAll | include "helm-toolkit.snippets.custom_job_annotations" | indent 4 -}}
|
||||
{{- if $jobAnnotations }}
|
||||
{{ toYaml $jobAnnotations | indent 4 }}
|
||||
{{- end }}
|
||||
|
76
helm-toolkit/templates/snippets/_custom_job_annotations.tpl
Normal file
76
helm-toolkit/templates/snippets/_custom_job_annotations.tpl
Normal file
@ -0,0 +1,76 @@
|
||||
{{/*
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/}}
|
||||
|
||||
{{/*
|
||||
abstract: |
|
||||
Adds custom annotations to the job spec of a component.
|
||||
examples:
|
||||
- values: |
|
||||
annotations:
|
||||
job:
|
||||
default:
|
||||
custom.tld/key: "value"
|
||||
custom.tld/key2: "value2"
|
||||
keystone_domain_manage:
|
||||
another.tld/foo: "bar"
|
||||
usage: |
|
||||
{{ tuple "keystone_domain_manage" . | include "helm-toolkit.snippets.custom_job_annotations" }}
|
||||
return: |
|
||||
another.tld/foo: bar
|
||||
- values: |
|
||||
annotations:
|
||||
job:
|
||||
default:
|
||||
custom.tld/key: "value"
|
||||
custom.tld/key2: "value2"
|
||||
keystone_domain_manage:
|
||||
another.tld/foo: "bar"
|
||||
usage: |
|
||||
{{ tuple "keystone_bootstrap" . | include "helm-toolkit.snippets.custom_job_annotations" }}
|
||||
return: |
|
||||
custom.tld/key: "value"
|
||||
custom.tld/key2: "value2"
|
||||
- values: |
|
||||
annotations:
|
||||
job:
|
||||
default:
|
||||
custom.tld/key: "value"
|
||||
custom.tld/key2: "value2"
|
||||
keystone_domain_manage:
|
||||
another.tld/foo: "bar"
|
||||
keystone_bootstrap:
|
||||
usage: |
|
||||
{{ tuple "keystone_bootstrap" . | include "helm-toolkit.snippets.custom_job_annotations" }}
|
||||
return: |
|
||||
custom.tld/key: "value"
|
||||
custom.tld/key2: "value2"
|
||||
*/}}
|
||||
|
||||
{{- define "helm-toolkit.snippets.custom_job_annotations" -}}
|
||||
{{- $envAll := index . 1 -}}
|
||||
{{- $component := index . 0 | replace "-" "_" -}}
|
||||
{{- if (hasKey $envAll.Values "annotations") -}}
|
||||
{{- if (hasKey $envAll.Values.annotations "job") -}}
|
||||
{{- $annotationsMap := $envAll.Values.annotations.job -}}
|
||||
{{- $defaultAnnotations := dict -}}
|
||||
{{- if (hasKey $annotationsMap "default" ) -}}
|
||||
{{- $defaultAnnotations = $annotationsMap.default -}}
|
||||
{{- end -}}
|
||||
{{- $annotations := index $annotationsMap $component | default $defaultAnnotations -}}
|
||||
{{- if (not (empty $annotations)) -}}
|
||||
{{- toYaml $annotations -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
@ -69,4 +69,5 @@ helm-toolkit:
|
||||
- 0.2.60 Change default ingress pathType to Prefix
|
||||
- 0.2.61 Add custom pod annotations snippet
|
||||
- 0.2.62 Add custom secret annotations snippet
|
||||
- 0.2.63 Add custom job annotations snippet and wire it into job templates
|
||||
...
|
||||
|
Loading…
Reference in New Issue
Block a user