Documentation
¶
Overview ¶
Package secrets provides secret management backends
Index ¶
- type Config
- type EnvProvider
- func (e *EnvProvider) Close() error
- func (e *EnvProvider) Delete(ctx context.Context, key string) error
- func (e *EnvProvider) Exists(ctx context.Context, key string) bool
- func (e *EnvProvider) Get(ctx context.Context, key string) (Secret, error)
- func (e *EnvProvider) Health(ctx context.Context) error
- func (e *EnvProvider) List(ctx context.Context) ([]string, error)
- func (e *EnvProvider) Name() string
- func (e *EnvProvider) Set(ctx context.Context, key string, value Secret) error
- func (e *EnvProvider) WithPrefix(prefix string) *EnvProvider
- type FileConfig
- type FileProvider
- func (f *FileProvider) Close() error
- func (f *FileProvider) Delete(ctx context.Context, key string) error
- func (f *FileProvider) Exists(ctx context.Context, key string) bool
- func (f *FileProvider) Get(ctx context.Context, key string) (Secret, error)
- func (f *FileProvider) Health(ctx context.Context) error
- func (f *FileProvider) List(ctx context.Context) ([]string, error)
- func (f *FileProvider) Name() string
- func (f *FileProvider) Set(ctx context.Context, key string, value Secret) error
- type Manager
- func (m *Manager) Close() error
- func (m *Manager) Delete(ctx context.Context, key string) error
- func (m *Manager) Get(ctx context.Context, key string) (Secret, error)
- func (m *Manager) GetJSON(ctx context.Context, key string, target interface{}) error
- func (m *Manager) GetString(ctx context.Context, key string) (string, error)
- func (m *Manager) List(ctx context.Context) ([]string, error)
- func (m *Manager) Set(ctx context.Context, key string, value Secret) error
- type Provider
- type Secret
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EnvProvider ¶
type EnvProvider struct {
// contains filtered or unexported fields
}
EnvProvider reads secrets from environment variables
func NewEnvProvider ¶
func NewEnvProvider() *EnvProvider
NewEnvProvider creates a new environment variable provider
func (*EnvProvider) Close ¶
func (e *EnvProvider) Close() error
func (*EnvProvider) Name ¶
func (e *EnvProvider) Name() string
func (*EnvProvider) WithPrefix ¶
func (e *EnvProvider) WithPrefix(prefix string) *EnvProvider
type FileConfig ¶
FileConfig for file-based storage
type FileProvider ¶
type FileProvider struct {
// contains filtered or unexported fields
}
FileProvider stores secrets in a JSON file
func NewFileProvider ¶
func NewFileProvider(config *FileConfig) (*FileProvider, error)
NewFileProvider creates a file-based provider
func (*FileProvider) Close ¶
func (f *FileProvider) Close() error
func (*FileProvider) Name ¶
func (f *FileProvider) Name() string
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager provides unified access to secrets with caching
func GetManager ¶
GetManager returns the singleton secrets manager
func NewManager ¶
NewManager creates a new secrets manager
type Provider ¶
type Provider interface {
Get(ctx context.Context, key string) (Secret, error)
Set(ctx context.Context, key string, value Secret) error
Delete(ctx context.Context, key string) error
List(ctx context.Context) ([]string, error)
Exists(ctx context.Context, key string) bool
Close() error
Health(ctx context.Context) error
Name() string
}
Provider defines the interface for secret management backends
type Secret ¶
type Secret struct {
Value interface{} `json:"value"`
Version string `json:"version,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Metadata map[string]string `json:"metadata,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
}
Secret represents a secret with metadata
Click to show internal directories.
Click to hide internal directories.