uninstall-eso-v2-e2e.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. #
  3. # Uninstall External Secrets Operator V2 E2E installation
  4. # This script removes the monolithic Helm chart installation
  5. #
  6. set -e
  7. NAMESPACE="external-secrets-system"
  8. # Colors
  9. GREEN='\033[0;32m'
  10. RED='\033[0;31m'
  11. YELLOW='\033[1;33m'
  12. NC='\033[0m'
  13. log_info() {
  14. echo -e "${GREEN}[INFO]${NC} $1"
  15. }
  16. log_warning() {
  17. echo -e "${YELLOW}[WARN]${NC} $1"
  18. }
  19. log_info "Uninstalling External Secrets Operator V2"
  20. # Delete all ExternalSecret resources first (they have finalizers that need to be removed by the controller)
  21. log_info "Deleting all ExternalSecret resources (waiting for finalizers to be processed)"
  22. kubectl delete externalsecrets --all --all-namespaces --timeout=120s 2>/dev/null || log_warning "No ExternalSecrets found or already deleted"
  23. # Delete other resources that may have finalizers
  24. log_info "Deleting all PushSecret resources"
  25. kubectl delete pushsecrets --all --all-namespaces --timeout=120s 2>/dev/null || log_warning "No PushSecrets found or already deleted"
  26. log_info "Deleting all ClusterExternalSecret resources"
  27. kubectl delete clusterexternalsecrets --all --timeout=120s 2>/dev/null || log_warning "No ClusterExternalSecrets found or already deleted"
  28. log_info "Deleting all ClusterPushSecret resources"
  29. kubectl delete clusterpushsecrets --all --timeout=120s 2>/dev/null || log_warning "No ClusterPushSecrets found or already deleted"
  30. # Uninstall the monolithic Helm release
  31. log_info "Removing Helm release: external-secrets"
  32. helm uninstall external-secrets -n "$NAMESPACE" 2>/dev/null || log_warning "Helm release 'external-secrets' not found"
  33. # Delete any leftover resources
  34. log_info "Cleaning up any leftover resources"
  35. # Delete CRDs (only if you want to clean them completely)
  36. log_info "Deleting CRDs"
  37. kubectl delete crd secretstores.external-secrets.io 2>/dev/null || true
  38. kubectl delete crd clustersecretstores.external-secrets.io 2>/dev/null || true
  39. kubectl delete crd externalsecrets.external-secrets.io 2>/dev/null || true
  40. kubectl delete crd clusterexternalsecrets.external-secrets.io 2>/dev/null || true
  41. kubectl delete crd pushsecrets.external-secrets.io 2>/dev/null || true
  42. kubectl delete crd clusterpushsecrets.external-secrets.io 2>/dev/null || true
  43. kubectl delete crd generators.external-secrets.io 2>/dev/null || true
  44. kubectl delete crd clustergenerators.external-secrets.io 2>/dev/null || true
  45. # Delete namespace
  46. log_info "Deleting namespace: $NAMESPACE"
  47. kubectl delete namespace "$NAMESPACE" --ignore-not-found=true --timeout=60s
  48. log_info "Uninstallation complete"