backends

package
v0.40.0-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2026 License: MIT Imports: 19 Imported by: 0

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 HealthResult

type HealthResult = types.HealthResult

Re-export types for convenience

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL