Skip to content

spec

Modules

Enums

  • IntegrationConfig - Deserializable configuration for either a CLI or HTTP secret provider.
  • IntegrationConfigError - Error returned when validating an [IntegrationConfig].
  • IntegrationSpec - A validated secret-provider integration: either a CLI vault tool or an
  • MatcherRule - One candidate rule for [cli::CliIntegrationSpec] and [http::HttpIntegrationSpec].
  • MatchingResolution - Outcome of resolving a invocation’s args against a spec.

firma_secret_provider::spec::IntegrationConfig

Section titled “firma_secret_provider::spec::IntegrationConfig”

Enum

Deserializable configuration for either a CLI or HTTP secret provider.

Variants:

  • Cli(cli::CliIntegrationConfig) - Plain CLI integration configuration requiring validation before use.
  • Http(http::HttpIntegrationSpec<firma_core::SecretMatcher>) - HTTP integration configuration, which has no additional validation

Traits: Eq

Trait Implementations:

  • Deserialize
    • fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error>
  • Clone
    • fn clone(self: &Self) -> IntegrationConfig
  • PartialEq
    • fn eq(self: &Self, other: &IntegrationConfig) -> 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_secret_provider::spec::IntegrationConfigError

Section titled “firma_secret_provider::spec::IntegrationConfigError”

Enum

Error returned when validating an [IntegrationConfig].

Variants:

  • Cli(cli::CliIntegrationConfigError) - CLI integration validation failed.

Traits: Eq

Trait Implementations:

  • From
    • fn from(source: cli::CliIntegrationConfigError) -> Self
  • Display
    • fn fmt(self: &Self, __formatter: & mut ::core::fmt::Formatter) -> ::core::fmt::Result
  • Clone
    • fn clone(self: &Self) -> IntegrationConfigError
  • PartialEq
    • fn eq(self: &Self, other: &IntegrationConfigError) -> bool
  • Error
    • fn source(self: &Self) -> ::core::option::Option<&dyn ::thiserror::__private18::Error>
  • Debug
    • fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result

firma_secret_provider::spec::IntegrationSpec

Section titled “firma_secret_provider::spec::IntegrationSpec”

Enum

A validated secret-provider integration: either a CLI vault tool or an HTTP vault.

Generic Parameters:

  • Matcher

Variants:

  • Cli(cli::CliIntegrationSpec<Matcher>) - Validated CLI integration.
  • Http(http::HttpIntegrationSpec<Matcher>) - HTTP integration.

Methods:

  • fn provider_id(self: &Self) -> &str - Stable integration identity (e.g. "bitwarden", "aws-secrets-manager"),
  • fn as_cli(self: &Self) -> Option<&cli::CliIntegrationSpec<Matcher>> - Returns the CLI spec, if this is a CLI-origin provider.
  • fn as_http(self: &Self) -> Option<&http::HttpIntegrationSpec<Matcher>> - Returns the HTTP spec, if this is an HTTP-origin provider.

Traits: Eq

Trait Implementations:

  • TryFrom
    • fn try_from(config: IntegrationConfig) -> Result<Self, <Self as >::Error>
  • Clone
    • fn clone(self: &Self) -> IntegrationSpec<Matcher>
  • PartialEq
    • fn eq(self: &Self, other: &IntegrationSpec<Matcher>) -> bool
  • Debug
    • fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result

Enum

One candidate rule for [cli::CliIntegrationSpec] and [http::HttpIntegrationSpec].

Generic Parameters:

  • A
  • B

Variants:

  • SensitiveCommand(A) - Command we want to redact secret from
  • SafeCommand(B) - Command we let through without redaction
  • BlockedCommand(B) - Command we know should be forbidden no matter what

Traits: Eq

Trait Implementations:

  • Deserialize
    • fn deserialize<__D>(__deserializer: __D) -> _serde::__private228::Result<Self, <__D as >::Error>
  • Clone
    • fn clone(self: &Self) -> MatcherRule<A, B>
  • PartialEq
    • fn eq(self: &Self, other: &MatcherRule<A, B>) -> 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
  • MatcherCompiler
    • fn compile(self: &Self) -> Result<<Self as >::Ok, crate::MatcherError>

firma_secret_provider::spec::MatchingResolution

Section titled “firma_secret_provider::spec::MatchingResolution”

Enum

Outcome of resolving a invocation’s args against a spec. See [cli::CliIntegrationSpec::resolve_args] and [http::HttpIntegrationSpec::matcher_for].

Generic Parameters:

  • ‘a
  • Matcher

Variants:

  • Matcher(&'a Matcher) - Extract and redact secrets from stdout using this matcher.
  • PassThrough - Known-safe invocation shape that never emits secret material; forward
  • Blocked - Unrecognized invocation shape; fail closed and deny the invocation

Traits: Eq

Trait Implementations:

  • Clone
    • fn clone(self: &Self) -> MatchingResolution<'a, Matcher>
  • PartialEq
    • fn eq(self: &Self, other: &MatchingResolution<'a, Matcher>) -> bool
  • Debug
    • fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result