Table of Contents

Class SecretReferenceScheme

Namespace
MailFathom.Infrastructure.Secrets.References
Assembly
MailFathom.Infrastructure.dll

Names one secret retrieval mechanism a secret reference can select.

public sealed record SecretReferenceScheme : IEquatable<SecretReferenceScheme>
Inheritance
SecretReferenceScheme
Implements
Inherited Members

Remarks

The scheme set is open: an adapter declares the scheme it serves and MailFathom.Infrastructure.Secrets.References.CompositeSecretReferenceResolver builds its dispatch from the registered adapters. Adding a managed store therefore registers one more ISecretSchemeResolver and edits no existing type. The value is a reference type rather than a readonly record struct because default would otherwise produce a scheme whose name is null; it is parsed once per resolution and never sits on a hot path.

Properties

EnvironmentVariable

Gets the scheme that reads an environment variable, recommended only for non-production automation.

File

Gets the scheme that reads a deployment-provisioned protected file, which also serves container and Kubernetes secret mounts.

Name

Gets the normalized lower-case wire name that appears before the first colon of a reference.

Plaintext

Gets the scheme that names a literal value inline.

SystemdCredential

Gets the scheme that reads the runtime credentials directory systemd exposes to the service.

Methods

Create(string)

Creates a scheme for an adapter declared outside this assembly.

ToString()

Returns a string that represents the current object.