Documentation
¶
Index ¶
- Variables
- func BeginChangeCheck(frequency time.Duration)
- func FindCommandEntry(name string) ([]data.CommandEntry, error)
- func GetBundleConfigs() []data.Bundle
- func GetCogServerConfigs() data.CogServerConfigs
- func GetDatabaseConfigs() data.DatabaseConfigs
- func GetDockerConfigs() data.DockerConfigs
- func GetGlobalConfigs() data.GlobalConfigs
- func GetSlackProviders() []data.SlackProvider
- func Initialize(file string) error
- func Updates() <-chan State
- type State
Constants ¶
This section is empty.
Variables ¶
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") )
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 ¶
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 ¶
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 ¶
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.
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 )