Custom
You can use any command line tool that outputs secrets either as a string or in
JSON format. Choose the binary by setting secret.command
in your
configuration file. You can then invoke this command with the secret
and
secretJSON
template functions which return the raw output and JSON-decoded
output respectively. All of the above secret managers can be supported in this
way:
Secret Manager | secret.command |
Template skeleton |
---|---|---|
1Password | op |
{{ secretJSON "get" "item" "$ID" }} |
Bitwarden | bw |
{{ secretJSON "get" "$ID" }} |
Doppler | doppler |
{{ secretJSON "secrets" "download" "--json" "--no-file" }} |
HashiCorp Vault | vault |
{{ secretJSON "kv" "get" "-format=json" "$ID" }} |
HCP Vault Secrets | vlt |
{{ secret "secrets" "get" "--plaintext" "$ID" }} |
LastPass | lpass |
{{ secretJSON "show" "--json" "$ID" }} |
KeePassXC | keepassxc-cli |
Not possible (interactive command only) |
Keeper | keeper |
{{ secretJSON "get" "--format=json" "$ID" }} |
pass | pass |
{{ secret "show" "$ID" }} |
passhole | ph |
{{ secret "$ID" "password" }} |