summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--argv.go1
-rw-r--r--change.go64
3 files changed, 65 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 4066ee3..53b9eec 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ all:
./virtigo --help
xml-add:
- ./virtigo --add-xml /tmp/xml/*.xml
+ ./virtigo --libvirt *.xml
start-all-droplets:
curl --silent http://localhost:8080/start?start=git.wit.org
diff --git a/argv.go b/argv.go
index 080d642..0cf8037 100644
--- a/argv.go
+++ b/argv.go
@@ -16,7 +16,6 @@ type args struct {
Config string `arg:"env:VIRTIGO_HOME" help:"defaults to ~/.config/virtigo/"`
Port int `arg:"--port" default:"8080" help:"allow droplet events via http"`
Daemon bool `arg:"--daemon" help:"run in daemon mode"`
-
}
// Uptime bool `arg:"--uptime" default:"true" help:"allow uptime checks for things like Kuma"`
diff --git a/change.go b/change.go
new file mode 100644
index 0000000..f4e7d79
--- /dev/null
+++ b/change.go
@@ -0,0 +1,64 @@
+package main
+
+import (
+ // "reflect"
+
+ "errors"
+
+ "google.golang.org/protobuf/types/known/anypb"
+ "google.golang.org/protobuf/types/known/wrapperspb"
+
+ pb "go.wit.com/lib/protobuf/virtbuf"
+ "go.wit.com/log"
+)
+
+func convert(x any) *anypb.Any {
+ switch v := x.(type) {
+ case int64:
+ var a *anypb.Any
+ a, _ = anypb.New(wrapperspb.Int64(x.(int64)))
+ return a
+ case string:
+ var a *anypb.Any
+ a, _ = anypb.New(wrapperspb.String(x.(string)))
+ return a
+ case int:
+ var a *anypb.Any
+ a, _ = anypb.New(wrapperspb.Int64(x.(int64)))
+ return a
+ case bool:
+ var a *anypb.Any
+ a, _ = anypb.New(wrapperspb.Bool(x.(bool)))
+ return a
+ default:
+ log.Error(errors.New("Set() unknown type"), "v =", v, "x =", x)
+ return nil
+ }
+ return nil
+}
+
+// Wrapping the int into a protobuf message
+func NewEvent(origval any, newval any) *pb.Event {
+ var e *pb.Event
+ e = new(pb.Event)
+
+ e.OrigVal = convert(origval)
+ e.NewVal = convert(newval)
+ return e
+}
+
+// update the droplet memory
+func (d *DropletT) SetMemory(b int64) *pb.Event {
+ log.Info("Set the amount of memory for the droplet", b)
+ if d.pb.Memory == b {
+ return nil
+ }
+ var e *pb.Event
+ e = NewEvent(d.pb.Memory, b)
+ return e
+}
+
+// update the droplet memory
+func (d *DropletT) SetCpus(b int64) {
+ log.Info("Set the number of cpus for the droplet", b)
+}