#!/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!"