config

package
v0.0.0-...-57b83e3 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package config provides functions to handle the configurations of job service.

Index

Constants

View Source
const (

	// JobServiceProtocolHTTPS points to the 'https' protocol
	JobServiceProtocolHTTPS = "https"
	// JobServiceProtocolHTTP points to the 'http' protocol
	JobServiceProtocolHTTP = "http"

	// JobServicePoolBackendRedis represents redis backend
	JobServicePoolBackendRedis = "redis"
)

Variables

View Source
var DefaultConfig = &Configuration{}

DefaultConfig is the default configuration reference

Functions

func GetAuthSecret

func GetAuthSecret() string

GetAuthSecret get the auth secret from the env

func GetUIAuthSecret

func GetUIAuthSecret() string

GetUIAuthSecret get the auth secret of UI side

Types

type Configuration

type Configuration struct {
	// Protocol server listening on: https/http
	Protocol string `yaml:"protocol"`

	// Server listening port
	Port uint `yaml:"port"`

	// Additional config when using https
	HTTPSConfig *HTTPSConfig `yaml:"https_config,omitempty"`

	// Configurations of worker worker
	PoolConfig *PoolConfig `yaml:"worker_pool,omitempty"`

	// Job logger configurations
	JobLoggerConfigs []*LoggerConfig `yaml:"job_loggers,omitempty"`

	// Logger configurations
	LoggerConfigs []*LoggerConfig `yaml:"loggers,omitempty"`
}

Configuration loads and keeps the related configuration items of job service.

func (*Configuration) Load

func (c *Configuration) Load(yamlFilePath string, detectEnv bool) error

Load the configuration options from the specified yaml file. If the yaml file is specified and existing, load configurations from yaml file first; If detecting env variables is specified, load configurations from env variables; Please pay attentions, the detected env variable will override the same configuration item loading from file.

yamlFilePath string: The path config yaml file readEnv bool : Whether detect the environment variables or not

type CustomizedSettings

type CustomizedSettings map[string]interface{}

CustomizedSettings keeps the customized settings of logger

type HTTPSConfig

type HTTPSConfig struct {
	Cert string `yaml:"cert"`
	Key  string `yaml:"key"`
}

HTTPSConfig keeps additional configurations when using https protocol

type LogSweeperConfig

type LogSweeperConfig struct {
	Duration int                `yaml:"duration"`
	Settings CustomizedSettings `yaml:"settings"`
}

LogSweeperConfig keeps settings of log sweeper

type LoggerConfig

type LoggerConfig struct {
	Name     string             `yaml:"name"`
	Level    string             `yaml:"level"`
	Settings CustomizedSettings `yaml:"settings"`
	Sweeper  *LogSweeperConfig  `yaml:"sweeper"`
}

LoggerConfig keeps logger basic configurations.

type PoolConfig

type PoolConfig struct {
	// Worker concurrency
	WorkerCount  uint             `yaml:"workers"`
	Backend      string           `yaml:"backend"`
	RedisPoolCfg *RedisPoolConfig `yaml:"redis_pool,omitempty"`
}

PoolConfig keeps worker worker configurations.

type RedisPoolConfig

type RedisPoolConfig struct {
	RedisURL  string `yaml:"redis_url"`
	Namespace string `yaml:"namespace"`
}

RedisPoolConfig keeps redis worker info.

Jump to

Keyboard shortcuts

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