apiVersion: batch/v1 kind: Job metadata: name: {{ include "common.fullname" . }}-pre-upgrade annotations: "helm.sh/hook": "pre-upgrade" "helm.sh/hook-weight": "1" "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded spec: template: spec: securityContext: fsGroup: 1001 runAsUser: 1001 containers: - name: mariadb-job-pre-upgrade image: {{ include "repositoryGenerator.image.kubectl" . }} imagePullPolicy: IfNotPresent env: - name: NAMESPACE_ENV valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace command: ["/bin/bash", "-c", "--"] args: ["/upgrade/upgrade-scripts.sh"] volumeMounts: - name: config-mariadb-upgrade mountPath: /upgrade volumes: - name: config-mariadb-upgrade configMap: name: {{ include "common.fullname" . }}-upgrade-deployment defaultMode: 0777 restartPolicy: OnFailure --- apiVersion: batch/v1 kind: Job metadata: name: {{ include "common.fullname" . }}-post-upgrade annotations: "helm.sh/hook": "post-upgrade" "helm.sh/hook-weight": "1" "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded spec: template: spec: securityContext: fsGroup: 1001 runAsUser: 0 initContainers: - image: {{ include "repositoryGenerator.image.readiness" . }} name: mariadb-galera-upgrade-readiness env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace command: - /app/ready.py args: - --container-name - mariadb-galera containers: - name: mariadb-job-post-upgrade image: {{ include "repositoryGenerator.image.kubectl" . }} imagePullPolicy: IfNotPresent env: - name: NAMESPACE_ENV valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: REPLICA_COUNT value: "{{ .Values.replicaCount }}" command: ["/bin/bash", "-c", "--"] args: ["/upgrade/post-upgrade-script.sh"] volumeMounts: - name: config-mariadb-upgrade mountPath: /upgrade volumes: - name: config-mariadb-upgrade configMap: name: {{ include "common.fullname" . }}-post-upgrade-deployment defaultMode: 0777 restartPolicy: OnFailure --- apiVersion: batch/v1 kind: Job metadata: name: {{ include "common.fullname" . }}-post-delete annotations: "helm.sh/hook": "post-delete" "helm.sh/hook-weight": "1" "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded spec: template: spec: containers: - name: mariadb-job-post-delete image: {{ include "repositoryGenerator.image.kubectl" . }} imagePullPolicy: IfNotPresent command: ["/bin/bash", "-c", "--"] args: - for ((index=0;index<{{ $.Values.replicaCount }};index+=1)); do kubectl delete pvc "{{ include "common.fullname" . }}-data-{{ include "common.fullname" . }}-$index"; done; kubectl delete deployment {{ include "common.fullname" . }}-upgrade-deployment; restartPolicy: OnFailure