Hangar

The platform · An internal developer platform, from the inside

One platform, built to be easy to live with

Hangar is the internal developer platform I've always wanted to work on. Under the hood it's a Crossplane control plane, GitOps delivery through ArgoCD, Tower on Backstage as the place people actually look, and Glidepath for CI/CD. It looks after two kinds of work, container apps and AI agents, through the same API and under the same rules.

No cluster ever holds credentials for another cluster's API. The only thing that crosses a boundary is a reviewed, merged commit.

That rule came out of Glidepath's multi-cluster work, was verified live twice, and every later design carries it forward rather than reopening it. Backstage holds no Kubernetes credentials at all; even creating a new service is a commit. Outcomes come back as events, never as an API call reaching the other way.

Four layers

Control plane

Crossplane and Airframe

The platform's API. XRDs define what a compliant service is; Compositions and Functions make it real, and watch it afterwards.

Delivery

Glidepath and ArgoCD

Tekton pipelines chained by events, promotion by pull request, one ArgoCD per cluster as the only writer.

Experience

Tower on Backstage

Self-service, release orchestration and operations in one place, with every change made as a GitOps PR.

Ground

Apron clusters

Every cluster starts from the same template and the same bootstrap order, with its own trust roots.

Architecture · 05 of 08 · The contractThe contract: one source, generated artifacts, four consumersOpen full page ↗

Two kinds of workload, one platform

An AI agent gets the same treatment as a service, with less authority by default.

Container appsAI agent workloads
Defined byAn Airframe claim (app stack, environments, components) in gitAn agent definition, schema-validated, in git
Created byA reviewed commit, usually opened from TowerA reviewed commit for the definition; a scoped claim for each run
Runs onIts own namespaces per environment, on every cluster it is promoted toA sandbox in one reserved namespace, on dev clusters only
IdentityKubernetes service accounts, verified by TokenReviewThe same, plus a scoped token per call from Clearance
Changes the platform byPull requests to its GitOps repo, synced by ArgoCDPull requests, through the same gates plus two for agents
Observed throughOTel traces, DORA metrics, SLOs in TowerThe same telemetry, plus a hash-chained flight recorder
Architecture · 01 of 19 · Hangar todayHangar as it is, and the one new component beside itOpen full page ↗
Architecture · 01 of 10 · Agent substrateAgent execution substrate: sandboxed, scoped, disposableOpen full page ↗
Layer stack · 05 of 10 · Multi-cloud platformOne platform surface across AWS and OCIOpen full page ↗

The products

Follow a change through the whole lifecycle →