summaryrefslogtreecommitdiff
path: root/init.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-22 16:58:31 -0500
committerJeff Carr <[email protected]>2025-09-22 16:58:31 -0500
commit020dd376224a6fd60fab17c3957d1815daa2a635 (patch)
treefafb07a9db9bb63458577e616e8fef678028180d /init.go
parent9e49784b9e375b234e37befe950d1ce0f39bd1b4 (diff)
redo init() and config()v0.0.64
Diffstat (limited to 'init.go')
-rw-r--r--init.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/init.go b/init.go
new file mode 100644
index 0000000..4e86058
--- /dev/null
+++ b/init.go
@@ -0,0 +1,49 @@
+package zoopb
+
+import (
+ "os"
+ "time"
+
+ "go.wit.com/lib/config"
+ "go.wit.com/log"
+)
+
+// sent via -ldflags
+var VERSION string
+var BUILDTIME string
+
+func (m *Machine) SinceLastUpdate() time.Duration {
+ age := m.Laststamp.AsTime()
+ return time.Since(age)
+}
+
+func InitMachine() (*Machine, string) {
+ var fullname string
+ var err error
+ m := new(Machine)
+ if fullname, err = config.LoadPB(m, "forge", "machine"); err != nil {
+ log.Info("zoopb.ConfigLoad() failed", err)
+ }
+ hostname, _ := os.Hostname()
+ m.Hostname = hostname
+ m.Distro = detectDistro()
+ m.initPackages()
+
+ m.InitWitMirrors()
+ config.SavePB(m, fullname)
+
+ return m, fullname
+}
+
+func InitDaemon() (*Machine, string) {
+ var fullname string
+ var err error
+ machine := new(Machine)
+ if fullname, err = config.LoadPB(machine, "/etc/zookeeper", "machine"); err != nil {
+ log.Info("zoopb.ConfigLoad() failed", err)
+ }
+ machine.InitWitMirrors()
+ config.SavePB(machine, fullname)
+
+ return machine, fullname
+}