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 { Verbose bool `arg:"--verbose" help:"talk more"` Config string `arg:"env:VIRTIGO_HOME" help:"defaults to ~/.config/virtigo/"` Port int `arg:"--port" default:"8080" help:"allow droplet events via http"` Server string `arg:"env:VIRTIGO_SERVER" help:"what virtigo cluster to connect to"` Xml []string `arg:"--libvirt" help:"import qemu xml files: --libvirt /etc/libvirt/qemu/*.xml"` Admin bool `arg:"--admin" help:"enter admin mode"` } func (a args) Description() string { return ` virtigo: control your cluster This maintains a master list of all your vm's (aka 'droplets') in your homelab cloud. You can import libvirt xml files. This app talks to your hypervisors via the virtigod daemon. ` } func (args) Version() string { return "virtigo " + Version } var INFO *log.LogFlag var POLL *log.LogFlag var WARN *log.LogFlag var EVENT *log.LogFlag func init() { full := "go.wit.com/apps/virtigo" short := "virtigo" 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") EVENT = log.NewFlag("EVENT", true, full, short, "hypeprvisor/droplet events") }