Destroy a HyperShift HostedCluster and all associated AWS infrastructure (VPC, IAM, Route53, etc.).
This skill destroys a HyperShift HostedCluster and all associated AWS infrastructure.
Use this skill when:
Source the environment file before using this skill:
source dev/claude-env.sh
Additional requirements:
$AWS_CREDS_SOURCE)$MGMT_KUBECONFIG)./bin/hypershift)Environment variables from dev/claude-env.sh:
| Variable | Description |
|---|---|
AWS_CREDENTIALS | Path to AWS credentials file |
AWS_CREDS_SOURCE | Script to source AWS env vars |
AWS_REGION | AWS region |
MGMT_KUBECONFIG | Path to management cluster kubeconfig |
source $AWS_CREDS_SOURCE && \
KUBECONFIG=$MGMT_KUBECONFIG \
./bin/hypershift destroy cluster aws \
--name <CLUSTER_NAME> \
--namespace <NAMESPACE> \
--aws-creds $AWS_CREDENTIALS \
--region $AWS_REGION
| Parameter | Description | Default |
|---|---|---|
--name | Name of the HostedCluster to destroy | Required |
--namespace | Namespace where the HostedCluster exists | clusters |
--aws-creds | Path to AWS credentials file | $AWS_CREDENTIALS |
--region | AWS region | $AWS_REGION |
The command destroys:
If a HostedCluster is stuck deleting, you can force remove it:
# Remove cleanup annotation to skip cloud resource cleanup
KUBECONFIG=$MGMT_KUBECONFIG kubectl annotate hostedcluster <NAME> -n <NAMESPACE> \
hypershift.openshift.io/cleanup-cloud-resources-
# List existing HostedClusters
KUBECONFIG=$MGMT_KUBECONFIG kubectl get hostedclusters -A
# Destroy a specific HostedCluster
source $AWS_CREDS_SOURCE && \
KUBECONFIG=$MGMT_KUBECONFIG \
./bin/hypershift destroy cluster aws \
--name my-test-cluster \
--namespace clusters \
--aws-creds $AWS_CREDENTIALS \
--region $AWS_REGION
NAT gateways take time to delete. The command will retry automatically.
The command will retry until all dependencies (subnets, gateways, etc.) are deleted.