From b196ee833a7deddcf30af923f59e0c70dd77d6f3 Mon Sep 17 00:00:00 2001 From: Bast Date: Tue, 3 Nov 2026 14:31:34 -0600 Subject: [PATCH] intr destroy --- destroy-tf-force.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 destroy-tf-force.sh diff --git a/destroy-tf-force.sh b/destroy-tf-force.sh new file mode 100755 index 00000000..151fdf82 --- /dev/null +++ b/destroy-tf-force.sh @@ -0,0 +1,35 @@ +#!/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!"