36 lines
1.4 KiB
Text
36 lines
1.4 KiB
Text
|
|
#!/bin/bash
|
|||
|
|
# Räumt den MT5-Helm-Release hart aus dem K3s-Cluster.
|
|||
|
|
#
|
|||
|
|
# ./destroy-tf-force.sh -> alles weg, PVC (Wine-Prefix, MT5-Login, History) bleibt
|
|||
|
|
# ./destroy-tf-force.sh --with-data -> zusätzlich PVC löschen (MT5 installiert sich neu)
|
|||
|
|
|
|||
|
|
set -u
|
|||
|
|
|
|||
|
|
RELEASE="mt5"
|
|||
|
|
NAMESPACE="trading"
|
|||
|
|
K="docker exec local-k3s-platform kubectl"
|
|||
|
|
|
|||
|
|
RESOURCES="ingress,service,deployment,statefulset,replicaset,pod,configmap,secret"
|
|||
|
|
if [ "${1:-}" = "--with-data" ]; then
|
|||
|
|
RESOURCES="${RESOURCES},pvc"
|
|||
|
|
echo "!!! --with-data: PVC ${RELEASE}-config wird mitgelöscht"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "1. Entferne alle physischen K3s-Ressourcen von '${RELEASE}' in '${NAMESPACE}'..."
|
|||
|
|
$K delete ${RESOURCES} -l app.kubernetes.io/instance=${RELEASE} -n ${NAMESPACE} \
|
|||
|
|
--ignore-not-found=true --force --grace-period=0
|
|||
|
|
|
|||
|
|
echo "2. Lösche das geheime Helm-Release-Protokoll aus der K3s-Datenbank..."
|
|||
|
|
# Helm speichert Releases als Secrets mit dem Typ 'sh.helm.release.v1...'
|
|||
|
|
$K delete secret -n ${NAMESPACE} -l owner=helm,name=${RELEASE} \
|
|||
|
|
--ignore-not-found=true --force --grace-period=0
|
|||
|
|
|
|||
|
|
echo "3. Atempause für die Cluster-API..."
|
|||
|
|
sleep 2
|
|||
|
|
|
|||
|
|
echo "4. Kontrolle – hier sollte nichts mehr von '${RELEASE}' stehen:"
|
|||
|
|
$K get all,ingress,secret,pvc -n ${NAMESPACE} -l app.kubernetes.io/instance=${RELEASE} 2>/dev/null
|
|||
|
|
$K get secret -n ${NAMESPACE} -l owner=helm,name=${RELEASE} 2>/dev/null
|
|||
|
|
|
|||
|
|
echo "Cluster ist absolut jungfräulich sauber!"
|