Skip to main content

Crate cuenv_secrets

Crate cuenv_secrets 

Source
Expand description

Secret Resolution for cuenv

Provides a unified interface for resolving secrets from various providers (environment variables, command execution, 1Password, Vault, etc.) with support for cache key fingerprinting and salt rotation.

§Batch Resolution

For resolving multiple secrets efficiently, use the batch resolution API:

use cuenv_secrets::{BatchSecrets, SecretResolver, SecretSpec};

// Resolve multiple secrets concurrently
let secrets = resolver.resolve_batch(&specs).await?;

// Use secrets during task execution
for name in secrets.names() {
    if let Some(secret) = secrets.get(name) {
        std::env::set_var(name, secret.expose());
    }
}
// Secrets are zeroed when `secrets` goes out of scope

Re-exports§

pub use resolvers::EnvSecretResolver;
pub use resolvers::ExecSecretResolver;

Modules§

resolvers
Secret resolver implementations

Structs§

BatchConfig
Configuration for batch resolution.
BatchResolver
Multi-provider batch resolver.
BatchSecrets
Batch of resolved secrets with per-batch lifetime.
ResolvedSecrets
Resolved secrets ready for injection
SaltConfig
Salt configuration for secret fingerprinting with rotation support
SecretRegistry
Registry for secret resolvers
SecretSpec
Configuration for a secret to resolve
SecureSecret
A resolved secret value with automatic memory zeroing on drop.

Enums§

SecretError
Error types for secret resolution

Traits§

SecretResolver
Trait for resolving secrets from various providers.

Functions§

compute_secret_fingerprint
Compute HMAC-SHA256 fingerprint for a secret
resolve_batch
Convenience function for single-provider batch resolution.