diff options
| -rw-r--r-- | change.go | 5 | ||||
| -rw-r--r-- | config.go | 21 | ||||
| -rw-r--r-- | main.go | 6 |
3 files changed, 21 insertions, 11 deletions
@@ -5,8 +5,10 @@ import ( "errors" "fmt" + "time" "google.golang.org/protobuf/types/known/anypb" + "google.golang.org/protobuf/types/known/timestamppb" "google.golang.org/protobuf/types/known/wrapperspb" pb "go.wit.com/lib/protobuf/virtbuf" @@ -71,6 +73,9 @@ func NewChangeEvent(d *pb.Droplet, fname string, origval any, newval any) *pb.Ev e.NewVal = convertToString(newval) e.FieldName = fname + now := time.Now() + e.Start = timestamppb.New(now) + // this also works, but it's a bit overkill // e.NewAny = convertToAnypb(newval) @@ -29,23 +29,24 @@ var ErrorParseXML error = errors.New("invalid xml") // something is wrong somewhere and sometimes the // protobuf json files get written out with garbage -func cfgfile() { +func cfgfile() error { err := readConfigFile("virtigo.json") if err == nil { - return - } - if err == ErrorParseJSON { - os.Exit(-1) + return err } + // test last config also parses err = readConfigFile("virtigo.json.last") if err == nil { - log.Info("read json failed", err) - os.Exit(-1) + return err } - if err == ErrorNoFile { - log.Info("no config file created yet", err) - os.Exit(-1) + + // try parsing event log + e, err := pb.ReadEventsConfig() + if err == nil { + return err } + me.events = e + return nil } func readConfigFile(filename string) error { @@ -47,7 +47,11 @@ func main() { me.events.Uuid = u.String() me.events.Version = "dirty v1" - cfgfile() + err := cfgfile() + if err != nil { + log.Warn("reading config file failed", err) + os.Exit(-1) + } // sanity check the droplets checkDroplets(false) |
