b2c2460a52a3c79e308e21f6d333e4f00e4bd6dc
Example repository
An existing Terraform repository with Quai definitions added: the demo (the compose stack seeds it into Gitea) and the fixture of the backend's tests and the end-to-end scenarios.
envs/<env>/vms/*.yaml: one file per VM. Each environment is a Terraform stack (envs/<env>/main.tf) that reads them withfileset()andyamldecode()and instantiatesmodules/vmonce per file.catalog/schemas/vm.schema.json: the contract between the VM files and the module. CI validates every file against it; Quai generates its form from it..quai/types/vm.yaml: what Quai needs to know about the layout: where VM files live, which schema they follow, who owns them, which changes need approval, and the day-2 actions.blueprints/: catalog items built from thevmtype: a single VM sized from t-shirt sizes, and a web server with its database server.pipelines/: Azure Pipelines that planenvs/prodon pull requests (as build validation) and apply it on main, each reporting to Quai with thequai reportstep template ofdeploy/runners/azure-pipelines.
Quai edits the YAML files and nothing else.
Languages
HCL
100%