diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b637790..ad5b76a 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -50,11 +50,19 @@ jobs: - name: Terraform Deploy run: | - terraform init + # 1. Wir löschen die kollidierenden Reste fliegend über den Containernamen + docker exec local-k3s-platform kubectl delete deployment webapp --namespace default --ignore-not-found=true 2>/dev/null || true + docker exec local-k3s-platform kubectl delete service webapp-service --namespace default --ignore-not-found=true 2>/dev/null || true + docker exec local-k3s-platform kubectl delete ingress app-ingress --namespace default --ignore-not-found=true 2>/dev/null || true - # KORRIGIERT: Bereinigter, nativer Apply-Lauf. - # Wir nutzen -replace, falls Ressourcen gezielt neu aufgesetzt werden müssen, - # oder lassen Terraform bestehende Ressourcen via ID direkt überschreiben. + # 2. Wir löschen das Helm-Release direkt aus dem kube-system Namespace + docker exec local-k3s-platform kubectl delete deployment ingress-nginx-controller --namespace kube-system --ignore-not-found=true 2>/dev/null || true + docker exec local-k3s-platform kubectl delete service ingress-nginx-controller --namespace kube-system --ignore-not-found=true 2>/dev/null || true + docker exec local-k3s-platform kubectl delete service ingress-nginx-controller-admission --namespace kube-system --ignore-not-found=true 2>/dev/null || true + docker exec local-k3s-platform kubectl delete secret -n kube-system -l owner=helm --ignore-not-found=true 2>/dev/null || true + + # 3. Jetzt hat Terraform freie Bahn und setzt das Update fehlerfrei ab! + terraform init terraform apply -auto-approve -var="app_version=${{ github.sha }}" - name: Verify App Health