config

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2017 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package config , actually copied from github.com/elastic/beats

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsStrictPerms

func IsStrictPerms() bool

IsStrictPerms returns true if strict permission checking on config files is enabled.

func NewFlagOverwrite

func NewFlagOverwrite(
	set *flag.FlagSet,
	config *Config,
	name, path, def, usage string,
) *string

NewFlagOverwrite will use flags which specified

Types

type ClusterConfig

type ClusterConfig struct {
	Name  string   `config:"name"`
	Seeds []string `config:"seeds"`
}

ClusterConfig stores cluster settings

type Config

type Config ucfg.Config

Config object to store hierarchical configurations into. See https://godoc.org/github.com/elastic/go-ucfg#Config

func LoadFile

func LoadFile(path string) (*Config, error)

LoadFile will load config from specify file

func LoadFiles

func LoadFiles(paths ...string) (*Config, error)

LoadFiles will load configs from specify files

func MergeConfigs

func MergeConfigs(cfgs ...*Config) (*Config, error)

MergeConfigs just merge configs together

func NewConfig

func NewConfig() *Config

NewConfig create a pretty new config

func NewConfigFrom

func NewConfigFrom(from interface{}) (*Config, error)

NewConfigFrom get config instance

func NewConfigWithYAML

func NewConfigWithYAML(in []byte, source string) (*Config, error)

NewConfigWithYAML load config from yaml

func NewFlagConfig

func NewFlagConfig(
	set *flag.FlagSet,
	def *Config,
	name string,
	usage string,
) *Config

NewFlagConfig will use flags

func (*Config) Bool

func (c *Config) Bool(name string, idx int) (bool, error)

Bool reads a boolean setting returning an error if the setting has no boolean value.

func (*Config) Child

func (c *Config) Child(name string, idx int) (*Config, error)

Child returns a child configuration or an error if the setting requested is a primitive value only.

func (*Config) CountField

func (c *Config) CountField(name string) (int, error)

CountField returns number of entries in a table or 1 if entry is a primitive value. Primitives settings can be handled like a list with 1 entry.

func (*Config) Enabled

func (c *Config) Enabled() bool

Enabled was a predefined config, enabled by default if no config was found

func (*Config) Float

func (c *Config) Float(name string, idx int) (float64, error)

Float reads a float64 value returning an error if the setting is not a float value or the primitive value is not convertible to float.

func (*Config) GetFields

func (c *Config) GetFields() []string

GetFields returns a list of all top-level named keys in c.

func (*Config) HasField

func (c *Config) HasField(name string) bool

HasField checks if c has a top-level named key name.

func (*Config) Int

func (c *Config) Int(name string, idx int) (int64, error)

Int reads an int64 value returning an error if the setting is not integer value, the primitive value is not convertible to int or a conversion would create an integer overflow.

func (*Config) IsArray

func (c *Config) IsArray() bool

IsArray checks if c has index only accessible settings.

func (*Config) IsDict

func (c *Config) IsDict() bool

IsDict checks if c has named keys.

func (*Config) Merge

func (c *Config) Merge(from interface{}) error

Merge a map, a slice, a struct or another Config object into c.

func (*Config) Path

func (c *Config) Path() string

Path gets the absolute path of c separated by sep. If c is a root-Config an empty string will be returned.

func (*Config) PathOf

func (c *Config) PathOf(field string) string

PathOf gets the absolute path of a potential setting field in c with name separated by sep.

func (*Config) SetBool

func (c *Config) SetBool(name string, idx int, value bool) error

SetBool sets a boolean primitive value. An error is returned if the new name is invalid.

func (*Config) SetChild

func (c *Config) SetChild(name string, idx int, value *Config) error

SetChild adds a sub-configuration. An error is returned if the name is invalid.

func (*Config) SetFloat

func (c *Config) SetFloat(name string, idx int, value float64) error

SetFloat sets an floating point primitive value. An error is returned if the name is invalid.

func (*Config) SetInt

func (c *Config) SetInt(name string, idx int, value int64) error

SetInt sets an integer primitive value. An error is returned if the new name is invalid.

func (*Config) SetString

func (c *Config) SetString(name string, idx int, value string) error

SetString sets string value. An error is returned if the name is invalid.

func (*Config) String

func (c *Config) String(name string, idx int) (string, error)

Strings reads a string setting returning an error if the setting has no string or primitive value convertible to string.

func (*Config) Unpack

func (c *Config) Unpack(to interface{}) error

Unpack unpacks c into a struct, a map, or a slice allocating maps, slices, and pointers as necessary.

type LoggingConfig

type LoggingConfig struct {
	RealtimePushEnabled  bool   `json:"realtime"`
	LogLevel             string `json:"log_level"`
	PushLogLevel         string `json:"push_log_level"`
	FuncFilterPattern    string `json:"func_pattern"`
	FileFilterPattern    string `json:"file_pattern"`
	MessageFilterPattern string `json:"message_pattern"`
}

LoggingConfig object to store logging related settings

type Namespace added in v0.9.0

type Namespace struct {
	C map[string]*Config `config:",inline"`
}

Namespace storing at most one configuration section by name and sub-section.

func (*Namespace) Config added in v0.9.0

func (ns *Namespace) Config() *Config

Config return the sub-configuration section if a section has been set.

func (*Namespace) IsSet added in v0.9.0

func (ns *Namespace) IsSet() bool

IsSet returns true if a sub-configuration section has been set.

func (*Namespace) Name added in v0.9.0

func (ns *Namespace) Name() string

Name returns the configuration sections it's name if a section has been set.

func (*Namespace) Validate added in v0.9.0

func (ns *Namespace) Validate() error

Validate checks at most one sub-namespace being set.

type NetworkConfig

type NetworkConfig struct {
	Host string `config:"host"`
}

NetworkConfig stores network settings

type NodeConfig

type NodeConfig struct {
	Name string `config:"name"`
}

NodeConfig stores node settings

type PathConfig

type PathConfig struct {
	Data string `config:"data"`
	Log  string `config:"logs"`
	Cert string `config:"certs"`
}

PathConfig stores path settings

type Rule added in v0.9.0

type Rule struct {
	Contain []string `config:"contain"`
	Prefix  []string `config:"prefix"`
	Suffix  []string `config:"suffix"`
}

Rule is container of rules

type Rules added in v0.9.0

type Rules struct {
	Should  *Rule `config:"should"`
	Must    *Rule `config:"must"`
	MustNot *Rule `config:"must_not"`
}

Rules defines two fields, Should means any of the rules matched will be work Must means some rule must match MustNot means some rule must not match

type RuntimeConfig

type RuntimeConfig struct {
	Modules []*Config `config:"modules"`
}

RuntimeConfig object means this config can be changed during runtime

type SystemConfig

type SystemConfig struct {
	ConfigFile string

	ClusterConfig ClusterConfig `config:"cluster"`

	NetworkConfig NetworkConfig `config:"network"`

	NodeConfig NodeConfig `config:"node"`

	PathConfig PathConfig `config:"path"`

	APIBinding     string `config:"api_bind"`
	HTTPBinding    string `config:"http_bind"`
	ClusterBinding string `config:"cluster_bind"`

	AllowMultiInstance bool `config:"allow_multi_instance"`
	MaxNumOfInstance   int  `config:"max_num_of_instances"`
	TLSEnabled         bool `config:"tls_enabled"`
	// contains filtered or unexported fields
}

SystemConfig is a high priority config, init from the environment or startup, can't be changed on the fly, need to restart to make config apply

func (*SystemConfig) GetWorkingDir added in v0.9.0

func (sysconfig *SystemConfig) GetWorkingDir() string

GetWorkingDir returns root working dir of gopa instance

Jump to

Keyboard shortcuts

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