What is required and what is a default
Three stacks out of the box
The golden path starts from one Copier template that offers three stacks: Java (Spring), Node and Python (FastAPI). The platform renders a new product's repository from it, for the stack its catalog entry names, with the Terraform roots, the Dockerfile and a pipeline made of the platform's components. Every change to the template re-renders all three examples and compares them with the committed ones; each stack's example is built and tested whenever its part of the template or the pipeline changes.
Or your own Dockerfile
After the first commit the application is the team's: it can change the Dockerfile or add another, listed in .airframe/images.yaml. Every FROM must name one of the platform's base images, pinned: Node, Python, Java, Bun, PostgreSQL and Redis today, and a stack without one asks the platform to add it. The trusted builder builds every listed image at the approval and attests it, as it does the template's. The platform's build and test jobs know only the three template stacks: another stack runs none of them, and its merge requests fail the coverage gate until its catalog entry lowers quality.minimum_coverage, which a team lead or a domain lead approves.
Modules help; raw resources are allowed
The golden path's Terraform modules encode the patterns, and a product root may declare resources of its own instead. The policy pack warns on every resource a product root declares outside a module and asks for a reason in the merge request; a warning holds nothing back. What the pack denies, it denies however the resource was written: an incomplete label set, public access, or a network or project, which are the platform's.
A service is approved once
A Google Cloud service beyond the ones every product project gets is approved once, as an entry in the catalog's list of approved services, by the platform team. Any product can then declare it in its entry: a domain lead approves the declaration (the platform team stands in where the lead has no account), and the project factory enables the service's API on the product's billed projects and grants its roles to that product's apply identities alone. Memorystore for Redis is the first.