Documentation ¶
Overview ¶
Package envfactory contains types related to service-driven environment configuration, shared by the autoconfig and filedata packages.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type EnvConfigFactory ¶
type EnvConfigFactory struct { // DataStorePrefix is the configured data store prefix, which may contain a per-environment placeholder. DataStorePrefix string // DataStorePrefix is the configured data store table name, which may contain a per-environment placeholder. TableName string AllowedOrigin ct.OptStringList AllowedHeader ct.OptStringList // Whether this factory is used for offline mode or not. Offline bool }
EnvConfigFactory is an abstraction of the logic for generating environment configurations that are partly parameterized, instead of each environment being manually configured. This is used in both auto-configuration mode and offline mode.
func NewEnvConfigFactoryForAutoConfig ¶
func NewEnvConfigFactoryForAutoConfig(c config.AutoConfigConfig) EnvConfigFactory
NewEnvConfigFactoryForAutoConfig creates an EnvConfigFactory based on the auto-configuration mode settings.
func NewEnvConfigFactoryForOfflineMode ¶
func NewEnvConfigFactoryForOfflineMode(c config.OfflineModeConfig) EnvConfigFactory
NewEnvConfigFactoryForOfflineMode creates an EnvConfigFactory based on the offline mode settings.
func (EnvConfigFactory) MakeEnvironmentConfig ¶
func (f EnvConfigFactory) MakeEnvironmentConfig(params EnvironmentParams) config.EnvConfig
MakeEnvironmentConfig creates an EnvConfig based on both the individual EnvironmentParams and the properties of the EnvConfigFactory.
type EnvironmentParams ¶
type EnvironmentParams struct { // ID is the environment ID. EnvID config.EnvironmentID // Identifiers contains the project and environment names and keys. Identifiers relayenv.EnvIdentifiers // SDKKey is the environment's SDK key; if there is more than one active key, it is the latest. SDKKey config.SDKKey // MobileKey is the environment's mobile key. MobileKey config.MobileKey // ExpiringSDKKey is an additional SDK key that should also be allowed (but not surfaced as // the canonical one). ExpiringSDKKey ExpiringSDKKey // TTL is the cache TTL for PHP clients. TTL time.Duration // SecureMode is true if secure mode is required for this environment. SecureMode bool }
EnvironmentParams contains environment-specific information obtained from LaunchDarkly which will be used to configure a Relay environment in auto-configuration mode or offline mode.
This is a simplified representation that does not contain all of the properties used in the auto-configuration or offline mode protocols, but only the ones that the core Relay logic needs.
func (EnvironmentParams) WithFilter ¶
func (e EnvironmentParams) WithFilter(key config.FilterKey) EnvironmentParams
type EnvironmentRep ¶
type EnvironmentRep struct { EnvID config.EnvironmentID `json:"envID"` EnvKey string `json:"envKey"` EnvName string `json:"envName"` MobKey config.MobileKey `json:"mobKey"` ProjKey string `json:"projKey"` ProjName string `json:"projName"` SDKKey SDKKeyRep `json:"sdkKey"` DefaultTTL int `json:"defaultTtl"` SecureMode bool `json:"secureMode"` Version int `json:"version"` }
EnvironmentRep is a representation of an environment that is being added or updated.
func (EnvironmentRep) Describe ¶
func (r EnvironmentRep) Describe() string
func (EnvironmentRep) ID ¶
func (r EnvironmentRep) ID() string
func (EnvironmentRep) ToParams ¶
func (r EnvironmentRep) ToParams() EnvironmentParams
ToParams converts the JSON properties for an environment into our internal parameter type.
type ExpiringKeyRep ¶
type ExpiringKeyRep struct { Value config.SDKKey `json:"value"` Timestamp ldtime.UnixMillisecondTime `json:"timestamp"` }
ExpiringKeyRep describes an old key that will expire at the specified date/time.
func (ExpiringKeyRep) ToParams ¶ added in v8.8.0
func (e ExpiringKeyRep) ToParams() ExpiringSDKKey
type ExpiringSDKKey ¶ added in v8.8.0
func (ExpiringSDKKey) Defined ¶ added in v8.8.0
func (e ExpiringSDKKey) Defined() bool
type FilterParams ¶
type FilterRep ¶
type FilterRep struct { ProjKey string `json:"projKey"` FilterKey config.FilterKey `json:"key"` Version int `json:"version"` }
func (FilterRep) ToParams ¶
func (f FilterRep) ToParams(id config.FilterID) FilterParams
ToParams converts the JSON properties for a filter into our internal parameter type. It requires an explicit FilterID because there is no ID included within the JSON representation.
func (FilterRep) ToTestParams ¶
func (f FilterRep) ToTestParams() FilterParams
ToTestParams is similar to ToParams, but intended as a convenience for tests. It assumes that a filter's ID can be computed by concatenating the project key with the filter key.
type SDKKeyRep ¶
type SDKKeyRep struct { Value config.SDKKey `json:"value"` Expiring ExpiringKeyRep `json:"expiring"` }
SDKKeyRep describes an SDK key optionally accompanied by an old expiring key.