1password
Read, write, delete, and annotate secrets stored in 1Password using the op CLI.
Supports swamp vault delete for removing secrets and swamp vault annotate
and swamp vault inspect for attaching metadata (URL, notes, labels) to secrets.
Emits OpenTelemetry spans for vault operations and per-CLI-invocation child spans
so failures and latency are attributable in traces when a TracerProvider is
configured. Reads retry briefly by default when an item another process
just created is not visible yet (read_retry_attempts, read_retry_seconds).
Prerequisites
- 1Password CLI installed and in
PATH - Authenticated via one of:
- Service account:
export OP_SERVICE_ACCOUNT_TOKEN=<token>, or setop_service_account_token_filein the vault config to read the token from a file and pass it only to theopchild process - Desktop app: enable CLI integration in 1Password settings
- Connect Server:
export OP_CONNECT_HOST=<url>andexport OP_CONNECT_TOKEN=<token>
- Service account:
Usage
swamp vault create @swamp/1password my-1password \
--config '{"op_vault": "Private"}' --json
swamp vault get my-1password my-api-key --json
swamp vault put my-1password my-api-key "s3cr3t" --json
swamp vault list-keys my-1password --jsonSecret Key Format
item-name— reads thepasswordfield of the named itemitem-name/field— reads a specific fieldop://vault/item/field— full 1Password URI (passthrough)
1Password vault provider. Uses the 1Password CLI (op) for secret operations.
Config Fields
| Field | Type | Description |
|---|---|---|
| op_vault | string | The 1Password vault to use |
| op_account? | string | Account shorthand or UUID |
| op_service_account_token_file? | string | Absolute path to a file containing a 1Password service account token |
| read_retry_attempts? | number | Total op read attempts when an item is not visible yet, e.g. just |
| read_retry_seconds? | number | Window in seconds, from the first read, during which a read of an |
Modified 1 vaults
Modified 1 vaults
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented0/1missing
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Docs keep secrets in a vault0/1missing
- files/README.md--Line 42 passes the secret's value to `swamp vault put` on the command line, where shell history keeps it. Keep secrets in a vault: store them with `swamp vault put <vault> <key>`, which prompts for the value, and reference them as `${{ vault.get(<vault>, <key>) }}`.
- manifest.yaml--The description passes the secret's value to `swamp vault put` on the command line, where shell history keeps it. Keep secrets in a vault: store them with `swamp vault put <vault> <key>`, which prompts for the value, and reference them as `${{ vault.get(<vault>, <key>) }}`.
Fix or accept each secret-unsafe-docs warning: the README, the manifest description and describe strings should store secrets with `swamp vault put <vault> <key>` (it prompts for the value) and pass them as `${{ vault.get(<vault>, <key>) }}`.
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned