featureflagscfg

package
v4.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2026 License: AGPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ProviderLaunchDarkly is used to indicate the LaunchDarkly provider.
	ProviderLaunchDarkly = "launchdarkly"
	// ProviderPostHog is used to indicate the PostHog provider.
	ProviderPostHog = "posthog"
)

Variables

This section is empty.

Functions

func ProvideFeatureFlagManager

func ProvideFeatureFlagManager(ctx context.Context, c *Config, logger logging.Logger, tracerProvider tracing.TracerProvider, metricsProvider metrics.Provider, httpClient *http.Client) (featureflags.FeatureFlagManager, error)

ProvideFeatureFlagManager provides a FeatureFlagManager from config.

func RegisterFeatureFlagManager

func RegisterFeatureFlagManager(i do.Injector)

RegisterFeatureFlagManager registers a featureflags.FeatureFlagManager with the injector.

Types

type Config

type Config struct {
	LaunchDarkly   *launchdarkly.Config      `env:"init"     envPrefix:"LAUNCH_DARKLY"     json:"launchDarkly"`
	PostHog        *posthog.Config           `env:"init"     envPrefix:"POSTHOG_"          json:"posthog"`
	Provider       string                    `env:"PROVIDER" json:"provider"`
	CircuitBreaker circuitbreakingcfg.Config `env:"init"     envPrefix:"CIRCUIT_BREAKING_" json:"circuitBreakingConfig"`
}

Config configures our feature flag manager.

func (*Config) EnsureDefaults

func (cfg *Config) EnsureDefaults()

EnsureDefaults sets sensible defaults for zero-valued fields.

func (*Config) ProvideFeatureFlagManager

func (c *Config) ProvideFeatureFlagManager(logger logging.Logger, tracerProvider tracing.TracerProvider, httpClient *http.Client, circuitBreaker circuitbreaking.CircuitBreaker) (featureflags.FeatureFlagManager, error)

func (*Config) ValidateWithContext

func (c *Config) ValidateWithContext(ctx context.Context) error

ValidateWithContext validates the config.

Jump to

Keyboard shortcuts

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