Skip to main content

SecretProvider

Trait SecretProvider 

Source
pub trait SecretProvider: Send + Sync {
    // Required method
    fn get_secret(&self, key: &str) -> Result<Option<String>, Error>;
}
Expand description

Resolve secret material by key at runtime.

Implement this in a host crate (Vault, cloud KMS, …). Never embed product-specific secret clients inside valence-core.

Wire with crate::ValenceBuilder::secret_provider.

§Examples

use valence_core::{EnvSecretProvider, SecretProvider};

let provider = EnvSecretProvider;
// Looks up `std::env::var("MY_API_KEY")` when present.
let _ = provider.get_secret("MY_API_KEY");

Required Methods§

Source

fn get_secret(&self, key: &str) -> Result<Option<String>, Error>

Return Ok(None) when the key is absent.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§