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.