Goal
Update this public, fictional configuration template to implement the Git-authored controller desired-state contract from RandomDevelopment/ci-fleet.
Required changes
- Bump the schema version.
- Keep pool routing and repository authorization policy.
- Replace ambiguous project-facing capacity with an infrastructure capacity budget.
- Add controller declarations with fictional IDs such as
example-ci-01.
- Declare each controller's pool, enabled/drained state, minimum and maximum runners, per-runner resource limits, and pinned engine/lifecycle policy.
- Validate that enabled controller maxima do not exceed the pool budget and controller IDs are unique.
- State as a hard rule that application workflows submit all independent jobs and do not use
max-parallel to model fleet size.
- Keep addresses, VM IDs, credentials, private keys, tokens, secret values, and runtime-generated files out of Git.
- Add strict-validator tests for overcommit, duplicate identities, missing pools, unsafe fields, and valid multi-host/multi-location examples.
- Document the one-command target-host install/adopt interface without making an agent mandatory.
- Document drain and retirement, including deletion of legacy hosts when that is the installation's declared policy.
All committed organizations, repositories, hosts, networks, and values must remain fictional.
Acceptance
Tracks the public engine specification issue: RandomDevelopment/ci-fleet#32
Goal
Update this public, fictional configuration template to implement the Git-authored controller desired-state contract from RandomDevelopment/ci-fleet.
Required changes
example-ci-01.max-parallelto model fleet size.All committed organizations, repositories, hosts, networks, and values must remain fictional.
Acceptance
fleet.json, JSON Schema, validator, tests, examples, README, and initializer agree on the new version../scripts/validate.sh --strictpasses for valid examples and fails closed for unsafe or inconsistent policy.Tracks the public engine specification issue: RandomDevelopment/ci-fleet#32