Uninstall & Cleanup
Remove BoltMCP and associated resources.
Set Variables
Export the Helm release name and namespace so the commands below can be pasted verbatim. Both default to boltmcp — adjust if you installed under different names (run helm list -A to look them up).
export RELEASE=boltmcp
export NAMESPACE=boltmcpUninstall the Helm Release
helm uninstall ${RELEASE} -n ${NAMESPACE}Delete Persistent Data
This deletes all persistent volume claims in the namespace, including the database. All data will be lost.
kubectl delete pvc -n ${NAMESPACE} --allDelete Secrets
The three application secrets and the image pull secret were created manually during Cluster Prep and are not managed by Helm, so helm uninstall does not remove them. Delete them explicitly:
kubectl delete secret \
${RELEASE}-auth \
${RELEASE}-database \
${RELEASE}-oidc \
boltmcp-pull-secret \
-n ${NAMESPACE}The three application secrets default to <release>-auth, <release>-database, <release>-oidc. The pull secret defaults to boltmcp-pull-secret — adjust the command above if you created it under a different name in cluster prep.
Remove Ingress Resources
If you configured Ingress & TLS, remove those resources:
If other services in your cluster share the same NGINX Ingress Controller or cert-manager installation, skip those components below.
# Ingress and TLS secret (names come from boltmcp-ingress.yaml — adjust if you renamed them)
kubectl delete ingress boltmcp-ingress -n ${NAMESPACE}
kubectl delete secret boltmcp-tls -n ${NAMESPACE}
# Certificate (may return NotFound if already cleaned up by cert-manager)
kubectl delete certificate boltmcp-tls -n ${NAMESPACE}
# ClusterIssuers
kubectl delete clusterissuer letsencrypt-staging
kubectl delete clusterissuer letsencrypt-production
# cert-manager (helm uninstall intentionally keeps CRDs — delete them manually)
helm uninstall cert-manager -n cert-manager
kubectl delete namespace cert-manager
kubectl delete crd \
challenges.acme.cert-manager.io \
orders.acme.cert-manager.io \
certificaterequests.cert-manager.io \
certificates.cert-manager.io \
clusterissuers.cert-manager.io \
issuers.cert-manager.io
# NGINX Ingress Controller
helm uninstall ingress-nginx -n ingress-nginx
kubectl delete namespace ingress-nginxRelease Static IP
REGION=$(gcloud container clusters describe <cluster-name> \
--format="get(location)" | sed 's/-[a-z]$//')
gcloud compute addresses delete boltmcp-ingress-ip --region $REGION# Find the allocation ID
ALLOCATION_ID=$(aws ec2 describe-addresses \
--filters "Name=tag:Name,Values=boltmcp-*" \
--query 'Addresses[0].AllocationId' --output text)
aws ec2 release-address --allocation-id $ALLOCATION_IDNODE_RG=$(az aks show \
--resource-group boltmcp-rg \
--name boltmcp-cluster \
--query nodeResourceGroup -o tsv)
az network public-ip delete \
--resource-group $NODE_RG \
--name boltmcp-ingress-ipRemove DNS A records for your subdomains (web.boltmcp, auth.boltmcp, playground.boltmcp, server.boltmcp, inspector.boltmcp) from your DNS provider.
Delete the Namespace
If you no longer need the namespace, delete it:
kubectl delete namespace ${NAMESPACE}Skip this step if you plan to reinstall BoltMCP into the same namespace.
Delete the Cluster
If you no longer need the Kubernetes cluster:
gcloud container clusters delete boltmcp-cluster --zone europe-west2-aeksctl delete cluster --name boltmcp-cluster --region eu-west-2az aks delete \
--resource-group boltmcp-rg \
--name boltmcp-cluster
# Optionally delete the resource group
az group delete --name boltmcp-rgClean Up Local Workstation (Optional)
kubeconfig
Deleting the cluster in your cloud provider does not touch your local ~/.kube/config. The stale context, cluster, and user entries will remain until you remove them explicitly:
kubectl config delete-context <context-name>
kubectl config delete-cluster <cluster-name>
kubectl config delete-user <user-name>Run kubectl config get-contexts first to find the exact names. If the deleted context was your active one, set a new active context afterwards:
kubectl config use-context <other-context-name>Local YAML manifests
Remove any files you created locally during install — for example values-prod.yaml, cluster-issuer-staging.yaml, cluster-issuer-production.yaml, and boltmcp-ingress.yaml — from the directory where you ran the install.
Helm registry credentials
If you authenticated Helm against the BoltMCP container registry during cluster prep, log out to remove the cached credential at ~/.config/helm/registry/config.json:
helm registry logout europe-west2-docker.pkg.dev