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 ¶
This section is empty.
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
}
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
// DeprecatedSDKKey is an additional SDK key that should also be allowed (but not surfaced as
// the canonical one), or "" if none. The expiry time is not represented here; it is managed
// by lower-level components.
ExpiringSDKKey config.SDKKey
// 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.
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) 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.
type SDKKeyRep ¶
type SDKKeyRep struct {
Value config.SDKKey `json:"value"`
Expiring ExpiringKeyRep
}
SDKKeyRep describes an SDK key optionally accompanied by an old expiring key.