예제 #1
0
func RegisterLevelDBFlags(flags *flag.FlagSet) {
	if !flagsRegistered {
		flagsRegistered = true
		flags.IntVar(&ldbFlags.maxFileHandles, "ldb-max-file-handles", 24, "max number of open file handles")
		flags.BoolVar(&ldbFlags.dumpStats, "ldb-dump-stats", false, "print get/has/put counts on close")
	}
}
예제 #2
0
func countFlags(flags *flag.FlagSet) int {
	if flags == nil {
		return 0
	} else {
		n := 0
		flags.VisitAll(func(f *flag.Flag) {
			n++
		})
		return n
	}
}
예제 #3
0
파일: cmd.go 프로젝트: tsuru/tsuru
func (c *dockerCmd) flags(fs *gnuflag.FlagSet) {
	c.addMany(fs, &c.raw, "Add raw parameter to node container api call", "r", "raw")
	c.addMany(fs, cmd.StringSliceFlagWrapper{Dst: &c.config.Config.Env}, "Set environment variables", "e", "env")
	c.addMany(fs, cmd.StringSliceFlagWrapper{Dst: &c.config.HostConfig.Binds}, "Bind mount a volume", "v", "volume")
	c.addMany(fs, cmd.MapFlagWrapper{Dst: &c.config.HostConfig.LogConfig.Config}, "Log driver options", "log-opt")
	c.addMany(fs, &c.ports, "Publish a container's port(s) to the host", "p", "publish")
	fs.BoolVar(&c.config.HostConfig.Privileged, "privileged", false, "Give extended privileges to this container")
	fs.StringVar(&c.config.Config.Image, "image", "", "Image that will be used")
	fs.StringVar(&c.config.HostConfig.RestartPolicy.Name, "restart", "", "Restart policy to apply when a container exits")
	fs.StringVar(&c.config.HostConfig.NetworkMode, "net", "", "Connect a container to a network")
	fs.StringVar(&c.config.HostConfig.LogConfig.Type, "log-driver", "", "Logging driver for container")
}
예제 #4
0
파일: profile.go 프로젝트: Richardphp/noms
func RegisterProfileFlags(flags *flag.FlagSet) {
	if !flagsRegistered {
		flagsRegistered = true
		flags.StringVar(&cpuProfile, "cpuprofile", "", "write cpu profile to file")
		flags.StringVar(&memProfile, "memprofile", "", "write memory profile to this file")
		flags.StringVar(&blockProfile, "blockprofile", "", "write block profile to this file")
	}
}
예제 #5
0
파일: utils.go 프로젝트: pedrosnk/tsuru
func MergeFlagSet(fs1, fs2 *gnuflag.FlagSet) *gnuflag.FlagSet {
	fs2.VisitAll(func(flag *gnuflag.Flag) {
		fs1.Var(flag.Value, flag.Name, flag.Usage)
	})
	return fs1
}
예제 #6
0
파일: cmd.go 프로젝트: botvs/tsuru
func (m *Manager) handleFlags(command Command, name string, args []string) (Command, []string, error) {
	var flagset *gnuflag.FlagSet
	if flagged, ok := command.(FlaggedCommand); ok {
		flagset = flagged.Flags()
	} else {
		flagset = gnuflag.NewFlagSet(name, gnuflag.ExitOnError)
	}
	var helpRequested bool
	flagset.SetOutput(m.stderr)
	if flagset.Lookup("help") == nil {
		flagset.BoolVar(&helpRequested, "help", false, "Display help and exit")
	}
	if flagset.Lookup("h") == nil {
		flagset.BoolVar(&helpRequested, "h", false, "Display help and exit")
	}
	err := flagset.Parse(true, args)
	if err != nil {
		return nil, nil, err
	}
	if helpRequested {
		command = m.Commands["help"]
		args = []string{name}
	} else {
		args = flagset.Args()
	}
	return command, args, nil
}
예제 #7
0
func RegisterOutputpagerFlags(flags *flag.FlagSet) {
	if !flagsRegistered {
		flagsRegistered = true
		flags.BoolVar(&noPager, "no-pager", false, "suppress paging functionality")
	}
}
예제 #8
0
파일: cmd.go 프로젝트: tsuru/tsuru
func (c *dockerCmd) addMany(fs *gnuflag.FlagSet, val gnuflag.Value, desc string, triggers ...string) {
	for _, t := range triggers {
		fs.Var(val, t, desc)
	}
}