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.