Every use case here is a sample in the repository, with a link to it, or a way of ordering the platform is built for. In each sample one team owns every product; in your catalog, each product belongs to the team that owns that work, and the teams that order it are others.
This is what Vennir is built for. The team that knows a cloud, a database or a ticketing system publishes what it does as products, with its own identity and its own secrets. Every other team orders from the catalog, within the limits the owning team set.
A project, an image built from source, a Cloud Run service, and a Cloud SQL database for it. Every action looks before it creates, so a retried step is harmless.
An S3 bucket with public access blocked, an App Runner service told its name, and an encrypted RDS for PostgreSQL instance whose password no step ever sees.
The owning team adds an api.yaml and its OpenAPI file; calling teams sign in as they do at the console. The gateway forwards only what the spec describes and signs in to the backend itself, per request.
No backend credential: it checks the gateway's signed Vennir-Caller on every request, and says which team called. Shared with every team, 60 a minute.
See the sample → gcp/hello-worldgoogleIdTokenThe service refuses anyone unsigned. The gateway federates its own ServiceAccount and presents a Google ID token; only GET / is forwarded.
See the sample → aws/ordersawsSigV4Each request signed with SigV4 as a role the gateway assumes with its own ServiceAccount's token. Shared with the web team only, at 600 a minute.
See the sample →Who calls: the teams in shareWith, each with its own rate. The local one runs on kind; the cloud two are still to be proven in their billed run (TODO.md).
The same small text product in Python, TypeScript, Go, PowerShell and Rust. It proves an install end to end on your laptop, and it's the starter a new team copies for the language it uses.
A pretend ticketing system, nothing really created, that shows the whole life of a resource: preview it, make it, wire something to it, and delete it later from What runs made.
A self-service page or an event consumer places orders for your team: it runs the published templates you list for its bot, and nothing else, and hears back when each one finishes.
A release pipeline runs your team's templates or submits its DAGs as a team bot that signs in with the CI job's own identity, from one repository and, if you choose, one branch.
A bot is always made with a token; once CI sign-in works, revoke it and the card shows Keyless. Which CIs an install accepts is its setting (GitHub Actions and gitlab.com by default). The guide.
A new catalog repository starts from catalog-template, with the samples to copy from. Adding a product needs no change to Vennir itself.