Quick Start
You need:
- Python 3.12+
- OpenTofu or Terraform. Orbit uses
$TOFU_PATH, thentofu, thenterraformfrom yourPATH. - A GCP project with billing enabled.
- Credentials:
gcloud auth login, orGOOGLE_APPLICATION_CREDENTIALSpointing at a service-account key. With a key, Orbit also sets up the private services access Cloud SQL needs; withgcloudyou set it up once yourself (see GCP Provider).
-
Install
Section titled “Install”Terminal window pip install astromesh-cli "astromesh-orbit[gcp]"astromeshctl orbit --helpThe
gcpextra brings the Google client libraries used for validation, the state bucket and VPC peering. -
Enable the APIs
Section titled “Enable the APIs”Terminal window gcloud services enable run.googleapis.com sqladmin.googleapis.com redis.googleapis.com \secretmanager.googleapis.com vpcaccess.googleapis.com storage.googleapis.com \artifactregistry.googleapis.com monitoring.googleapis.com cloudtrace.googleapis.com \logging.googleapis.com --project my-project-123Orbit checks these ten but never enables them for you.
-
Write orbit.yaml
Section titled “Write orbit.yaml”Terminal window astromeshctl orbit initThe wizard asks for the project, the region, a deployment name, the environment (
develop,stagingorproduction) and a preset:starter(about $15/month) orpro(about $80/month, with HA database and cache). It writesorbit.yamland adds.orbit/to.gitignore.--preset starterskips that question. -
Terminal window astromeshctl orbit planOrbit validates credentials, project and APIs, creates the state bucket if needed, renders
.orbit/generated/and runsplan:Orbit Deployment PlanValidating... OKOK State bucket created: gs://my-project-123-astromesh-orbit-stateResources to create: …A failed check prints the command that fixes it and exits with code 1.
-
Terminal window astromeshctl orbit applyIt asks before creating billable resources (
--auto-approveskips the question, for CI), then validates again and applies. The first apply takes several minutes; Cloud SQL and Memorystore are the slow ones. At the end it prints the runtime URL and writes.orbit/orbit.env. -
Verify
Section titled “Verify”Terminal window astromeshctl orbit statuscurl "$(grep RUNTIME_URL .orbit/orbit.env | cut -d= -f2)/v1/health"statuslistsastromesh-runtimewith its URL.orbit logs --since 10mshows what the container printed.To use the runtime from Cortex, add its URL as a remote runtime connection.
-
Clean up
Section titled “Clean up”Terminal window astromeshctl orbit destroyIt asks first, then destroys everything Orbit created. The RAG bucket is created with
force_destroy = false, so empty it before destroying or the destroy stops there. The state bucket is kept: delete it by hand once you are sure, withgsutil rm -r gs://my-project-123-astromesh-orbit-state.
Next steps
Section titled “Next steps”- Configuration — tune compute, database, cache, storage and observability
- GCP Provider — what each resource is and what the runtime receives
- CLI Reference