helper

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2019 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	YIG_CONF_PATH = "/etc/yig/yig.toml"
)

Variables

View Source
var Logger *log.Logger

Functions

func CopiedBytes

func CopiedBytes(source []byte) (destination []byte)

func Debug

func Debug(format string, args ...interface{})

func Debugln

func Debugln(args ...interface{})

func ErrorIf

func ErrorIf(err error, msg string, data ...interface{})

errorIf synonymous with fatalIf but doesn't exit on error != nil

func FatalIf

func FatalIf(err error, msg string, data ...interface{})

fatalIf wrapper function which takes error and prints error messages.

func FileExists

func FileExists(path string) bool

func Filter

func Filter(xs []string, f func(string) bool) []string

func GenerateRandomId

func GenerateRandomId() []byte

func HasBucketInDomain added in v1.2.2

func HasBucketInDomain(host string, prefix string, domains []string) (ok bool, bucket string)

func Keys

func Keys(v interface{}) []string

Get keys of a map, i.e. map[string]interface{} -> []string Note that some type checks are omitted for efficiency, you need to ensure them yourself, otherwise your program should panic

func Map

func Map(xs []string, f func(string) string) []string

func MarshalTOMLConfig added in v1.1.3

func MarshalTOMLConfig() error

func MsgPackMarshal

func MsgPackMarshal(v interface{}) ([]byte, error)

func MsgPackUnMarshal

func MsgPackUnMarshal(data []byte, v interface{}) error

func SetupConfig

func SetupConfig()

func StringInSlice

func StringInSlice(s string, ss []string) bool

func SubString

func SubString(str string, begin, length int) (substr string)

func Ternary

func Ternary(IF bool, THEN interface{}, ELSE interface{}) interface{}

mimic `?:` operator Need type assertion to convert output to expected type

func UnicodeIndex

func UnicodeIndex(str, substr string) int

Types

type Config

type Config struct {
	S3Domain         []string `toml:"s3domain"`     // Domain name of YIG
	Region           string   `toml:"region"`       // Region name this instance belongs to, e.g cn-bj-1
	IamEndpoint      string   `toml:"iam_endpoint"` // le IAM endpoint address
	IamKey           string   `toml:"iam_key"`
	IamSecret        string   `toml:"iam_secret"`
	IamVersion       string   `toml:"iam_version"`
	LogPath          string   `toml:"log_path"`
	PanicLogPath     string   `toml:"panic_log_path"`
	PidFile          string   `toml:"pid_file"`
	BindApiAddress   string   `toml:"api_listener"`
	BindAdminAddress string   `toml:"admin_listener"`
	SSLKeyPath       string   `toml:"ssl_key_path"`
	SSLCertPath      string   `toml:"ssl_cert_path"`
	ZookeeperAddress string   `toml:"zk_address"`

	InstanceId             string // if empty, generated one at server startup
	ConcurrentRequestLimit int
	HbaseZnodeParent       string        // won't change default("/hbase") if leave this option empty
	HbaseTimeout           time.Duration // in seconds
	DebugMode              bool          `toml:"debug_mode"`
	AdminKey               string        `toml:"admin_key"` //used for tools/admin to communicate with yig
	GcThread               int           `toml:"gc_thread"`
	LcThread               int           //used for tools/lc only, set worker numbers to do lc
	LcDebug                bool          //used for tools/lc only, if this was set true, will treat days as seconds
	LogLevel               int           `toml:"log_level"` //1-20
	CephConfigPattern      string        `toml:"ceph_config_pattern"`
	ReservedOrigins        string        `toml:"reserved_origins"` // www.ccc.com,www.bbb.com,127.0.0.1
	MetaStore              string        `toml:"meta_store"`
	TidbInfo               string        `toml:"tidb_info"`
	KeepAlive              bool          `toml:"keepalive"`

	//About cache
	RedisAddress          string `toml:"redis_address"`           // redis connection string, e.g localhost:1234
	RedisConnectionNumber int    `toml:"redis_connection_number"` // number of connections to redis(i.e max concurrent request number)
	RedisPassword         string `toml:"redis_password"`          // redis auth password
	MetaCacheType         int    `toml:"meta_cache_type"`
	EnableDataCache       bool   `toml:"enable_data_cache"`
	RedisConnectTimeout   int    `toml:"redis_connect_timeout"`
	RedisReadTimeout      int    `toml:"redis_read_timeout"`
	RedisWriteTimeout     int    `toml:"redis_write_timeout"`
	RedisKeepAlive        int    `toml:"redis_keepalive"`
	RedisPoolMaxIdle      int    `toml:"redis_pool_max_idle"`
	RedisPoolIdleTimeout  int    `toml:"redis_pool_idle_timeout"`

	// If the value is not 0, the cached ping detection will be turned on, and the interval is the number of seconds.
	CacheCircuitCheckInterval int `toml:"cache_circuit_check_interval"`
	// This property sets the amount of seconds, after tripping the circuit,
	// to reject requests before allowing attempts again to determine if the circuit should again be closed.
	CacheCircuitCloseSleepWindow int `toml:"cache_circuit_close_sleep_window"`
	// This value is how may consecutive passing requests are required before the circuit is closed
	CacheCircuitCloseRequiredCount int `toml:"cache_circuit_close_required_count"`
	// This property sets the minimum number of requests in a rolling window that will trip the circuit.
	CacheCircuitOpenThreshold int `toml:"cache_circuit_open_threshold"`

	KMS KMSConfig `toml:"kms"`
}
var CONFIG Config

type KMSConfig added in v1.1.3

type KMSConfig struct {
	Type     string
	Endpoint string
	Id       string `toml:"kms_id"`
	Secret   string `toml:"kms_secret"`
	Version  int
	Keyname  string
}

Jump to

Keyboard shortcuts

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