Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentConfig ¶
type AgentConfig struct {
Executions []AgentExecution `yaml:"executions"`
}
AgentConfig is the agent configuration.
type AgentExecution ¶
type AgentExecution struct {
// Args is the command arguments to pass for execution.
Args []string `yaml:"args"`
// Command is the name of the command to execute.
Command string `yaml:"command"`
Dir string `yaml:"dir"`
Environment map[string]string `yaml:"environment"`
// Events is the slice of names upon which to execute the given executions.
Events []string `yaml:"events"`
Filter map[string]interface{} `yaml:"filter"`
}
AgentExecution is a single execution instruction.
type BuilderConfig ¶
type Config ¶
type Config struct {
Agent *AgentConfig `yaml:"agent,omitempty"`
Builder *BuilderConfig `yaml:"builder,omitempty"`
// Environments *[]EnvironmentConfig `yaml:"environments,omitempty"`
GitWatch *GitWatchConfig `yaml:"gitwatch,omitempty"`
HTTP *HTTPConfig `yaml:"http,omitempty"`
// LDAP *LDAPConfig `yaml:"ldap,omitempty"`
// Lights *LightsConfig `yaml:"lights,omitempty"`
// MQTT *MQTTConfig `yaml:"mqtt,omitempty"`
Network *NetworkConfig `yaml:"network,omitempty"`
TLS *TLSConfig `yaml:"tls,omitempty"`
RPC *RPCConfig `yaml:"rpc,omitempty"`
Vault *VaultConfig `yaml:"vault,omitempty"`
}
Config stores the items that are required to configure this project.
func LoadConfig ¶
LoadConfig receives a file path for a configuration to load.
type EnvironmentConfig ¶
type EnvironmentConfig struct {
Name string `yaml:"name,omitempty"`
SecretValues []string `yaml:"secret_values,omitempty"`
}
EnvironmentConfig is the environment configuration.
type GitWatchCollection ¶
type GitWatchCollection struct {
Name string
Repos []GitWatchRepo `yaml:"repos"`
Interval int `yaml:"interval"`
}
type GitWatchConfig ¶
type GitWatchConfig struct {
CacheDir string `yaml:"cache_dir"`
Repos []GitWatchRepo `yaml:"repos"`
Interval int `yaml:"interval"`
SSHKeyPath string `yaml:"ssh_key_path"`
Collections []GitWatchCollection `yaml:"collections"`
}
type GitWatchRepo ¶
type HTTPConfig ¶
type HTTPConfig struct {
ListenAddress string `yaml:"listen_address,omitempty"`
}
HTTPConfig is the configuration for the listening HTTP server.
type JunosConfig ¶
type JunosConfig struct {
Hosts []string `yaml:"hosts,omitempty"`
Username string `yaml:"username,omitempty"`
PrivateKey string `yaml:"private_key,omitempty"`
}
JunosConfig is the configuration for Junos devices.
type NetworkConfig ¶
type NetworkConfig struct {
ScrapeInterval int `yaml:"scrape_interval,omitempty"`
Junos JunosConfig `yaml:"junos,omitempty"`
}
NetworkConfig are the details needed for the network package.
type RPCConfig ¶
type RPCConfig struct {
AgentListenAddress string `yaml:"agent_listen_address,omitempty"`
ListenAddress string `yaml:"listen_address,omitempty"`
ServerAddress string `yaml:"server_address,omitempty"`
}
RPCConfig is the configuration for the RPC client and server.
type RepoConfig ¶
type TLSConfig ¶
type TLSConfig struct {
// CN is the common name to use when issuing a new certificate.
CN string `yaml:"cn"`
// CAFile is the file path of the CA for vault HTTPs certificate.
CAFile string `yaml:"ca_file"`
// CacheDir is the directory to cache the TLS files in.
CacheDir string `yaml:"cache_dir"`
}
TLSConfig is the configuration for an RPC TLS client and server.
type VaultConfig ¶
type VaultConfig struct {
Host string `yaml:"host,omitempty"`
TokenPath string `yaml:"token_path,omitempty"`
SecretRoot string `yaml:"secret_root,omitempty"`
ClientKey string `yaml:"client_key,omitempty"`
ClientCert string `yaml:"client_cert,omitempty"`
CACert string `yaml:"ca_cert,omitempty"`
LoginName string `yaml:"login_name,omitempty"`
}
VaultConfig is the client configuration for Vault.
Click to show internal directories.
Click to hide internal directories.