astrolift.toml
Bring your own cloud.
Ship the same way everywhere.
Astrolift is an opinionated, multi-tenant, multi-cloud PaaS. Run a control plane on AWS, Azure, GCP or OCI, declare your apps in astrolift.toml, and deploy to any Kubernetes cluster with one workflow.
Why Astrolift
One way to ship — on infrastructure you own.
No bespoke deploy scripts per cloud, no DevOps bottleneck. Declare once, ship anywhere.
One manifest, any cloud
Describe the app once in astrolift.toml; the same workflow targets AWS, Azure, GCP or OCI.
Managed services on demand
Postgres, queues and caches provisioned for your apps — declared, not click-opsed.
Preview environments per PR
Every pull request gets a full, isolated preview — torn down automatically on merge.
Multi-tenant from day one
Tenants, projects, workloads and policy are first-class in the control plane — not bolted on.
What's inside
Four open components, one PaaS.
Astrolift is open source under calliopeai on GitHub. Read it, run it, fork it.
Control plane
The service that owns tenants, projects, workloads and policy — backed by Postgres & Temporal.
calliopeai/astrolift-backend View repo ↗Operator UI
The console for operators — deployments, workflows, secrets, forms and audit in one place.
calliopeai/astrolift-frontend View repo ↗astro CLI
A single Go binary to authenticate and manage workloads from your terminal or CI.
calliopeai/astrolift-cli View repo ↗Status page
A lightweight health-monitoring service for your deployments and the control plane itself.
calliopeai/astrolift-status View repo ↗How it works
Install. Declare. Deploy.
Three steps from an empty cluster to PR-preview deploys in your own account.
Install on your cluster
Point Astrolift at a Kubernetes cluster in your cloud. The control plane and managed services provision automatically.
Describe your apps
Declare services, resources and routes in astrolift.toml — one manifest that travels across every cloud.
Deploy your way
Ship through the astro CLI, the operator UI, or the GraphQL API — with a preview env on every pull request.
# one manifest — any cloud [app] name = "payments" cloud = "aws" # or azure | gcp | oci [service.api] build = "./api" port = 8080 scale = { min = 2, max = 10 } [resources] postgres = "15" redis = "7" [previews] per_pull_request = true
Get started
Install the astro CLI.
Pick your platform. Then astro login and ship.
brew install calliopeai/tap/astro
scoop install astro
curl -fsSL https://astrolift.ai/install.sh | sh
docker run --rm calliopeai/astro:latest
Run it where you already are
Your cloud, your account, your keys.
Astrolift runs the control plane inside your own cloud — data and workloads never egress.
Part of the Calliope AI platform
Build it. Run it. Govern it.
Astrolift is the run layer of Calliope AI — the same team, the same private-AI perimeter, three composable products.
Code, notebooks, chat & agents in one governed environment.
Ship the whole stack into your own cloud — multi-cloud, multi-tenant PaaS.
You are here ▲Agent GRC — observability and real-time policy for everything you run.

Govern · Agent GRC