Skip to content

ironflow provision

Provision infrastructure for Ironflow (Kubernetes cluster creation).

Terminal window
ironflow provision <subcommand> [flags]

Prerequisites: --provider hetzner needs terraform on your PATH and HCLOUD_TOKEN exported (destroy also needs the hcloud CLI); provision status --provider hetzner shells out to kubectl. --provider k3d needs k3d (and a running Docker daemon). Each command fails with an install link when its tool is missing.

Subcommands:

SubcommandDescription
createCreate a Kubernetes cluster
statusCheck infrastructure status
destroyDestroy provisioned infrastructure

Create a Kubernetes cluster on the specified provider. The --name flag sets the cluster name — all cloud resources (servers, networks, firewalls, SSH keys, load balancers) are named after it. A kubeconfig is saved to ~/.kube/clusters/<provider>-<name>.yaml.

Terminal window
ironflow provision create [flags]

Flags:

FlagShortTypeDefaultDescription
--providerstringInfrastructure provider: hetzner, k3d (required)
--namestringCluster name (required). Used to name all cloud resources and the saved kubeconfig file.
--templatestringCluster size: small, medium, large (required)

Examples:

Terminal window
# Hetzner Cloud (real infrastructure)
ironflow provision create --provider hetzner --template medium --name ironflow
# Kubeconfig saved to ~/.kube/clusters/hetzner-ironflow.yaml
# Multiple clusters with different names
ironflow provision create --provider hetzner --template small --name staging
ironflow provision create --provider hetzner --template medium --name prod
# Kubeconfigs: ~/.kube/clusters/hetzner-staging.yaml, ~/.kube/clusters/hetzner-prod.yaml
# Local k3d (Docker Desktop)
ironflow provision create --provider k3d --template small --name dev
ironflow provision create --provider k3d --template medium --name dev

Check status of provisioned infrastructure.

Terminal window
ironflow provision status [flags]

Flags:

FlagShortTypeDefaultDescription
--providerstringInfrastructure provider: hetzner, k3d (required)
--namestringCluster name (required)

Examples:

Terminal window
ironflow provision status --provider hetzner --name ironflow
ironflow provision status --provider k3d --name dev

Destroy provisioned infrastructure.

Terminal window
ironflow provision destroy [flags]

Flags:

FlagShortTypeDefaultDescription
--providerstringInfrastructure provider: hetzner, k3d (required)
--namestringCluster name (required)

Examples:

Terminal window
ironflow provision destroy --provider hetzner --name ironflow
ironflow provision destroy --provider k3d --name dev