make admin mode
This commit is contained in:
parent
30a5eb56a2
commit
f9515280cf
9
Makefile
9
Makefile
|
@ -6,9 +6,7 @@ BUILDTIME = $(shell date +%Y.%m.%d)
|
|||
# create the go.mod and go.sum if this is a brand new repo
|
||||
REDOMOD = $(shell if [ -e go.sum ]; then echo go.sum exists; else GO111MODULE= go mod init; GO111MODULE= go mod tidy; fi)
|
||||
|
||||
all: build
|
||||
./virtigo --version
|
||||
@#./virtigo --gui gocui
|
||||
all: install
|
||||
@echo build worked
|
||||
|
||||
build: goimports vet
|
||||
|
@ -20,9 +18,12 @@ verbose:
|
|||
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
||||
|
||||
install:
|
||||
GO111MODULE=off go install \
|
||||
GO111MODULE=off go install -v -x \
|
||||
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
||||
|
||||
andlabs: verbose
|
||||
./virtigo --gui andlabs
|
||||
|
||||
# makes a .deb package
|
||||
debian:
|
||||
rm -f ~/incoming/virtigo*deb
|
||||
|
|
8
argv.go
8
argv.go
|
@ -11,9 +11,11 @@ import "go.wit.com/log"
|
|||
var argv args
|
||||
|
||||
type args struct {
|
||||
Xml []string `arg:"--libvirt" help:"import qemu xml files: --libvirt /etc/libvirt/qemu/*.xml"`
|
||||
Config string `arg:"env:VIRTIGO_HOME" help:"defaults to ~/.config/virtigo/"`
|
||||
Port int `arg:"--port" default:"8080" help:"allow droplet events via http"`
|
||||
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"`
|
||||
}
|
||||
|
||||
// Daemon bool `arg:"--daemon" help:"run in daemon mode"`
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
|
||||
// Use of this source code is governed by the GPL 3.0
|
||||
|
||||
package main
|
||||
|
||||
// An app to submit patches for the 30 GO GUI repos
|
||||
|
||||
import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"go.wit.com/gui"
|
||||
"go.wit.com/lib/gadgets"
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
// refresh the windows & tables the user has open
|
||||
func refresh() {
|
||||
time.Sleep(90 * time.Second)
|
||||
if argv.Verbose {
|
||||
log.Info("virtigo scan here")
|
||||
}
|
||||
}
|
||||
|
||||
func doAdminGui() {
|
||||
me.myGui = gui.New()
|
||||
me.myGui.InitEmbed(resources)
|
||||
me.myGui.Default()
|
||||
|
||||
win := gadgets.NewGenericWindow("Virtigo: (run your cluster)", "virtigo stuff")
|
||||
win.Custom = func() {
|
||||
log.Warn("Main window close")
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
grid := win.Group.RawGrid()
|
||||
|
||||
grid.NewButton("show hyperbisors", func() {
|
||||
})
|
||||
|
||||
grid.NewButton("show droplets", func() {
|
||||
})
|
||||
|
||||
grid.NewButton("clean exit", func() {
|
||||
okExit("admin close")
|
||||
})
|
||||
|
||||
// sit here forever refreshing the GUI
|
||||
for {
|
||||
refresh()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
|
||||
// Use of this source code is governed by the GPL 3.0
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
func okExit(note string) {
|
||||
if note != "" {
|
||||
log.Info("virtigo exit:", note, "ok")
|
||||
}
|
||||
me.myGui.Close()
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
func badExit(err error) {
|
||||
log.Info("virtigo failed: ", err)
|
||||
me.myGui.Close()
|
||||
os.Exit(-1)
|
||||
}
|
Loading…
Reference in New Issue