Register + mount the GPG secrets engine at gpg/ #87
Reference in New Issue
Block a user
Delete Branch "benvin/gpg-secret-backend"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Complete the deploy of the vault-plugin-secrets-gpg engine. Puppet (puppet-prod #480) installs the
openbao-plugin-secrets-gpgRPM onto the OpenBao nodes; this registers that binary in the plugin catalog and enables the secrets engine sogpg/is actually usable.gpg_secret_backendmodule using the standardhashicorp/vaultprovider (already required at 5.6.0):vault_plugin(catalog register with a pinned sha256) +vault_mount(enable at the mount path).vault_cluster(newgpg_secret_backendvariable + module block) and the config discovery (config.hclgroup + syd1 terragrunt input), mirroringlitellm_secret_backend.config/gpg_secret_backend/gpg.yamlmounting atgpg/and pinning the released v0.1.0 binary sha256 (0e92d740…a7b20, extracted from the published RPM). Puppet installs the RPM floating, so this sha must be bumped in lockstep on any plugin upgrade or OpenBao rejects the binary.Validated locally with
tofu validate+tofu fmt. Granting non-root access togpg/*(auth roles + policies) is a follow-up scoped to whoever consumes the engine (e.g. passv from CI).Updated: also manage OpenPGP keys from Terraform (dogfooding the new gpgvaultsecret provider v0.1.0) and add the first key.
gpg_keymodule (wraps the provider'sgpg_keyresource), wired throughvault_cluster+ config discovery (config/gpg_key/<backend>/<name>.yaml),depends_onthe mount.gpgprovider registered inroot.hcl.config/gpg_key/gpg/pass.yaml: an rsa-4096passkey for password-store. Private key stays in Vault; clients import the public key and decrypt viagpg/decrypt/pass.Updated: plugin catalog registration split out into #89 (new
pluginmodule +config/plugins/). This PR is now mount + key only —gpg_secret_backendjust mounts the already-registered plugin type (dropped thevault_pluginresource andsha256/commandinputs).Merge order: #88 (access) → #89 (plugin import) → #87 (this). Since the repo is squash-only, once #89 lands I'll rebase this branch onto master to clear the trivial
config.hcl/terragrunt.hclinsertions.ea8daea587to9c4d20da9e