package secrets import ( "context" "time" "github.com/tech/sendico/pkg/mlogger" "github.com/tech/sendico/pkg/vault/kv" ) // Provider resolves secrets by reference. type Provider interface { GetSecret(ctx context.Context, ref string) (string, error) } // VaultOptions configure Vault KV secret resolution. type VaultOptions struct { Config kv.Config DefaultField string } // Options configure secret lookup behavior. type Options struct { Logger mlogger.Logger Static map[string]string CacheTTL time.Duration Vault VaultOptions } // New creates secrets provider. func New(opts Options) (Provider, error) { return newProvider(opts) }