Documentation
¶
Overview ¶
Package secrets retrieves secrets from configured providers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSParameterStoreProvider ¶
type AWSParameterStoreProvider struct {
// contains filtered or unexported fields
}
AWSParameterStoreProvider retrieves secrets from AWS Systems Manager Parameter Store.
func NewAWSParameterStoreProvider ¶
func NewAWSParameterStoreProvider(ctx context.Context, region string) (*AWSParameterStoreProvider, error)
NewAWSParameterStoreProvider creates an AWS Systems Manager Parameter Store provider. If region is provided, it will use that region; otherwise it uses the default AWS configuration.
type AWSSecretsManagerProvider ¶
type AWSSecretsManagerProvider struct {
// contains filtered or unexported fields
}
AWSSecretsManagerProvider retrieves secrets from AWS Secrets Manager.
func NewAWSSecretsManagerProvider ¶
func NewAWSSecretsManagerProvider(ctx context.Context, region string) (*AWSSecretsManagerProvider, error)
NewAWSSecretsManagerProvider creates a new AWS Secrets Manager provider. If region is provided, it will use that region; otherwise uses default AWS configuration.
type AzureProvider ¶
type AzureProvider struct {
// contains filtered or unexported fields
}
AzureProvider retrieves secrets from Azure Key Vault.
func NewAzureProvider ¶
func NewAzureProvider(ctx context.Context, vaultURL string) (*AzureProvider, error)
NewAzureProvider creates a new Azure Key Vault provider using default Azure credentials. The vaultURL should be in the format: https://<vault-name>.vault.azure.net/.
type EnvProvider ¶
type EnvProvider struct {
}
EnvProvider reads secrets from environment variables.
func NewEnvProvider ¶
func NewEnvProvider(cfg config.SecretsConfig) *EnvProvider
NewEnvProvider creates a new environment-based secrets provider. Configured secret names are resolved when GetSecret is called.
type FileProvider ¶
type FileProvider struct {
// contains filtered or unexported fields
}
FileProvider reads secrets from files below a configured directory.
func NewFileProvider ¶
func NewFileProvider(directory string) (*FileProvider, error)
NewFileProvider creates a file secrets provider rooted at directory.
type GoogleSecretManagerProvider ¶
type GoogleSecretManagerProvider struct {
// contains filtered or unexported fields
}
GoogleSecretManagerProvider retrieves secrets from Google Secret Manager.
func NewGoogleSecretManagerProvider ¶
func NewGoogleSecretManagerProvider(ctx context.Context) (*GoogleSecretManagerProvider, error)
NewGoogleSecretManagerProvider creates a Google Secret Manager provider using default credentials.
type OAuthCredentials ¶
type OAuthCredentials struct {
ClientID string `json:"client_id"`
ClientSecret string `json:"client_secret"`
}
OAuthCredentials represents OAuth client credentials stored as JSON in secrets.
func ParseOAuthCredentials ¶
func ParseOAuthCredentials(secretValue string) (*OAuthCredentials, error)
ParseOAuthCredentials parses a JSON secret value into OAuth credentials. It validates that both client_id and client_secret are present.
type Provider ¶
Provider is the interface for retrieving secrets from a secret management service.
func NewProvider ¶
NewProvider creates a new secrets provider based on the configuration. It supports AWS Secrets Manager, AWS Systems Manager Parameter Store, Google Secret Manager, Azure Key Vault, files, and environment variables.