Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NormalizeEnvRef ¶
NormalizeEnvRef turns bare names into env paths for CredentialResolver.
Types ¶
type AWSSM ¶
type AWSSM struct {
Client SecretsManagerAPI
Region string // default region when ref omits one (unusual)
}
AWSSM resolves aws-sm://{region}/{secret-id}[#jsonKey] via AWS Secrets Manager.
func NewAWSSMFromEnv ¶
NewAWSSMFromEnv loads the default AWS config when enabled is true.
type CredentialOpener ¶
type CredentialOpener interface {
Open(ctx context.Context, c snapshot.Credential) (string, error)
}
CredentialOpener resolves snapshot credentials to plaintext secrets.
type CredentialResolver ¶
type CredentialResolver struct {
Env Env
Box *credentials.Box
Vault Resolver // Multi or scheme-specific; required for storage_kind=vault
}
CredentialResolver opens env, encrypted_db, or vault credentials.
func NewCredentialResolver ¶
func NewCredentialResolver(box *credentials.Box) CredentialResolver
NewCredentialResolver builds a resolver; box may be nil when only env credentials are used.
func (CredentialResolver) Open ¶
func (r CredentialResolver) Open(ctx context.Context, c snapshot.Credential) (string, error)
func (CredentialResolver) WithVault ¶
func (r CredentialResolver) WithVault(v Resolver) CredentialResolver
WithVault returns a copy with a vault Multi (or other) resolver.
type Hashicorp ¶
Hashicorp resolves hashicorp://path[#jsonKey] via the Vault HTTP API (KV v1/v2 compatible). Auth: VAULT_TOKEN (or AFI_SECRETS_VAULT_TOKEN). Address: VAULT_ADDR / AFI_SECRETS_VAULT_ADDR.
func NewHashicorpFromEnv ¶
NewHashicorpFromEnv builds a client when address is configured; returns nil,nil when disabled.
type ParsedRef ¶
type ParsedRef struct {
Scheme string // env | aws-sm | hashicorp | "" (bare env name)
Path string // secret id / vault path (no leading slash required)
Key string // optional JSON object key after #
Raw string
}
ParsedRef is a scheme-routed secret reference.
type SecretsManagerAPI ¶
type SecretsManagerAPI interface {
GetSecretValue(ctx context.Context, params *secretsmanager.GetSecretValueInput, optFns ...func(*secretsmanager.Options)) (*secretsmanager.GetSecretValueOutput, error)
}
SecretsManagerAPI is the subset of AWS Secrets Manager used by AWSSM.