Table of Contents

Interface ISecretSchemeResolver

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

Retrieves material for the one scheme an adapter serves.

public interface ISecretSchemeResolver

Remarks

This is the extension point that keeps a future Kubernetes, Azure Key Vault, HashiCorp Vault, or AWS Secrets Manager integration a registration rather than a refactor. It is public — unusually for this assembly, which defaults to internal — because an adapter may be declared in another folder, another project, or a later change set, and an internal contract would make that impossible without editing this file.

Provider-specific concerns stay inside the implementation: timeouts, retry and backoff, endpoint and region selection, SDK client lifetime, platform identity, and any caching policy. The contract exposes none of them, so a store that must cache aggressively and a local file that must never cache coexist without it taking a position. A managed store must authenticate through platform-issued identity — a managed identity, a ServiceAccount token, a Vault role — because requiring MailFathom to hold a credential in order to fetch its credentials would be circular.

Properties

Scheme

Gets the scheme this adapter serves, which is also its dispatch key.

Methods

ResolveAsync(SecretReference, CancellationToken)

Retrieves the material the reference names.