pub struct SecretBuilder { /* private fields */ }Expand description
Fluent builder for a single SecretEntry.
SecretBuilder::new()
.env("OPENAI_API_KEY")
.value(api_key)
.allow_host("api.openai.com")
.build()Implementations§
Source§impl SecretBuilder
impl SecretBuilder
Sourcepub fn env(self, var: impl Into<String>) -> Self
pub fn env(self, var: impl Into<String>) -> Self
Set the environment variable to expose the placeholder as (required).
Names must be non-empty and must not contain = or NUL. They are
not restricted to shell-identifier syntax.
Sourcepub fn placeholder(self, placeholder: impl Into<String>) -> Self
pub fn placeholder(self, placeholder: impl Into<String>) -> Self
Set a custom placeholder string.
Placeholders must be non-empty, at most 1024 bytes, and must not
contain NUL, CR, or LF.
If not set, auto-generated as $MSB_<env_var>.
Sourcepub fn allow_host(self, host: impl Into<String>) -> Self
pub fn allow_host(self, host: impl Into<String>) -> Self
Add an allowed host (exact match).
Sourcepub fn allow_host_pattern(self, pattern: impl Into<String>) -> Self
pub fn allow_host_pattern(self, pattern: impl Into<String>) -> Self
Add an allowed host with wildcard pattern (e.g., *.openai.com).
Sourcepub fn allow_any_host_dangerous(self, i_understand_the_risk: bool) -> Self
pub fn allow_any_host_dangerous(self, i_understand_the_risk: bool) -> Self
Allow for any host. Dangerous: secret can be exfiltrated to any destination. Requires explicit acknowledgment.
Sourcepub fn on_violation(
self,
f: impl FnOnce(ViolationActionBuilder) -> ViolationActionBuilder,
) -> Self
pub fn on_violation( self, f: impl FnOnce(ViolationActionBuilder) -> ViolationActionBuilder, ) -> Self
Set the violation action for this secret.
Sourcepub fn require_tls_identity(self, enabled: bool) -> Self
pub fn require_tls_identity(self, enabled: bool) -> Self
Require verified TLS identity before substituting (default: true).
Sourcepub fn inject_headers(self, enabled: bool) -> Self
pub fn inject_headers(self, enabled: bool) -> Self
Configure header injection (default: true).
Sourcepub fn inject_basic_auth(self, enabled: bool) -> Self
pub fn inject_basic_auth(self, enabled: bool) -> Self
Configure Basic Auth injection (default: true).
Sourcepub fn inject_query(self, enabled: bool) -> Self
pub fn inject_query(self, enabled: bool) -> Self
Configure query parameter injection (default: false).
Sourcepub fn inject_body(self, enabled: bool) -> Self
pub fn inject_body(self, enabled: bool) -> Self
Configure HTTP/1 body injection (default: false).
Fixed-length bodies up to 16 MiB update Content-Length; larger
fixed-length bodies are blocked. Chunked bodies are decoded and
re-encoded with fresh chunk sizes. Encoded bodies pass through
unchanged.
Sourcepub fn build(self) -> SecretEntry
pub fn build(self) -> SecretEntry
Consume the builder and return a SecretEntry.
§Panics
Panics if env, value, or at least one allowed host was not set.