38 lines
1.4 KiB
Bash
38 lines
1.4 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
namespace="cert-manager"
|
||
|
|
selectors=(
|
||
|
|
"app.kubernetes.io/name=cert-manager"
|
||
|
|
"app.kubernetes.io/instance=cert-manager"
|
||
|
|
"app.kubernetes.io/instance=certmanager-prod"
|
||
|
|
)
|
||
|
|
|
||
|
|
delete_namespaced() {
|
||
|
|
local selector="$1"
|
||
|
|
kubectl -n "${namespace}" delete deployment,daemonset,statefulset,replicaset \
|
||
|
|
--selector "${selector}" --ignore-not-found --wait=false
|
||
|
|
kubectl -n "${namespace}" delete pod,service,endpoints,serviceaccount,configmap,secret \
|
||
|
|
--selector "${selector}" --ignore-not-found --wait=false
|
||
|
|
kubectl -n "${namespace}" delete role,rolebinding \
|
||
|
|
--selector "${selector}" --ignore-not-found --wait=false
|
||
|
|
kubectl -n "${namespace}" delete job,cronjob \
|
||
|
|
--selector "${selector}" --ignore-not-found --wait=false
|
||
|
|
}
|
||
|
|
|
||
|
|
delete_cluster_scoped() {
|
||
|
|
local selector="$1"
|
||
|
|
kubectl delete clusterrole,clusterrolebinding \
|
||
|
|
--selector "${selector}" --ignore-not-found --wait=false
|
||
|
|
kubectl delete mutatingwebhookconfiguration,validatingwebhookconfiguration \
|
||
|
|
--selector "${selector}" --ignore-not-found --wait=false
|
||
|
|
}
|
||
|
|
|
||
|
|
for selector in "${selectors[@]}"; do
|
||
|
|
delete_namespaced "${selector}"
|
||
|
|
delete_cluster_scoped "${selector}"
|
||
|
|
done
|
||
|
|
|
||
|
|
kubectl delete mutatingwebhookconfiguration cert-manager-webhook --ignore-not-found --wait=false
|
||
|
|
kubectl delete validatingwebhookconfiguration cert-manager-webhook --ignore-not-found --wait=false
|