Documentation
¶
Overview ¶
Package util has some CLI related utility code.
Index ¶
- Constants
- func CliParseError(err error) error
- func Hello(program, version string, flags Flags)
- func LogSetup(debug bool)
- func LookupSubcommand(obj interface{}, st interface{}) string
- func SafeProgram(program string) string
- type Data
- type DocsGenerateArgs
- type EmptyArgs
- type Error
- type FirstbootStartArgs
- type Flags
- type LangArgs
- type SetupFirstbootArgs
- type SetupPkgArgs
- type SetupSvcArgs
- type ToolsGrowArgs
- type YamlArgs
Constants ¶
const ( // MissingEquals means we probably hit the parsing bug. // XXX: see: https://github.com/alexflint/go-arg/issues/239 MissingEquals = Error("missing equals sign for list element") )
Variables ¶
This section is empty.
Functions ¶
func CliParseError ¶
CliParseError returns a consistent error if we have a CLI parsing issue.
func LogSetup ¶
func LogSetup(debug bool)
LogSetup changes some of the core logger package settings.
func LookupSubcommand ¶
func LookupSubcommand(obj interface{}, st interface{}) string
LookupSubcommand returns the name of the subcommand in the obj, of a struct. This is useful for determining the name of the subcommand that was activated. It returns an empty string if a specific name was not found.
func SafeProgram ¶
SafeProgram returns the correct program string when given a buggy variant.
Types ¶
type Data ¶
type Data struct {
Program string
Version string
Copying string
Tagline string
Flags Flags
Args []string // os.Args usually
}
Data is a struct of values that we usually pass to the main CLI function.
type DocsGenerateArgs ¶
type DocsGenerateArgs struct {
Output string `arg:"--output" help:"output path to write to"`
RootDir string `arg:"--root-dir" help:"path to mgmt source dir"`
NoResources bool `arg:"--no-resources" help:"skip resource doc generation"`
NoFunctions bool `arg:"--no-functions" help:"skip function doc generation"`
}
DocsGenerateArgs is the docgen utility CLI parsing structure and type of the parsed result.
type EmptyArgs ¶
type EmptyArgs struct {
Wait bool `arg:"--wait" help:"don't use any existing (stale) deploys"`
}
EmptyArgs is the empty CLI parsing structure and type of the parsed result.
type FirstbootStartArgs ¶
type FirstbootStartArgs struct {
LockFilePath string `arg:"--lock-file-path" help:"path to the lock file"`
ScriptsDir string `arg:"--scripts-dir" help:"path to the scripts dir"`
DoneDir string `arg:"--done-dir" help:"dir to move done scripts to"`
LoggingDir string `arg:"--logging-dir" help:"directory to store logs in"`
}
FirstbootStartArgs is the firstboot service CLI parsing structure and type of the parsed result.
type Flags ¶
type Flags struct {
Debug bool // add additional log messages
Logf func(format string, v ...interface{})
}
Flags are some constant flags which are used throughout the program.
type LangArgs ¶
type LangArgs struct {
// Input is the input mcl code or file path or any input specification.
Input string `arg:"positional,required"`
Download bool `arg:"--download" help:"download any missing imports"`
OnlyDownload bool `arg:"--only-download" help:"stop after downloading any missing imports"`
Update bool `arg:"--update" help:"update all dependencies to the latest versions"`
UnifySolver *string `arg:"--unify-name" help:"pick a specific unification solver"`
UnifyOptimizations []string `arg:"--unify-optimizations,separate" help:"list of unification optimizations to request (experts only)"`
// CheckOnly specifies that the lang frontend should stop after all of
// the requested checks. This is not a flag, it is set by the check
// command.
CheckOnly bool `arg:"-"`
// CheckFmt specifies that we should check the mcl formatting. This is
// not a flag, it is set by the check command unless --skip-fmt is used.
CheckFmt bool `arg:"-"`
// CheckUnify specifies that we should check mcl type unification. This
// is not a flag, it is set by the check command unless --skip-unify is
// used.
CheckUnify bool `arg:"-"`
Depth int `arg:"--depth" default:"-1" help:"max recursion depth limit (-1 is unlimited)"`
// The default of 0 means any error is a failure by default.
Retry int `arg:"--depth" help:"max number of retries (-1 is unlimited)"`
ModulePath string `arg:"--module-path,env:MGMT_MODULE_PATH" help:"choose the modules path (absolute)"`
}
LangArgs is the lang CLI parsing structure and type of the parsed result.
type SetupFirstbootArgs ¶
type SetupFirstbootArgs struct {
BinaryPath string `arg:"--binary-path" help:"path to the binary"`
Mkdir bool `arg:"--mkdir" help:"make the necessary firstboot dirs"`
Install bool `arg:"--install" help:"install the systemd firstboot service"`
Start bool `arg:"--start" help:"start the firstboot service (typically not used)"`
Enable bool `arg:"--enable" help:"enable the firstboot service"`
FirstbootStartArgs // Include these options if we want to specify them.
}
SetupFirstbootArgs is the setup service CLI parsing structure and type of the parsed result.
type SetupPkgArgs ¶
type SetupPkgArgs struct {
Distro string `arg:"--distro" help:"build for this distro"`
Sudo bool `arg:"--sudo" help:"include sudo in the command"`
Exec bool `arg:"--exec" help:"actually run these commands"`
}
SetupPkgArgs is the setup service CLI parsing structure and type of the parsed result.
type SetupSvcArgs ¶
type SetupSvcArgs struct {
BinaryPath string `arg:"--binary-path" help:"path to the binary"`
SSHURL string `arg:"--ssh-url" help:"transport the etcd client connection over SSH to this server"`
SSHHostKey string `arg:"--ssh-hostkey" help:"use this ssh known hosts key when connecting over SSH"`
SSHID string `arg:"--ssh-id" help:"private key for SSH client auth"`
Seeds []string `arg:"--seeds,separate,env:MGMT_SEEDS" help:"default etcd client endpoints"`
Install bool `arg:"--install" help:"install the systemd mgmt service"`
Start bool `arg:"--start" help:"start the mgmt service"`
Enable bool `arg:"--enable" help:"enable the mgmt service"`
}
SetupSvcArgs is the setup service CLI parsing structure and type of the parsed result.
type ToolsGrowArgs ¶
type ToolsGrowArgs struct {
Mount string `arg:"--mount,required" help:"root mount point to start with"`
Exec bool `arg:"--exec" help:"actually run these commands"`
Done string `arg:"--done" help:"create this file when done, skip if it exists"`
}
ToolsGrowArgs is the util tool CLI parsing structure and type of the parsed result.