Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AWSSecretsManager ¶
type AWSSecretsManager struct {
// contains filtered or unexported fields
}
AWSSecretsManager implements secrets.Manager for AWS Secrets Manager.
func NewAWSSecretsManager ¶
func NewAWSSecretsManager(ctx context.Context, region string) (*AWSSecretsManager, error)
NewAWSSecretsManager creates a new AWSSecretsManager.
type AzureConfig ¶
type AzureConfig struct {
VaultURL string `yaml:"vault_url" json:"vault_url"`
}
type AzureKeyVaultManager ¶
type AzureKeyVaultManager struct {
// contains filtered or unexported fields
}
AzureKeyVaultManager implements secrets.Manager for Azure Key Vault.
func NewAzureKeyVaultManager ¶
func NewAzureKeyVaultManager(vaultURL string) (*AzureKeyVaultManager, error)
NewAzureKeyVaultManager creates a new AzureKeyVaultManager.
type CombinedManager ¶
type CombinedManager struct {
Managers []Manager
}
CombinedManager tries multiple secret managers in order.
type Config ¶
type Config struct {
Type string `yaml:"type" json:"type"` // env, vault, aws, azure, openbao
Vault VaultConfig `yaml:"vault" json:"vault"`
OpenBao VaultConfig `yaml:"openbao" json:"openbao"` // OpenBao uses same config as Vault
AWS AWSConfig `yaml:"aws" json:"aws"`
Azure AzureConfig `yaml:"azure" json:"azure"`
Env EnvConfig `yaml:"env" json:"env"`
}
Config defines the configuration for secret managers.
type EnvManager ¶
type EnvManager struct {
Prefix string
}
EnvManager resolves secrets from environment variables.
type OpenBaoManager ¶
type OpenBaoManager struct {
// contains filtered or unexported fields
}
OpenBaoManager implements secrets.Manager for OpenBao. Since OpenBao is wire-compatible with HashiCorp Vault, we use the same client.
func NewOpenBaoManager ¶
func NewOpenBaoManager(address, token, mount string) (*OpenBaoManager, error)
NewOpenBaoManager creates a new OpenBaoManager.
type VaultConfig ¶
type VaultManager ¶
type VaultManager struct {
// contains filtered or unexported fields
}
VaultManager implements secrets.Manager for HashiCorp Vault.
func NewVaultManager ¶
func NewVaultManager(address, token, mount string) (*VaultManager, error)
NewVaultManager creates a new VaultManager.