Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
AuthToken string `toml:"auth_token"`
AuthType string `toml:"auth_type"`
Backend string `toml:"backend"`
BasicAuth bool `toml:"basic_auth"`
ClientCaKeys string `toml:"client_cakeys"`
ClientCert string `toml:"client_cert"`
ClientKey string `toml:"client_key"`
ClientInsecure bool `toml:"client_insecure"`
CertificateARN string `toml:"certificate_arn"`
BackendNodes util.Nodes `toml:"nodes"`
Password string `toml:"password"`
Scheme string `toml:"scheme"`
Table string `toml:"table"`
Separator string `toml:"separator"`
Username string `toml:"username"`
AppID string `toml:"app_id"`
UserID string `toml:"user_id"`
RoleID string `toml:"role_id"`
SecretID string `toml:"secret_id"`
YAMLFile util.Nodes `toml:"file"`
Filter string `toml:"filter"`
Path string `toml:"path"`
Role string
ACMExportPrivateKey bool `toml:"acm_export_private_key"`
SecretsManagerVersionStage string `toml:"secretsmanager_version_stage"`
SecretsManagerNoFlatten bool `toml:"secretsmanager_no_flatten"`
IMDSCacheTTL time.Duration `toml:"imds_cache_ttl"`
// Connection timeouts
DialTimeout time.Duration `toml:"dial_timeout"`
ReadTimeout time.Duration `toml:"read_timeout"`
WriteTimeout time.Duration `toml:"write_timeout"`
// Retry configuration
RetryMaxAttempts int `toml:"retry_max_attempts"`
RetryBaseDelay time.Duration `toml:"retry_base_delay"`
RetryMaxDelay time.Duration `toml:"retry_max_delay"`
}
Config holds the configuration for backend connections.
func (*Config) ApplyTimeoutDefaults ¶
func (c *Config) ApplyTimeoutDefaults()
ApplyTimeoutDefaults applies default timeout values if they are not set (zero values). This ensures consistent defaults across all backends without duplication.
type DetailedHealthChecker ¶
type DetailedHealthChecker = types.DetailedHealthChecker
type StoreClient ¶
type StoreClient interface {
GetValues(ctx context.Context, keys []string) (map[string]string, error)
WatchPrefix(ctx context.Context, prefix string, keys []string, waitIndex uint64, stopChan chan bool) (uint64, error)
// HealthCheck verifies the backend connection is healthy.
// Returns nil if the connection is healthy, otherwise returns an error.
HealthCheck(ctx context.Context) error
// Close releases any resources held by the client.
// It should be called when the client is no longer needed.
Close() error
}
The StoreClient interface is implemented by objects that can retrieve key/value pairs from a backend store.
func New ¶
func New(config Config) (StoreClient, error)
New is used to create a storage client based on our configuration.
Click to show internal directories.
Click to hide internal directories.