Created
July 8, 2025 23:24
-
-
Save nkreiger/22c5eda609de4db460aef5040c6e7352 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # bashsupport disable=BP5006 | |
| set -euo pipefail | |
| ############################################################################## | |
| # Default Parameters | |
| ############################################################################## | |
| # Usage: | |
| # ./uninstall_fianu.sh [NAMESPACE] [RELEASE_NAME] [--full] | |
| # Defaults: | |
| # NAMESPACE: fianu | |
| # RELEASE_NAME: fianu-core | |
| NAMESPACE=${1:-"fianu"} | |
| RELEASE_NAME=${2:-"fianu-core"} | |
| # Check for optional full cleanup flag (deletes namespace if set) | |
| FULL_CLEANUP=false | |
| if [[ "${3:-}" == "--full" ]]; then | |
| FULL_CLEANUP=true | |
| fi | |
| ############################################################################## | |
| # Logging helper for structured logs | |
| ############################################################################## | |
| log() { | |
| local level="$1" | |
| local action="$2" | |
| local details="$3" | |
| echo "$(date +'%Y-%m-%d %H:%M:%S') | LEVEL=$level | ACTION=$action | DETAILS=$details" | |
| } | |
| ############################################################################## | |
| # Main Control Flow | |
| ############################################################################## | |
| main() { | |
| log "INFO" "Script Start" "Fianu Core uninstall script started." | |
| # Uninstall the Helm release | |
| log "INFO" "Helm Uninstall" "Uninstalling Helm release '$RELEASE_NAME' from namespace '$NAMESPACE'." | |
| if helm uninstall "$RELEASE_NAME" --namespace "$NAMESPACE"; then | |
| log "INFO" "Helm Uninstall" "Helm release '$RELEASE_NAME' uninstalled successfully." | |
| else | |
| log "WARN" "Helm Uninstall" "Failed to uninstall Helm release '$RELEASE_NAME'. It may not exist or could have been already removed." | |
| fi | |
| # If the --full flag is provided, delete the namespace (skip deletion of the default namespace) | |
| if [ "$FULL_CLEANUP" = true ]; then | |
| if [ "$NAMESPACE" = "default" ]; then | |
| log "INFO" "Namespace Cleanup" "Skipping deletion of the default namespace." | |
| else | |
| log "INFO" "Namespace Cleanup" "Deleting namespace '$NAMESPACE'." | |
| if kubectl delete namespace "$NAMESPACE"; then | |
| log "INFO" "Namespace Cleanup" "Namespace '$NAMESPACE' deleted successfully." | |
| else | |
| log "WARN" "Namespace Cleanup" "Failed to delete namespace '$NAMESPACE'. It may not exist." | |
| fi | |
| fi | |
| fi | |
| log "SUCCESS" "Script Completion" "Fianu Core uninstall script completed successfully." | |
| } | |
| # Run main | |
| main |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment