The whole setup is one file in git with no secret in it. CI shows the diff on the pull request and applies it on merge, all or nothing, and prod refuses changes made by hand. Database users come from Vault for the length of a lease, so there is no password to rotate or leak.
Your repoOne YAML file, no secret in itConnections, roles, queries, keys' grants and exports. A password is a reference; a database user can come from Vault.
↓
Your CIconfig diff on the pull request, config apply on mergeOr the Helm chart applies the file as its first new pod starts.
↓
The governed core, in your clusterApply → lock → credentialsAll or nothing, audited with the file's SHA-256. A change made by hand on prod is refused with 409 config_managed.
↕
AsksVault (AWS experimental)A database user for each lease, renewed at 80 %, from a role bound to its host.
↓
Your databaseReached as a user that lives as long as its lease
↓
The recordOne config_applied entry per fileWho applied it, the file's hash, and every change via: config.