Plugin Store · Secret

HashiCorp Vault

Docs GitHub
v1.0.5

Resolve secrets from Vault KV v2.

What it is Resolves a config secret reference from a HashiCorp Vault KV v2 mount.
When to use it Your provider API keys and DB passwords already live in Vault.
CategorySecret StatusAvailable

Overview

The HashiCorp Vault secret plugin resolves a config secret reference (a provider API key, a database password) straight out of a HashiCorp Vault KV v2 mount over Vault’s HTTP API, instead of an environment variable or a file busbar reads at boot.

A reference names the KV v2 path and the field to extract: either the #field suffix Vault’s own UI/CLI output already uses (kv/data/openai#api_key) or the equivalent two-key form ({ path: "kv/data/openai", field: "api_key" }). Auth is a pre-obtained token sent as X-Vault-Token, Vault’s simplest, most universal scheme; AppRole/Kubernetes login flows are a natural extension for later. A 404 (no secret there), a 403 (bad token/policy), and a 5xx (Vault itself unhealthy) each surface as a distinct, specific error, never collapsed into a generic failure.

It implements the same signed plugin ABI every first-party store/auth/secret plugin does.

Install it

Download the signed tarball for your platform (button above), drop it in plugins/, and set:

secrets:
  vault:
    settings: { addr: "https://vault.internal:8200", token: { env: VAULT_TOKEN } }

providers:
  openai:
    api_key: { module: vault, settings: { path: "kv/data/openai#api_key" } }

Independently versioned from busbar itself: pin both explicitly in production. Requires busbar 1.5.0+.

Prefer to install by hand? No plugins.fetch config needed: download the signed tarball (links above), drop it in your plugins.dir, and busbar loads it at boot; signature and trust checks still apply. You can also push it live over the admin API. See the plugin install docs.

Settings

SettingRequiredDefaultDescription
addr Yes — Module setting. Vault server address, e.g. https://vault.internal:8200.
token Yes — Module setting. Vault token, sent as X-Vault-Token. Give a secret reference ({ env: }/{ file: }), never a plaintext literal.
ca_cert_pem No — Module setting. Additional trusted root CA (PEM), layered on the built-in roots.
timeout_secs No 10 Module setting. HTTP connect + total request timeout, in seconds.
path Yes — Per-reference (at the call site). Full Vault v1 API path incl. the KV v2 data/ segment; a #field suffix selects the field.
field No — Per-reference (at the call site). Field to extract from the secret; required unless path carries a #field suffix, and wins if both are given.

← Back to the Plugin Store