create-cpo-override
Interactively create CPO image overrides — resolves images, verifies fixes, edits overrides.yaml, and prepares a PR
Destroy a HyperShift HostedCluster and all associated AWS infrastructure (VPC, IAM, Route53, etc.).
Claude Code
$ npx -y skills add openshift/hypershift --skill destroy-hc-aws --agent claude-code
Codex
$ npx skills add openshift/hypershift --skill destroy-hc-aws -a codex -y
Cursor
$ npx skills add openshift/hypershift --skill destroy-hc-aws -a cursor -y
Gemini CLI
$ npx skills add openshift/hypershift --skill destroy-hc-aws -a gemini-cli -y
GitHub Copilot
$ npx skills add openshift/hypershift --skill destroy-hc-aws -a github-copilot -y
OpenCode
$ npx skills add openshift/hypershift --skill destroy-hc-aws -a opencode -y
Windsurf
$ npx skills add openshift/hypershift --skill destroy-hc-aws -a windsurf -y
name: Destroy HC AWS description: "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:
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.
1. Check if there are stuck finalizers 2. Remove the cleanup-cloud-resources annotation if you want to skip AWS cleanup 3. Manually delete AWS resources if needed
HyperShift is a middleware for hosting OpenShift control planes at scale that solves for cost and time to provision, as well as portability cross cloud with strong separation of concerns between management and workloads.
Interactively create CPO image overrides — resolves images, verifies fixes, edits overrides.yaml, and prepares a PR
Provides systematic debugging approaches for HyperShift hosted-cluster issues. Auto-applies when debugging cluster problems,…
Build and push control-plane-operator container image. Auto-applies when testing CPO changes that require deploying to a live…
Build and push hypershift-operator container image. Auto-applies when testing HO changes that require deploying to a live cluster.
Create a HyperShift HostedCluster on AWS for development and testing, with optional custom CPO/HO images.
Provides the ability to run and iterate on HyperShift e2e tests. Auto-applies when implementing features that require e2e…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.