Help us shape the future of Go! Take the 2026 Go Developer Survey

backends

package
v0.41.3 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 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 added in v0.40.0

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 added in v0.40.0

type DetailedHealthChecker = types.DetailedHealthChecker

type HealthResult added in v0.40.0

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