Skip to content

Commands

rackctl provisions a full nanohype platform from zero — cloud, cluster,
GitOps, controllers, and portal — then hands off to the portal for day-2 ops.
Usage:
rackctl [command]
Available Commands:
init Provision a nanohype platform from zero (full provision, AWS)
doctor Check prerequisites and platform health
upgrade Upgrade the platform to a newer nanohype release
destroy Tear down a provisioned platform (reverse order)
version Print the rackctl version

All lifecycle commands read a rackctl.yaml and export AWS_PROFILE and AWS_REGION from it before shelling out.

Provisions the platform by walking the pipeline in order.

Terminal window
rackctl init [flags]
Flag Default Description
-c, --config rackctl.yaml Path to the config file.
--apply false Provision for real. Without it, init is a dry-run plan.
--no-clean-on-failure false Leave resources in place if a phase fails (default is reverse rollback).
--tui false Interactive TUI progress view instead of a scrolling log.
Terminal window
# plan
rackctl init -c rackctl.yaml
# provision, watching a live progress view
rackctl init -c rackctl.yaml --apply --tui

Checks prerequisites and, if a cluster exists, its health. Safe to run anytime.

Terminal window
rackctl doctor

It verifies, in order:

  1. The required tools are on your PATH.
  2. Your AWS identity resolves (aws sts get-caller-identity) — otherwise it nudges you to aws sso login.
  3. If a cluster is in your kubeconfig, that it’s reachable and that ArgoCD applications are present.

Moves the platform to a newer nanohype release.

Terminal window
rackctl upgrade [-c rackctl.yaml]

It pulls the latest eks-gitops addon catalog (git pull --ff-only) and bumps the operator chart (helm upgrade --install). ArgoCD then reconciles the catalog to match.

Tears the platform down, running the landing-zone components in the reverse of the order they were applied.

Terminal window
rackctl destroy [-c rackctl.yaml] [--apply]
Flag Default Description
-c, --config rackctl.yaml Path to the config file.
--apply false Actually destroy. Without it, destroy is a dry-run plan.

Destroy order is cluster-addons → cluster-bootstrap → secrets → cluster → network.

Terminal window
rackctl version

Prints the version, set at build time via -ldflags.

  • Dry-run is the default for init and destroy. Nothing changes in the cloud until you pass --apply.
  • Config is validated before any command does work — see validation.
  • Errors and usage are printed cleanly (no cobra stack noise) so failures are easy to read in CI logs.