Documentation
¶
Overview ¶
Package config contains the flags and defaults for Worker configuration.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
// Flags is the list of all CLI flags accepted by travis-worker
Flags = defFlags(defs)
)
Functions ¶
func WriteEnvConfig ¶
WriteEnvConfig writes the given configuration to out. The format of the output is a list of environment variables settings suitable to be sourced by a Bourne-like shell.
Types ¶
type Config ¶
type Config struct {
ProviderName string `config:"provider-name"`
QueueType string `config:"queue-type"`
AmqpURI string `config:"amqp-uri"`
AmqpInsecure bool `config:"amqp-insecure"`
AmqpTlsCert string `config:"amqp-tls-cert"`
AmqpTlsCertPath string `config:"amqp-tls-cert-path"`
AmqpHeartbeat time.Duration `config:"amqp-heartbeat"`
AmqpConsumerPriority int `config:"amqp-consumer-priority"`
BaseDir string `config:"base-dir"`
PoolSize int `config:"pool-size"`
BuildAPIURI string `config:"build-api-uri"`
QueueName string `config:"queue-name"`
LibratoEmail string `config:"librato-email"`
LibratoToken string `config:"librato-token"`
LibratoSource string `config:"librato-source"`
LogsAmqpURI string `config:"logs-amqp-uri"`
LogsAmqpTlsCert string `config:"logs-amqp-tls-cert"`
LogsAmqpTlsCertPath string `config:"logs-amqp-tls-cert-path"`
SentryDSN string `config:"sentry-dsn"`
Hostname string `config:"hostname"`
DefaultLanguage string `config:"default-language"`
DefaultDist string `config:"default-dist"`
DefaultGroup string `config:"default-group"`
DefaultOS string `config:"default-os"`
JobBoardURL string `config:"job-board-url"`
TravisSite string `config:"travis-site"`
RabbitMQSharding bool `config:"rabbitmq-sharding"`
StateUpdatePoolSize int `config:"state-update-pool-size"`
LogPoolSize int `config:"log-pool-size"`
FilePollingInterval time.Duration `config:"file-polling-interval"`
HTTPPollingInterval time.Duration `config:"http-polling-interval"`
HTTPRefreshClaimInterval time.Duration `config:"http-refresh-claim-interval"`
HardTimeout time.Duration `config:"hard-timeout"`
InitialSleep time.Duration `config:"initial-sleep"`
LogTimeout time.Duration `config:"log-timeout"`
MaxLogLength int `config:"max-log-length"`
ScriptUploadTimeout time.Duration `config:"script-upload-timeout"`
StartupTimeout time.Duration `config:"startup-timeout"`
BuildTraceEnabled bool `config:"build-trace-enabled"`
BuildTraceS3Bucket string `config:"build-trace-s3-bucket"`
BuildTraceS3KeyPrefix string `config:"build-trace-s3-key-prefix"`
BuildTraceS3Region string `config:"build-trace-s3-region"`
SentryHookErrors bool `config:"sentry-hook-errors"`
BuildAPIInsecureSkipVerify bool `config:"build-api-insecure-skip-verify"`
SkipShutdownOnLogTimeout bool `config:"skip-shutdown-on-log-timeout"`
// build script generator options
BuildCacheFetchTimeout time.Duration `config:"build-cache-fetch-timeout"`
BuildCachePushTimeout time.Duration `config:"build-cache-push-timeout"`
BuildParanoid bool `config:"build-paranoid"`
BuildFixResolvConf bool `config:"build-fix-resolv-conf"`
BuildFixEtcHosts bool `config:"build-fix-etc-hosts"`
BuildAptCache string `config:"build-apt-cache"`
BuildNpmCache string `config:"build-npm-cache"`
BuildCacheType string `config:"build-cache-type"`
BuildCacheS3Scheme string `config:"build-cache-s3-scheme"`
BuildCacheS3Region string `config:"build-cache-s3-region"`
BuildCacheS3Bucket string `config:"build-cache-s3-bucket"`
BuildCacheS3AccessKeyID string `config:"build-cache-s3-access-key-id"`
BuildCacheS3SecretAccessKey string `config:"build-cache-s3-secret-access-key"`
PayloadFilterExecutable string `config:"payload-filter-executable"`
ProgressType string `config:"progress-type"`
Infra string `config:"infra"`
StackdriverTraceAccountJSON string `config:"stackdriver-trace-account-json"`
StackdriverProjectID string `config:"stackdriver-project-id"`
OpencensusTracingEnabled bool `config:"opencensus-tracing-enabled"`
OpencensusSamplingRate int `config:"opencensus-sampling-rate"`
ProviderConfig *ProviderConfig
}
Config contains all the configuration needed to run the worker.
func FromCLIContext ¶ added in v1.3.0
FromCLIContext creates a Config using a cli.Context by pulling configuration from the flags in the context.
type ProviderConfig ¶
ProviderConfig is the part of a configuration specific to a provider.
func ProviderConfigFromEnviron ¶
func ProviderConfigFromEnviron(providerName string) *ProviderConfig
ProviderConfigFromEnviron dynamically builds a *ProviderConfig from the environment by loading values from keys with prefixes that match either the uppercase provider name + "_" or "TRAVIS_WORKER_" + uppercase provider name + "_", e.g., for provider "foo":
env: TRAVIS_WORKER_FOO_BAR=ham FOO_BAZ=bones
map equiv: {"BAR": "ham", "BAZ": "bones"}
func ProviderConfigFromMap ¶ added in v1.3.0
func ProviderConfigFromMap(cfgMap map[string]string) *ProviderConfig
ProviderConfigFromMap creates a provider configuration backed by the given map. Useful for testing a provider.
func (*ProviderConfig) Each ¶ added in v1.3.0
func (pc *ProviderConfig) Each(f func(string, string))
Each loops over all configuration settings and calls the given function with the key and value. The settings are sorted so f i called with the keys in alphabetical order.
func (*ProviderConfig) Get ¶
func (pc *ProviderConfig) Get(key string) string
Get the value of a setting with the given key. The empty string is returned if the setting could not be found.
func (*ProviderConfig) GoString ¶
func (pc *ProviderConfig) GoString() string
GoString formats the ProviderConfig as valid Go syntax. This makes ProviderConfig implement fmt.GoStringer.
func (*ProviderConfig) IsSet ¶
func (pc *ProviderConfig) IsSet(key string) bool
IsSet returns true if a setting with the given key exists, or false if it does not.
func (*ProviderConfig) Set ¶
func (pc *ProviderConfig) Set(key, value string)
Set the value of a setting with the given key.
func (*ProviderConfig) Unset ¶ added in v1.3.0
func (pc *ProviderConfig) Unset(key string)
Unset removes the given key from the config map