secret_matcher
Module: secret_matcher
Section titled “Module: secret_matcher”Contents
Section titled “Contents”Structs
SecretJsonSelector- AJSONPathselector whose evaluation root is explicit.
Enums
SecretJsonSelectorScope- Evaluation root for a [SecretJsonSelector].SecretMatcher- How to extract(name, value)pairs from a vault CLI’s stdout or anSecretNameSource- How a JSON record’s secret name is determined.
firma_config_schema::secret_matcher::SecretJsonSelector
Section titled “firma_config_schema::secret_matcher::SecretJsonSelector”Struct
A JSONPath selector whose evaluation root is explicit.
The scope is part of the serialized shape, for example
{"path":"$.title","scope":"document"}; scope is never inferred from
JSONPath syntax. Cardinality depends on both the selector’s role and its
scope: record-scoped item selectors require one match per record, while a
document-scoped item selector accepts zero or one match. Domain selectors
require one or more valid string matches at every applicable root. See the
field docs on [SecretMatcher::Json] for failure behavior.
Fields:
path: String-JSONPathevaluated at the root selected by [Self::scope].scope: SecretJsonSelectorScope- Whether the path is relative to each record or to the whole document.
Traits: Eq
Trait Implementations:
- Debug
fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result
- Deserialize
fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error>
- Clone
fn clone(self: &Self) -> SecretJsonSelector
- PartialEq
fn eq(self: &Self, other: &SecretJsonSelector) -> bool
- Serialize
fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error>
firma_config_schema::secret_matcher::SecretJsonSelectorScope
Section titled “firma_config_schema::secret_matcher::SecretJsonSelectorScope”Enum
Evaluation root for a [SecretJsonSelector].
Variants:
Record- Evaluate independently against every node selected byrecord_path.Document- Evaluate once against the document root and broadcast the selector results.
Traits: Eq, Copy
Trait Implementations:
- Clone
fn clone(self: &Self) -> SecretJsonSelectorScope
- Debug
fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result
- Deserialize
fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error>
- PartialEq
fn eq(self: &Self, other: &SecretJsonSelectorScope) -> bool
- Serialize
fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error>
firma_config_schema::secret_matcher::SecretMatcher
Section titled “firma_config_schema::secret_matcher::SecretMatcher”Enum
How to extract (name, value) pairs from a vault CLI’s stdout or an
HTTP vault’s response body.
Internally tagged ({"type": "json", ...} rather than the default
{"Json": {...}}) so it nests as a flat table when embedded in TOML (e.g.
the Sidecar’s http_secret_providers config) as well as JSON.
Variants:
Json{ record_path: String, value_path: String, name: SecretNameSource, item_selector: Option<SecretJsonSelector>, domain_selector: Option<SecretJsonSelector> }-JSONPathextraction over structured output.Regex{ pattern: String }-Regexextraction over text output. The pattern carries a required
Traits: Eq
Trait Implementations:
- Deserialize
fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error>
- Clone
fn clone(self: &Self) -> SecretMatcher
- PartialEq
fn eq(self: &Self, other: &SecretMatcher) -> bool
- Serialize
fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error>
- Debug
fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result
firma_config_schema::secret_matcher::SecretNameSource
Section titled “firma_config_schema::secret_matcher::SecretNameSource”Enum
How a JSON record’s secret name is determined.
Most providers store the secret’s name as an explicit string value (e.g. a
label or key field) selected by Path. Some providers —
e.g. HashiCorp Vault’s kv get -format=json, which returns a flat
{name: value, ...} secret map with no separate name field — instead
encode the name as the record’s own key in its parent JSON object; use
RecordKey when record_path selects records that way.
Variants:
Path{ path: String }- Record-relativeJSONPathselecting the name string, aligned byRecordKey- The record’s own key in its parent JSON object — the final segment of
Traits: Eq
Trait Implementations:
- PartialEq
fn eq(self: &Self, other: &SecretNameSource) -> bool
- Serialize
fn serialize<__S>(self: &Self, __serializer: __S) -> _serde::__private228::Result<<__S as >::Ok, <__S as >::Error>
- Debug
fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result
- Deserialize
fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error>
- Clone
fn clone(self: &Self) -> SecretNameSource