Commands Overview
The oap-bootstrap CLI provides a linear, phase-structured command surface. Each command corresponds to a specific stage in the provisioning lifecycle.
The CLI is built using the Go standard library's flag package, rather than external frameworks like Cobra, to keep the binary dependency-free.
Global Flags
All commands accept the following global flag:
--config: Specifies the path to the configuration file. Defaults tooap.env.
Command Summary
The commands are designed to be run in the following order:
init: Collects user-supplied keys, generates random secrets, and computes derived URLs, saving the result tooap.env.doctor: Performs preflight checks to verify that required tools are installed and the configuration is ready.github: Forks the upstream repository into the target organization, registers the GitHub App via the manifest flow, and sets initial GitHub Actions secrets.cluster: Wraps the upstreamsetup.shPhase 1 script to provision the Hetzner K3s cluster and bootstrap GitOps. Captures the worker node IP address.dns: Creates Cloudflare A records pointing to the cluster node and waits for TLS certificates to be issued.identity: Creates the necessary Rauthy OIDC clients and registers the GitHub upstream provider.platform: Wraps the upstreamsetup.shPhase 2 script to materialize secrets and deploy the platform workloads.verify: Asserts the health of the deployed endpoints, TLS certificates, and webhook reachability.
Unattended Execution
For automated deployments, the CLI provides the apply command:
apply: Runs every phase in dependency order non-interactively. It requires a completeoap.envfile and the mandatory--yesflag to confirm execution.
For detailed information on the flags and behavior of each command, see the Command Reference.