config

package
v0.4.0-dev.0 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2019 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// ErrConfigFileNotFound is returned by Initialize() if the specified
	// config file doesn't exist.
	ErrConfigFileNotFound = errors.New("config file doesn't exist")

	// ErrHashFailure can be returned by Initialize() or internal methods if
	// there's an error while generating a hash for the configuration file.
	ErrHashFailure = errors.New("failed to generate config file hash")

	// ErrConfigUnloadable can be returned by Initialize() or internal
	// methods if the config file exists but can't be loaded.
	ErrConfigUnloadable = errors.New("can't load config file")
)
View Source
var (
	// ErrInvalidBundleCommandPair is returned by FindCommandEntry when the
	// command entry string doesn't look like  "command" or "bundle:command".
	ErrInvalidBundleCommandPair = errors.New("invalid bundle:comand pair")
)

Functions

func BeginChangeCheck

func BeginChangeCheck(frequency time.Duration)

BeginChangeCheck starts a routine that checks the underlying config for changes and reloads if one is found.

func FindCommandEntry

func FindCommandEntry(name string) ([]data.CommandEntry, error)

FindCommandEntry looks for a command in the configuration. It assumes that command character(s) have already been removed, and expects a string in the format "bundle:command" or "command"; the latter can return multiple values if a similarly-named command is found in multiple bundles

func GetBundleConfigs

func GetBundleConfigs() []data.Bundle

GetBundleConfigs returns the data wrapper for the "bundles" config section.

func GetCogServerConfigs

func GetCogServerConfigs() data.CogServerConfigs

GetCogServerConfigs returns the data wrapper for the "cog" config section.

func GetDatabaseConfigs

func GetDatabaseConfigs() data.DatabaseConfigs

GetDatabaseConfigs returns the data wrapper for the "database" config section.

func GetDockerConfigs

func GetDockerConfigs() data.DockerConfigs

GetDockerConfigs returns the data wrapper for the "docker" config section.

func GetGlobalConfigs

func GetGlobalConfigs() data.GlobalConfigs

GetGlobalConfigs returns the data wrapper for the "global" config section.

func GetSlackProviders

func GetSlackProviders() []data.SlackProvider

GetSlackProviders returns the data wrapper for the "slack" config section.

func Initialize

func Initialize(file string) error

Initialize is called by main() to trigger creation of the config singleton. It can be called multiple times, if you're into that kind of thing. If succesful, this will emit a StateConfigInitialized to any update listeners.

func Updates

func Updates() <-chan State

Updates returns a channel that emits a message whenever the underlying configuration is updated. Upon creation, it will emit the current state, so it never blocks.

Types

type State

type State byte

State represents a possible state of the config.

const (
	// StateConfigUninitialized is the default state of the config,
	// before initializtion begins.
	StateConfigUninitialized State = iota

	// StateConfigInitialized indicates the config is fully initialized.
	StateConfigInitialized

	// StateConfigError indicates that the configuration file could not be
	// loaded and any calls to GetXConfig() will be invalid. This will only be
	// seen on the initial load attempt: if a config file changes and cannot be
	// loaded, the last good config will be used and the state will remain
	// 'initialized'
	StateConfigError
)

func CurrentState

func CurrentState() State

CurrentState returns the current state of the config.

func (State) String

func (s State) String() string

Jump to

Keyboard shortcuts

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