OpenFrame Documentation
Deployment guides, the CLI reference, architecture and admin guides for OpenFrame
OpenFrame is on your phone now! · iOS and Android apps are live. Get alerts and handle tickets on the go!
Deployment guides, the CLI reference, architecture and admin guides for OpenFrame
This guide shows the person installing OpenFrame (an administrator or operator at a terminal) how to use the openframe command to provision a new Kubernetes cluster — a local k3d cluster, or a cloud GKE or EKS cluster — ready for the OpenFrame platform to be installed onto it.
openframe from a terminal (check with openframe --help).k3d backend provisions the cluster inside Docker.openframe-dev.$PATH by running openframe --help.openframe cluster create with no arguments to see the cluster creation selection menu, which offers Quick start with defaults (press Enter) or the interactive configuration wizard.openframe cluster create my-cluster instead, replacing my-cluster with the name you want; the CLI validates the name before continuing.openframe cluster create with --skip-wizard and the relevant flags, for example:openframe cluster create --nodes 3 --type k3d --skip-wizard for a local cluster.openframe cluster create my-gke --type gke --project my-project --region us-central1 --skip-wizard for a GKE cluster.openframe cluster create my-eks --type eks --region us-east-1 --skip-wizard for an EKS cluster (add --profile staging to use a named AWS profile).--skip-wizard or --dry-run is used, which shows the settings before anything is created.--dry-run to any cloud cluster command first to preview the Terraform plan and an estimated monthly cost without creating anything; re-run the same command without --dry-run once you are satisfied.gcloud auth login (and application-default login) prompt the CLI offers, so Terraform can authenticate against your Google Cloud project.aws sts get-caller-identity resolves) before it proceeds, so you are provisioning in the expected AWS account.k3d this happens through Docker; for gke/eks this runs Terraform init, plan, and apply against the generated Terraform workspace.openframe cluster status my-cluster (or openframe cluster status for the default name) to confirm the cluster is healthy and ready for the next step, installing the OpenFrame platform.openframe cluster create run with no arguments, you see a selection menu offering a quick-start default option and an interactive wizard option.--skip-wizard), the CLI prints a configuration summary showing the cluster type, name, node count, and (for cloud types) region/project before creating anything.--dry-run, the CLI prints a Terraform plan diff and, where available, an estimated monthly cost (through infracost); it reports "Plan: no changes — the cluster already matches this configuration" if nothing would change.openframe cluster status reports the cluster as healthy.<n>" — you explicitly passed --nodes with a value of zero or less; omit the flag (default is 3) or pass a positive integer.0; omit the flag instead to use the default.<project> is not among your accessible projects" (or, with more than 15 accessible projects, a message pointing you to run gcloud projects list) — the --project value for a GKE create does not match a project your current gcloud identity can access; pick one of the listed projects or re-authenticate.<name>' already exists in region/project '<region-or-project>' but is not managed by openframe — refusing to touch it; pick another cluster name" — a cluster with that name already exists in the cloud account outside of OpenFrame's tracking; choose a different name.<profile/identity> cannot authenticate (aws sts get-caller-identity failed)" — your AWS credentials or named profile are not usable; fix your AWS CLI configuration and re-run.<name>' already exists and points at <server> — refusing to overwrite it; rename the existing context or pick another cluster name" — an unrelated kubeconfig context already uses that cluster name; rename it or choose a different cluster name for the new create.openframe cluster create with the same name resumes the attempt, or openframe cluster delete tears it down; if the failure message mentions a resource that "already exists" in AWS or GCP but is not tracked by Terraform, follow the CLI's remediation steps (delete the orphaned resource in the cloud console, or import it into the Terraform state as shown in the message) before retrying.--dry-run on a cloud cluster the CLI simply skips the plan preview and tells you so; for a real (non-dry-run) create, the CLI installs Terraform automatically as part of its prerequisite check.