Documentation
¶
Index ¶
- func CliParametersToRegister() map[string]CommandConfigData
- func Initialize()
- func LoadFromArgs(cliParametersMap map[string]interface{})
- func LoadFromFile(path string) error
- func ParseAdvancedOptions() conf.AdvancedConfig
- func ValidConfigs() error
- func WriteDefaultConfigFile(path string)
- type Auth
- type CommandConfigData
- type ConfigData
- type ImpressionListener
- type InMemorySection
- type LogSection
- type ProducerAdmin
- type ProducerSection
- type RedisSection
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CliParametersToRegister ¶
func CliParametersToRegister() map[string]CommandConfigData
CliParametersToRegister returns a list of cli parameter struct
func LoadFromArgs ¶
func LoadFromArgs(cliParametersMap map[string]interface{})
LoadFromArgs loads configuration values from cli
func LoadFromFile ¶
LoadFromFile configuration values from file
func ParseAdvancedOptions ¶
func ParseAdvancedOptions() conf.AdvancedConfig
ParseAdvancedOptions parses defaults for advanced Options
func WriteDefaultConfigFile ¶
func WriteDefaultConfigFile(path string)
WriteDefaultConfigFile writes a json file
Types ¶
type Auth ¶
type Auth struct {
// ApiKeys list of alloweb API-Keys for SDKs
// split-default-value must be set as SDK_API_KEY just to write config file by cli (see func getDefaultConfigData() at parser.go)
APIKeys []string `` /* 149-byte string literal not displayed */
}
Auth struct for proxy authentication
type CommandConfigData ¶
type CommandConfigData struct {
Command string
Description string
Attribute string
AttributeType string
DefaultValue interface{}
}
CommandConfigData represent a command line data structure
type ConfigData ¶
type ConfigData struct {
APIKey string `json:"apiKey" split-cli-option:"api-key" split-default-value:"YOUR API KEY" split-cli-description:"Your Split API-KEY"`
Proxy InMemorySection `json:"proxy" split-cli-option-group:"true"`
Redis RedisSection `json:"redis" split-cli-option-group:"true"`
Producer ProducerSection `json:"sync" split-cli-option-group:"true"`
Logger LogSection `json:"log" split-cli-option-group:"true"`
ImpressionListener ImpressionListener `json:"impressionListener" split-cli-option-group:"true"`
SplitsFetchRate int `` /* 141-byte string literal not displayed */
SegmentFetchRate int `` /* 148-byte string literal not displayed */
ImpressionsPostRate int `` /* 149-byte string literal not displayed */
ImpressionsPerPost int64 `` /* 165-byte string literal not displayed */
ImpressionsThreads int `` /* 151-byte string literal not displayed */
EventsPostRate int `` /* 144-byte string literal not displayed */
EventsPerPost int64 `` /* 150-byte string literal not displayed */
EventsThreads int `` /* 127-byte string literal not displayed */
MetricsPostRate int `` /* 138-byte string literal not displayed */
HTTPTimeout int64 `` /* 143-byte string literal not displayed */
IPAddressesEnabled bool `` /* 196-byte string literal not displayed */
StreamingEnabled bool `` /* 144-byte string literal not displayed */
ImpressionsMode string `` /* 167-byte string literal not displayed */
}
ConfigData main configuration container
var Data ConfigData
Data contains all configuration values
func NewInitializedConfigData ¶
func NewInitializedConfigData() ConfigData
NewInitializedConfigData returns an initialized by default config struct
func (ConfigData) MarshalBinary ¶
func (c ConfigData) MarshalBinary() (data []byte, err error)
MarshalBinary exports ConfigData to JSON string
type ImpressionListener ¶
type ImpressionListener struct {
Endpoint string `` /* 162-byte string literal not displayed */
}
ImpressionListener represents configuration for impression bulk poster
type InMemorySection ¶
type InMemorySection struct {
Port int `json:"port" split-default-value:"3000" split-cli-option:"proxy-port" split-cli-description:"Proxy port to listen connections"`
AdminPort int `` /* 134-byte string literal not displayed */
AdminUsername string `` /* 152-byte string literal not displayed */
AdminPassword string `` /* 152-byte string literal not displayed */
Title string `` /* 158-byte string literal not displayed */
PersistMemoryPath string `` /* 148-byte string literal not displayed */
ImpressionsMaxSize int64 `` /* 180-byte string literal not displayed */
EventsMaxSize int64 `` /* 165-byte string literal not displayed */
Auth Auth `json:"auth" split-cli-option-group:"true"`
}
InMemorySection represents configuration for in memory proxy
type LogSection ¶
type LogSection struct {
VerboseOn bool `json:"verbose" split-default-value:"false" split-cli-option:"log-verbose" split-cli-description:"Enable verbose mode"`
DebugOn bool `json:"debug" split-default-value:"false" split-cli-option:"log-debug" split-cli-description:"Enable debug mode"`
StdoutOn bool `json:"stdout" split-default-value:"false" split-cli-option:"log-stdout" split-cli-description:"Enable log standard output"`
File string `json:"file" split-default-value:"/tmp/split-agent.log" split-cli-option:"log-file" split-cli-description:"Set the log file"`
FileMaxSize int64 `` /* 141-byte string literal not displayed */
FileBackupCount int `` /* 158-byte string literal not displayed */
SlackChannel string `` /* 133-byte string literal not displayed */
SlackWebhookURL string `` /* 136-byte string literal not displayed */
}
LogSection log instance configuration
type ProducerAdmin ¶
type ProducerAdmin struct {
Port int `` /* 140-byte string literal not displayed */
Username string `` /* 151-byte string literal not displayed */
Password string `` /* 151-byte string literal not displayed */
Title string `` /* 157-byte string literal not displayed */
}
ProducerAdmin represents configuration for sync admin endpoints
type ProducerSection ¶
type ProducerSection struct {
Admin ProducerAdmin `json:"admin" split-cli-option-group:"true"`
}
ProducerSection wrapper for all producer configurations
type RedisSection ¶
type RedisSection struct {
Host string `json:"host" split-default-value:"localhost" split-cli-option:"redis-host" split-cli-description:"Redis server hostname"`
Port int `json:"port" split-default-value:"6379" split-cli-option:"redis-port" split-cli-description:"Redis Server port"`
Db int `json:"db" split-default-value:"0" split-cli-option:"redis-db" split-cli-description:"Redis DB"`
Pass string `json:"password" split-default-value:"" split-cli-option:"redis-pass" split-cli-description:"Redis password"`
Prefix string `json:"prefix" split-default-value:"" split-cli-option:"redis-prefix" split-cli-description:"Redis key prefix"`
// The network type, either tcp or unix.
// Default is tcp.
Network string `json:"network" split-default-value:"tcp" split-cli-option:"redis-network" split-cli-description:"Redis network protocol"`
// Maximum number of retries before giving up.
// Default is to not retry failed commands.
MaxRetries int `` /* 131-byte string literal not displayed */
// Dial timeout for establishing new connections.
// Default is 5 seconds.
DialTimeout int `` /* 134-byte string literal not displayed */
// Timeout for socket reads. If reached, commands will fail
// with a timeout instead of blocking.
// Default is 10 seconds.
ReadTimeout int `` /* 135-byte string literal not displayed */
// Timeout for socket writes. If reached, commands will fail
// with a timeout instead of blocking.
// Default is 3 seconds.
WriteTimeout int `` /* 137-byte string literal not displayed */
// Maximum number of socket connections.
// Default is 10 connections.
PoolSize int `json:"poolSize" split-default-value:"10" split-cli-option:"redis-pool" split-cli-description:"Redis connection pool size"`
// Redis sentinel replication support
SentinelReplication bool `` /* 160-byte string literal not displayed */
SentinelAddresses string `` /* 139-byte string literal not displayed */
SentinelMaster string `json:"sentinelMaster" split-default-value:"" split-cli-option:"redis-sentinel-master" split-cli-description:"Name of master"`
// Redis cluster replication support
ClusterMode bool `` /* 131-byte string literal not displayed */
ClusterNodes string `` /* 134-byte string literal not displayed */
ClusterKeyHashTag string `` /* 139-byte string literal not displayed */
TLS bool `` /* 133-byte string literal not displayed */
TLSServerName string `` /* 178-byte string literal not displayed */
TLSCACertificates []string `` /* 190-byte string literal not displayed */
TLSSkipNameValidation bool `` /* 192-byte string literal not displayed */
TLSClientCertificate string `` /* 183-byte string literal not displayed */
TLSClientKey string `` /* 151-byte string literal not displayed */
ForceFreshStartup bool `` /* 227-byte string literal not displayed */
}
RedisSection Redis instance information