Hangar

Docs · Airframe

Airframe: user guide

Documentation for application developers using this service catalog — not the people running it. If you’re creating a new service, giving it somewhere to run, or attaching it to a component like Redis, start here.

The one-sentence version: you fill out a form in Tower (or commit a manifest by hand if you’d rather), Git holds that request as the source of truth, and Crossplane reconciles it against real infrastructure continuously. You never call a provider API, run kubectl apply, or touch a Helm chart directly.

Contents

Doc Read this when…
quickstart.md You’re creating a new service and want it running, with an environment on each tier, in the next twenty minutes.
quickstart-flight-api.md You want a service that owns a database: a Spring Boot app with PostgreSQL, credentials read from the component’s Secret, and a call from part 1’s gate board.
quickstart-broker.md You want services to talk through a shared message broker: provisioning RabbitMQ as an InfraService, then attaching a publisher and a consumer with least-privilege access.
quickstart-baggage-api.md Part 4: a Python service with its own MongoDB that consumes the broker’s events, wired with fromComponent.
quickstart-skyport-auth.md Part 5: a shared Dex OIDC server as an InfraService on both clusters, a client per app, and enforced tokens: flight-api and baggage-api refuse calls without one, boarding-api sends one.
quickstart-gate-api.md Part 6: the smallest service, from one XR to a canary on the prod cluster, all from the terminal (the recorded “zero to running” run).
quickstart-checkin-api.md Part 7: the same path through Tower: the create form, the Environments and App Configuration tabs, the release.
skyport-runbook.md You are standing up all of Skyport on freshly built clusters: order, prerequisites, leftovers to clean first, and how to replay every check.

Before you commit an env file, run tools/airframe-validate glidepath/envs/dev.yaml from the Airframe repo: it catches typos the chart would otherwise silently ignore (rolout:, replcas:) and bad component values (size: gigantic). A newly created app renders no workload until its first image is built, so it is safe to configure it first. AI agents: start with AGENTS.md.

For the platform architecture underneath this guide — every XRD’s inputs/outputs, the composition graph, the plumbing — see ../admin/architecture.md.

The two environment tiers, in one line each

  • Ground — a disposable environment on the dev cluster, declared in your own repo’s glidepath/envs/*.yaml, no PR, no review.
  • Flight — a governed environment on a real upper cluster, created as an ApplicationEnvironment XR, promoted through a reviewed pull request.

Quickstart part 1 walks through both.

Illustrated version

Each quickstart also exists as an illustrated page, generated from the Markdown by tools/build-quickstart-docs: start at Airframe Quickstart, part 1. Edit the Markdown, then rerun the tool; --check fails when a page is out of date.

  • Cloud dependencies: a managed queue, bucket or PostgreSQL database on AWS or Azure, with access for Lambda targets.
  • Cloud targets: stand up the AWS Lambda, ECS or Azure Container Apps infrastructure a cloud deploy needs, on demand.