83ad5afb69
This PR introduces: * An example device plugin that exposes files as devices for testing. * Helpers for serving a device plugin * A launcher binary that allows interacting with a device plugin without needing a Nomad client.
40 lines
669 B
Go
40 lines
669 B
Go
package command
|
|
|
|
import (
|
|
"flag"
|
|
"strings"
|
|
|
|
hclog "github.com/hashicorp/go-hclog"
|
|
"github.com/mitchellh/cli"
|
|
)
|
|
|
|
type Meta struct {
|
|
Ui cli.Ui
|
|
logger hclog.Logger
|
|
|
|
verbose bool
|
|
}
|
|
|
|
func NewMeta(ui cli.Ui, logger hclog.Logger) Meta {
|
|
return Meta{
|
|
Ui: ui,
|
|
logger: logger,
|
|
}
|
|
}
|
|
|
|
func (m *Meta) FlagSet(n string) *flag.FlagSet {
|
|
f := flag.NewFlagSet(n, flag.ContinueOnError)
|
|
|
|
f.BoolVar(&m.verbose, "verbose", false, "Toggle verbose output")
|
|
return f
|
|
}
|
|
|
|
// generalOptionsUsage return the help string for the global options
|
|
func generalOptionsUsage() string {
|
|
helpText := `
|
|
-verbose
|
|
Enables verbose logging.
|
|
`
|
|
return strings.TrimSpace(helpText)
|
|
}
|