deploy-templates/charts/velero/templates/upgrade-crds.yaml (108 lines of code) (raw):

{{- if .Values.upgradeCRDs }} {{/* 'securityContext' got renamed to 'podSecurityContext', merge both dicts into one for backward compatibility */}} {{- $podSecurityContext := merge (.Values.podSecurityContext | default dict) (.Values.securityContext | default dict) -}} apiVersion: batch/v1 kind: Job metadata: name: {{ template "velero.fullname" . }}-upgrade-crds namespace: {{ .Release.Namespace }} annotations: "helm.sh/hook": post-install,post-upgrade,post-rollback "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded labels: app.kubernetes.io/name: {{ include "velero.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} helm.sh/chart: {{ include "velero.chart" . }} spec: backoffLimit: 3 template: metadata: name: velero-upgrade-crds {{- with .Values.kubectl.labels }} labels: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.kubectl.annotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} spec: {{- if .Values.image.imagePullSecrets }} imagePullSecrets: {{- range .Values.image.imagePullSecrets }} - name: {{ . }} {{- end }} {{- end }} serviceAccountName: {{ include "velero.serverServiceAccount" . }} initContainers: - name: kubectl {{- if .Values.kubectl.image.digest }} image: "{{ .Values.kubectl.image.repository }}@{{ .Values.kubectl.image.digest }}" {{- else if .Values.kubectl.image.tag }} image: "{{ .Values.kubectl.image.repository }}:{{ .Values.kubectl.image.tag }}" {{- else }} image: "{{ .Values.kubectl.image.repository }}:{{ template "chart.KubernetesVersion" . }}" {{- end }} imagePullPolicy: {{ .Values.image.pullPolicy }} command: - /bin/sh args: - -c - cp `which sh` /tmp && cp `which kubectl` /tmp {{- with .Values.kubectl.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.kubectl.containerSecurityContext }} securityContext: {{- toYaml . | nindent 12 }} {{- end }} volumeMounts: - mountPath: /tmp name: crds containers: - name: velero {{- if .Values.image.digest }} image: "{{ .Values.image.repository }}@{{ .Values.image.digest }}" {{- else }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" {{- end }} imagePullPolicy: {{ .Values.image.pullPolicy }} command: - /tmp/sh args: - -c - /velero install --crds-only --dry-run -o yaml | /tmp/kubectl apply -f - {{- with .Values.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.containerSecurityContext }} securityContext: {{- toYaml . | nindent 12 }} {{- end }} volumeMounts: - mountPath: /tmp name: crds volumes: - name: crds emptyDir: {} restartPolicy: OnFailure {{- with $podSecurityContext }} securityContext: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- end }}