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
JsonReqMaxSize int64
}
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.