summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/main.go b/main.go
index e34750b..b6403fc 100644
--- a/main.go
+++ b/main.go
@@ -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