105 lines
3.7 KiB
YAML
105 lines
3.7 KiB
YAML
{{- if and (eq .Values.installMode "host") (eq .Values.certs.mode "auto") }}
|
|
{{- $name := include "karmada.name" . -}}
|
|
{{- $namespace := include "karmada.namespace" . -}}
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: "{{ $name }}-post-delete"
|
|
namespace: {{ $namespace }}
|
|
labels:
|
|
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
{{- include "karmada.postDeleteJob.labels" . | nindent 4 }}
|
|
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-delete
|
|
"helm.sh/hook-weight": "0"
|
|
"helm.sh/hook-delete-policy": {{ .Values.postDeleteJob.hookDeletePolicy }}
|
|
spec:
|
|
parallelism: 1
|
|
completions: 1
|
|
template:
|
|
metadata:
|
|
name: {{ $name }}
|
|
labels:
|
|
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
{{- include "karmada.imagePullSecrets" . | nindent 6 }}
|
|
{{- with .Values.postDeleteJob.tolerations}}
|
|
tolerations:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.postDeleteJob.nodeSelector }}
|
|
nodeSelector:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
serviceAccountName: {{ $name }}-hook-job
|
|
restartPolicy: Never
|
|
containers:
|
|
- name: post-delete
|
|
image: {{ template "karmada.kubectl.image" . }}
|
|
imagePullPolicy: {{ .Values.kubectl.image.pullPolicy }}
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
bash <<'EOF'
|
|
set -ex
|
|
kubectl delete -f /opt/mount/ --ignore-not-found=true
|
|
kubectl delete -f /opt/crds/ --ignore-not-found=true -R
|
|
kubectl delete -f /opt/static-resources/ --ignore-not-found=true -R
|
|
kubectl delete cm/{{ $name }}-config -n {{ $namespace }} --ignore-not-found=true
|
|
kubectl delete deployment/{{ $name }}-controller-manager -n {{ $namespace }} --ignore-not-found=true
|
|
EOF
|
|
volumeMounts:
|
|
- name: mount
|
|
mountPath: /opt/mount
|
|
- name: crds-autoscaling-base
|
|
mountPath: /opt/crds/base/autoscaling
|
|
- name: crds-config-base
|
|
mountPath: /opt/crds/base/config
|
|
- name: crds-multicluster-base
|
|
mountPath: /opt/crds/base/multicluster
|
|
- name: crds-networking-base
|
|
mountPath: /opt/crds/base/networking
|
|
- name: crds-policy-base
|
|
mountPath: /opt/crds/base/policy
|
|
- name: crds-remedy-base
|
|
mountPath: /opt/crds/base/remedy
|
|
- name: crds-work-base
|
|
mountPath: /opt/crds/base/work
|
|
- name: static-resources
|
|
mountPath: /opt/static-resources
|
|
volumes:
|
|
- name: mount
|
|
configMap:
|
|
name: {{ $name }}-config
|
|
- name: crds-autoscaling-base
|
|
configMap:
|
|
name: {{ $name }}-crds-autoscaling-bases
|
|
- name: crds-config-base
|
|
configMap:
|
|
name: {{ $name }}-crds-config-bases
|
|
- name: crds-multicluster-base
|
|
configMap:
|
|
name: {{ $name }}-crds-multicluster-bases
|
|
- name: crds-networking-base
|
|
configMap:
|
|
name: {{ $name }}-crds-networking-bases
|
|
- name: crds-policy-base
|
|
configMap:
|
|
name: {{ $name }}-crds-policy-bases
|
|
- name: crds-remedy-base
|
|
configMap:
|
|
name: {{ $name }}-crds-remedy-bases
|
|
- name: crds-work-base
|
|
configMap:
|
|
name: {{ $name }}-crds-work-bases
|
|
- name: crds-apps-base
|
|
configMap:
|
|
name: {{ $name }}-crds-apps-bases
|
|
- name: static-resources
|
|
configMap:
|
|
name: {{ $name }}-static-resources
|
|
{{- end }}
|