pub struct EnvVarSecretStore { /* private fields */ }Expand description
Secret store backed by environment variables.
This is suitable for development and simple deployments. Secret keys are transformed to environment variable names by:
- Applying the prefix
- Converting to uppercase
- Replacing
/and.with_
Example: Key “database/password” with prefix “MYAPP_” becomes “MYAPP_DATABASE_PASSWORD”
Implementations§
Source§impl EnvVarSecretStore
impl EnvVarSecretStore
Sourcepub fn new(prefix: impl Into<String>) -> EnvVarSecretStore
pub fn new(prefix: impl Into<String>) -> EnvVarSecretStore
Create a new environment variable secret store.
Sourcepub fn with_cache_duration(self, duration: Duration) -> EnvVarSecretStore
pub fn with_cache_duration(self, duration: Duration) -> EnvVarSecretStore
Set the cache duration.
Trait Implementations§
Source§impl SecretStore for EnvVarSecretStore
impl SecretStore for EnvVarSecretStore
Source§fn get_secret<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 SecretKey,
) -> Pin<Box<dyn Future<Output = Result<SecretValue, SecretError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
EnvVarSecretStore: 'async_trait,
fn get_secret<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 SecretKey,
) -> Pin<Box<dyn Future<Output = Result<SecretValue, SecretError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
EnvVarSecretStore: 'async_trait,
Get a secret by key.
Source§fn secret_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 SecretKey,
) -> Pin<Box<dyn Future<Output = Result<bool, SecretError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
EnvVarSecretStore: 'async_trait,
fn secret_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 SecretKey,
) -> Pin<Box<dyn Future<Output = Result<bool, SecretError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
EnvVarSecretStore: 'async_trait,
Check if a secret exists.
Source§fn list_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<SecretKey>, SecretError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
EnvVarSecretStore: 'async_trait,
fn list_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<SecretKey>, SecretError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
EnvVarSecretStore: 'async_trait,
List available secrets (if supported).
Source§fn store_name(&self) -> &str
fn store_name(&self) -> &str
Get the store name for logging/debugging.
Source§fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), SecretError>> + Send + 'async_trait>>where
'life0: 'async_trait,
EnvVarSecretStore: 'async_trait,
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), SecretError>> + Send + 'async_trait>>where
'life0: 'async_trait,
EnvVarSecretStore: 'async_trait,
Check if the store is healthy/connected.
Auto Trait Implementations§
impl !Freeze for EnvVarSecretStore
impl !RefUnwindSafe for EnvVarSecretStore
impl Send for EnvVarSecretStore
impl Sync for EnvVarSecretStore
impl Unpin for EnvVarSecretStore
impl UnsafeUnpin for EnvVarSecretStore
impl UnwindSafe for EnvVarSecretStore
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.