Secret management with multiple backend support
This crate provides a unified interface for resolving secrets from various backends:
- OS Keychain (
keychain://service/key): macOS Keychain, Windows Credential Manager, Linux Secret Service - 1Password CLI (
op://vault/item/field): RequiresopCLI to be installed and authenticated - Environment variables (
env://VAR_NAME): Read from process environment - Files (
file:///pathor just/path): Read content from filesystem - Plain values: Any string without a URI scheme is treated as a literal value
Example
use ;
// Parse a secret URI from config
let uri: SecretUri = "keychain://myapp/api-token".parse?;
// Resolve to actual value
let resolver = new;
let secret = resolver.resolve?;
Features
keychain(default): Enable OS keychain support viakeyringcrateonepassword(default): Enable 1Password CLI supportenv(default): Enable environment variable supportfile(default): Enable file reading support