Paving · 01 of 03 · The shape

Two kinds of road, one contract

A developer asks for a noun. Whether that noun becomes a pod on a cluster or a managed service in a cloud is the platform's business, and the request, the status and the rules look the same either way.

Two kinds of road, one contract Four rows. Who asks: a Backstage form, Tower, an agent using the same typed API, or a pull request with an XR file in git. All of them reach one contract in Airframe's catalog.hangar.io group, the same for every kind: a schema, a closed set of status reasons, an entry in the catalog and the policy as code. Under it sit two columns: Kubernetes resources such as PythonApplication, PostgreSQL, Redis and RabbitMQ, and, highlighted, cloud resources such as LambdaFunction, AwsEcsTarget, MessageQueue and ObjectStorage. Crossplane reconciles both, with compositions and providers, and puts drift back. They land in four places: app clusters with Argo CD and Rollouts, in-cluster data with CloudNativePG, Redis and RabbitMQ, AWS (Lambda, ECS, SQS, S3 and RDS) and Azure (Functions and Container Apps). WHO ASKSAIRFRAME · ONE CONTRACT · CATALOG.HANGAR.IORECONCILED BY CROSSPLANEWHERE IT LANDSBackstage forma scaffolder templateTowerthe developer viewAn agentthe same API, typedA pull requestan XR file in gitThe same contract for every kinda schema · a closed set of status reasons · an entry in the catalog · the policy, as codeKubernetes resourcesPythonApplication · PostgreSQL · Redis · RabbitMQCloud resourcesLambdaFunction · AwsEcsTarget · MessageQueue · ObjectStorageCrossplanecompositions · providers · drift is put backApp clustersArgo CD · RolloutsIn-cluster dataCNPG · Redis · RabbitMQAWSLambda · ECS · SQS · S3 · RDSAzureFunctions · Container AppsKubernetes is where the contract is kept, not where every road has to end.LEGENDWho asksThe contract, and its cloud kindsKubernetesA cloud

One front door

A form, Tower, an agent and a pull request all create the same kind of resource. A new cloud kind changed none of them.

One shape

A queue on RabbitMQ and a queue on SQS answer the same questions: what can I ask for, what do I always get, and how do I know it worked.

More than a front end

Kubernetes holds the contract and runs the reconcilers. The resources it describes can live anywhere the providers reach.

Hangar · Airframe · Paving