diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -5,10 +5,12 @@ package main import ( "embed" "fmt" + "net/url" "os" "path/filepath" "time" + "github.com/google/uuid" "go.wit.com/dev/alexflint/arg" "go.wit.com/gui" "go.wit.com/lib/protobuf/virtpb" @@ -37,11 +39,43 @@ func main() { os.Setenv("VIRTIGO_HOME", fullpath) } + me.clusters = virtpb.NewClusters() + + if argv.Admin { + err := me.clusters.ConfigLoad() + if err != nil { + badExit(err) + } + + me.admin = new(adminT) + me.admin.doAdminGui() + okExit("admin close") + } + if argv.Server != "" { + log.Info("start admin interface") me.admin = new(adminT) + var err error + me.admin.url, err = url.Parse(argv.Server) + if err != nil { + badExit(err) + } + err = me.clusters.ConfigLoad() + if err != nil { + clusters := virtpb.NewClusters() + c := new(virtpb.Cluster) + c.Uuid = uuid.New().String() + c.URL = argv.Server + clusters.Append(c) + virtpb.ConfigWriteTEXT(clusters, "cluster.text") + + badExit(err) + } + me.admin.doAdminGui() okExit("admin close") } + os.Exit(-1) // set defaults me.unstable = time.Now() // initialize the grid as unstable |
