apiVersion: batch/v1 kind: Job metadata: name: {{ template "nginx.fullname" . }} labels: # The "app.kubernetes.io/managed-by" label is used to track which tool deployed a given chart. # It is useful for admins who want to see what releases a particular tool # is responsible for. app.kubernetes.io/managed-by: {{ .Release.Service }} # The "app.kubernetes.io/instance" convention makes it easy to tie a release to all of the # Kubernetes resources that were created as part of that release. app.kubernetes.io/instance: {{ .Release.Name }} # This makes it easy to audit chart usage. helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} app.kubernetes.io/name: {{ template "nginx.name" . }} annotations: # This is what defines this resource as a hook. Without this line, the # job is considered part of the release. "helm.sh/hook": post-install spec: template: metadata: name: {{ template "nginx.fullname" . }} labels: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/name: {{ template "nginx.name" . }} spec: # This shows how to use a simple value. This will look for a passed-in value # called restartPolicy. If it is not found, it will use the default value. # {{ default "Never" .restartPolicy }} is a slightly optimized version of the # more conventional syntax: {{ .restartPolicy | default "Never" }} restartPolicy: {{ .Values.restartPolicy }} containers: - name: post-install-job image: "alpine:latest" # All we're going to do is sleep for a while, then exit. command: ["/bin/sleep", "{{ .Values.sleepyTime }}"]