feat: add 1Password secret source backend - #55055
Conversation
Duplicate of #36896 — the earliest open PR implementing the same |
|
1Password support landed on main via PR #59498, which also ships a pluggable SecretSource interface — an ABC + orchestrator that lets multiple secret managers run simultaneously with deterministic precedence, conflict warnings, and per-var provenance. The merged backend is a salvage of #36896 (earliest full-cluster credit to #32254). This PR is superseded by that interface; thanks for the contribution and sorry we couldn't land them all — six independent 1Password PRs is exactly why the interface now exists. If you'd like to build further secret-manager backends, they now plug in as standalone plugins via |
Summary
Adds a native 1Password CLI secret-source backend alongside the existing Bitwarden Secrets Manager integration.
What changed
agent.secret_sources.onepasswordbackend usingop readoverop://...references.hermes secrets onepassword/hermes secrets opCLI commands:setupstatussyncdisablesecrets.onepassworddefaults inconfig.yamlschema.env_loaderto apply multiple external secret sources and label 1Password-provided credentials as(from 1Password).website/docs/user-guide/secrets/onepassword.mdand link from the Secrets overview.op read, override behavior, startup source tracking, andHERMES_HOME/profile-aware references-file resolution.Design notes
The backend stores only references in the configured env-style file, for example:
Secret values are resolved at Hermes startup via
op readand are never printed in status, sync output, warnings, or errors. Missingop, missing references files, invalid references, or auth failures are fail-open and do not block Hermes startup.Verification
Ran locally on branch
feat/onepassword-secrets-backend:Also manually verified with temporary
HERMES_HOME:hermes secrets onepassword --helphermes secrets onepassword statushermes secrets onepassword setuphermes secrets onepassword syncwith a fakeopbinarySecurity
0600.op://...references in error output are redacted.