pub struct SecretEntry {
pub env_var: String,
pub value: Zeroizing<String>,
pub source: Option<SecretSource>,
pub placeholder: String,
pub allowed_hosts: Vec<HostPattern>,
pub injection: SecretInjection,
pub on_violation: Option<ViolationAction>,
pub require_tls_identity: bool,
}Expand description
A single secret entry.
value is the sensitive material — it never enters the sandbox and is
redacted by the Debug impl.
Fields§
§env_var: StringEnvironment variable name exposed to the sandbox (holds the placeholder).
Must be non-empty and must not contain = or NUL. microsandbox does
not require shell-identifier syntax because Linux environment entries
only require a NAME=value shape.
value: Zeroizing<String>The actual secret value (never enters the sandbox).
Empty when the entry carries a source reference
instead: reference-model entries resolve the value host-side at spawn
time so the durable sandbox config never stores raw secret material.
Wrapped in Zeroizing so the owned plaintext copy is wiped when the
entry drops.
source: Option<SecretSource>Host-side source reference resolved into value at
spawn time. None means value already carries the material (the
inline model used by value-based secrets).
placeholder: StringPlaceholder string the sandbox sees instead of the real value.
Must be non-empty, no longer than MAX_SECRET_PLACEHOLDER_BYTES, and
must not contain NUL, CR, or LF.
allowed_hosts: Vec<HostPattern>Hosts allowed to receive this secret.
injection: SecretInjectionWhere the secret can be injected.
on_violation: Option<ViolationAction>Action on a violation for this secret (overrides the config default).
require_tls_identity: boolRequire verified TLS identity before substituting (default: true).
When true, the secret is only substituted if the connection uses TLS interception (not bypass) and the SNI matches an allowed host.
Implementations§
Source§impl SecretEntry
impl SecretEntry
Trait Implementations§
Source§impl Clone for SecretEntry
impl Clone for SecretEntry
Source§fn clone(&self) -> SecretEntry
fn clone(&self) -> SecretEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SecretEntry
impl Debug for SecretEntry
Source§impl<'de> Deserialize<'de> for SecretEntry
impl<'de> Deserialize<'de> for SecretEntry
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SecretEntry, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SecretEntry, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<CloudSecretEntry> for SecretEntry
impl From<CloudSecretEntry> for SecretEntry
Source§fn from(entry: CloudSecretEntry) -> SecretEntry
fn from(entry: CloudSecretEntry) -> SecretEntry
Source§impl Serialize for SecretEntry
impl Serialize for SecretEntry
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for SecretEntry
impl RefUnwindSafe for SecretEntry
impl Send for SecretEntry
impl Sync for SecretEntry
impl Unpin for SecretEntry
impl UnsafeUnpin for SecretEntry
impl UnwindSafe for SecretEntry
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more