Two different clouds
These pages are about where Airship itself runs. Where runner machines run is a separate choice, made by connecting a credential — see Connecting a cloud. The two are independent: a control plane on Cloud Run can launch EC2 instances, and the reverse.The control plane needs no cloud permissions of its own. It launches
machines with the credentials you connect in the dashboard, never with the
identity of the platform it runs on.
What you need
The shape of a deployment
1
Create the GitHub App
Callback URL, webhook URL, permissions and event subscriptions. See
GitHub App.
2
Provision Postgres and run the migration
The image ships a
migrate entrypoint. Run it once per release, before
the new API starts.3
Generate a credentials key and keep it safe
4
Run the API, and the dashboard pointed at it
Several API replicas are fine: launchers claim runners with row locks, and
the reconciler elects a leader through a database advisory lock.
5
Install your app and connect a cloud
From then on it is the ordinary Quickstart.
Running it
/docs on the API itself, and /healthz
answers for your load balancer.
Where to run it
Deployment guides
Container platform plus managed Postgres, or a single server with Docker
Compose and automatic TLS.
Configuration reference
Every environment variable, what is required, and what must never be set
in production.