alpha
Login
or
Join now
gazagnaire.org
/
caravan
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Declarative provisioning that converges a provider to a spec
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
caravan
/
lib
/
scaleway
/
at
main
3 files
Thomas Gazagnaire
caravan: revoke the API keys the secret store supersedes
6d ago
11da5b79
caravan_scaleway.ml
caravan: revoke the API keys the secret store supersedes A key's secret half is revealed only at creation, so a run that cannot see the locally retained access key can never use that key again -- and minted another. Nothing revoked the old one. Every key ever minted on the broker application kept SecretManagerSecretAccess over the folder, for good, and the only bound on how many was how often the local half went missing. The plan now retires what it supersedes. Minting comes first, so the folder is never left with no key that can read it, and the retained key is never in the revoked set, so a converged store keeps working. Doing this by wholesale is safe because the listing is scoped to the broker application and that application is adopted only when it carries this store's ownership marker: no key belonging to anything else is in reach.
6 days ago
caravan_scaleway.mli
caravan: refuse to adopt or mutate a foreign IAM resource A predictable name is not ownership. The secret store matched its IAM application and policies by managed name alone, so a same-named application belonging to something else was adopted as this broker, and a same-named policy pointing at another application was classified superseded and deleted during ordinary provisioning -- no ownership checked, no destructive-action confirmation, while every other resource caravan manages must carry an identity tag before a plan will touch it. Adopt an application only when it carries the description this store writes at creation, and a policy only when it belongs to that exact application. Anything else is a conflict naming the resource and what is wrong with it, so reconciliation neither mutates nor deletes what it does not own. The policy plan becomes a result, as the application plan already was.
6 days ago
dune
caravan: reconcile protected secret stores
6 days ago