Documentation ¶
Overview ¶
Package config parses command line flags and config files, and defines options used elsewhere in goiardi.
Index ¶
Constants ¶
View Source
const ChefVersion = "11.0.11"
The chef version we're at least aiming for, even if it's not complete yet.
View Source
const Version = "0.5.2"
The goiardi version.
Variables ¶
View Source
var Config = InitConfig()
Conf struct with the options specified on the command line or in the config file.
View Source
var LogLevelNames = map[string]int{"debug": 4, "info": 3, "warning": 2, "error": 1, "critical": 0}
Functions ¶
func ParseConfigOptions ¶
func ParseConfigOptions() error
Read and apply arguments from the command line.
func ServerHostname ¶
func ServerHostname() string
The hostname and port goiardi is configured to use.
Types ¶
type Conf ¶
type Conf struct { Ipaddress string Port int Hostname string ConfFile string `toml:"conf-file"` IndexFile string `toml:"index-file"` DataStoreFile string `toml:"data-file"` DebugLevel int `toml:"debug-level"` LogLevel string `toml:"log-level"` FreezeInterval int `toml:"freeze-interval"` FreezeData bool `toml:"freeze-data"` LogFile string `toml:"log-file"` UseAuth bool `toml:"use-auth"` TimeSlew string `toml:"time-slew"` TimeSlewDur time.Duration ConfRoot string `toml:"conf-root"` UseSSL bool `toml:"use-ssl"` SslCert string `toml:"ssl-cert"` SslKey string `toml:"ssl-key"` HttpsUrls bool `toml:"https-urls"` DisableWebUI bool `toml:"disable-webui"` UseMySQL bool `toml:"use-mysql"` MySQL MySQLdb `toml:"mysql"` LocalFstoreDir string `toml:"local-filestore-dir"` LogEvents bool `toml:"log-events"` LogEventKeep int `toml:"log-event-keep"` DoExport bool DoImport bool ImpExFile string ObjMaxSize int64 `toml:"obj-max-size"` JsonReqMaxSize int64 `toml:"json-req-max-size"` }
Master struct for configuration.
func InitConfig ¶
func InitConfig() *Conf
type MySQLdb ¶ added in v0.5.0
type MySQLdb struct { Username string Password string Protocol string Address string Port string Dbname string ExtraParams map[string]string `toml:"extra_params"` }
MySQL connection options
type Options ¶
type Options struct { Version bool `short:"v" long:"version" description:"Print version info."` Verbose []bool `short:"V" long:"verbose" description:"Show verbose debug information. Repeat for more verbosity."` ConfFile string `short:"c" long:"config" description:"Specify a config file to use."` Ipaddress string `short:"I" long:"ipaddress" description:"Listen on a specific IP address."` Hostname string `short:"H" long:"hostname" description:"Hostname to use for this server. Defaults to hostname reported by the kernel."` Port int `short:"P" long:"port" description:"Port to listen on. If port is set to 443, SSL will be activated. (default: 4545)"` IndexFile string `short:"i" long:"index-file" description:"File to save search index data to."` DataStoreFile string `short:"D" long:"data-file" description:"File to save data store data to."` FreezeInterval int `` /* 208-byte string literal not displayed */ LogFile string `short:"L" long:"log-file" description:"Log to file X"` TimeSlew string `` /* 171-byte string literal not displayed */ ConfRoot string `` /* 172-byte string literal not displayed */ UseAuth bool `short:"A" long:"use-auth" description:"Use authentication. Default: false."` UseSSL bool `` /* 222-byte string literal not displayed */ SslCert string `long:"ssl-cert" description:"SSL certificate file. If a relative path, will be set relative to --conf-root."` SslKey string `long:"ssl-key" description:"SSL key file. If a relative path, will be set relative to --conf-root."` HttpsUrls bool `` /* 239-byte string literal not displayed */ DisableWebUI bool `long:"disable-webui" description:"If enabled, disables connections and logins to goiardi over the webui interface."` UseMySQL bool `long:"use-mysql" description:"Use a MySQL database for data storage. Configure database options in the config file."` LocalFstoreDir string `` /* 144-byte string literal not displayed */ LogEvents bool `long:"log-events" description:"Log changes to chef objects."` LogEventKeep int `` /* 177-byte string literal not displayed */ Export string `` /* 176-byte string literal not displayed */ Import string `` /* 138-byte string literal not displayed */ ObjMaxSize int64 `short:"Q" long:"obj-max-size" description:"Maximum object size in bytes for the file store. Default 10485760 bytes (10MB)."` JsonReqMaxSize int64 `` /* 134-byte string literal not displayed */ }
Struct for command line options.
Click to show internal directories.
Click to hide internal directories.