summaryrefslogtreecommitdiff
path: root/argv.go
blob: 18506f0b700880b54f4a82b3c9575a228b5064d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package main

import "go.wit.com/log"

/*
	this parses the command line arguements

	this enables command line options from other packages like 'gui' and 'log'
*/

var argv args

type args struct {
	Xml       []string `arg:"--libvirt"                         help:"import qemu xml files: --libvirt /etc/libvirt/qemu/*.xml"`
	IgnoreCpu bool     `arg:"--xml-ignore-cpu"  default:"true"  help:"ignore non-standard libvirt xml cpus"`
	IgnoreBr  bool     `arg:"--xml-ignore-net"  default:"true"  help:"ignore network bridge name changes"`
	IgnDisk   bool     `arg:"--xml-ignore-disk" default:"false" help:"ignore duplicate disk names"`
	Port      int      `arg:"--port"     default:"8080"         help:"allow droplet events via http"`
	Hosts     []string `arg:"--hosts"                      help:"hosts to connect to"`
}

//	Save      bool     `arg:"--save"     default:"false"        help:"save protobuf config after import"`
//	Start     string   `arg:"--start"                           help:"start a droplet"`
//	Uptime bool     `arg:"--uptime"   default:"true"    help:"allow uptime checks for things like Kuma"`

func (a args) Description() string {
	return `
         virtigoctl command line configure and control for virtigo
`
}

func (args) Version() string {
	return "virtigoctl " + Version
}

var INFO *log.LogFlag
var POLL *log.LogFlag
var WARN *log.LogFlag
var SPEW *log.LogFlag
var EVENT *log.LogFlag

func init() {
	full := "go.wit.com/apps/virtigoctl"
	short := "virtigoctl"

	INFO = log.NewFlag("INFO", false, full, short, "general virtigo")
	POLL = log.NewFlag("POLL", false, full, short, "virtigo polling")
	WARN = log.NewFlag("WARN", true, full, short, "bad things")
	SPEW = log.NewFlag("SPEW", true, full, short, "dump everything")
	EVENT = log.NewFlag("EVENT", true, full, short, "hypeprvisor/droplet events")
}