|
|
@@ -20,7 +20,8 @@ var (
|
|
|
logger = slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
|
|
BasePath = "/opt/nativeplanet/groundseg"
|
|
|
Version = "v2.0.0"
|
|
|
- Architecture string
|
|
|
+ Architecture = getArchitecture()
|
|
|
+ DebugMode = false
|
|
|
Ready = false
|
|
|
VersionServerReady = false
|
|
|
VersionInfo structs.Version
|
|
|
@@ -33,6 +34,13 @@ var (
|
|
|
|
|
|
// try initializing from system.json on disk
|
|
|
func init() {
|
|
|
+ for _, arg := range os.Args[1:] {
|
|
|
+ // trigger this with `./groundseg dev`
|
|
|
+ if arg == "dev" {
|
|
|
+ logger.Info("Starting GroundSeg in debug mode")
|
|
|
+ DebugMode = true
|
|
|
+ }
|
|
|
+ }
|
|
|
pathMsg := fmt.Sprintf("Loading configs from %s", BasePath)
|
|
|
logger.Info(pathMsg)
|
|
|
confPath := filepath.Join(BasePath, "settings", "system.json")
|
|
|
@@ -41,8 +49,10 @@ func init() {
|
|
|
// create a default if it doesn't exist
|
|
|
err = createDefaultConf()
|
|
|
if err != nil {
|
|
|
+ // panic if we can't create it
|
|
|
errmsg := fmt.Sprintf("Unable to create config! %v", err)
|
|
|
logger.Error(errmsg)
|
|
|
+ panic(errmsg)
|
|
|
}
|
|
|
}
|
|
|
defer file.Close()
|
|
|
@@ -52,7 +62,6 @@ func init() {
|
|
|
errmsg := fmt.Sprintf("Error decoding JSON: %v", err)
|
|
|
logger.Error(errmsg)
|
|
|
}
|
|
|
- Architecture = getArchitecture()
|
|
|
}
|
|
|
|
|
|
// return the global conf var
|
|
|
@@ -167,8 +176,7 @@ func createDefaultConf() error {
|
|
|
WgRegistered: false,
|
|
|
PwHash: "",
|
|
|
C2cInterval: 0,
|
|
|
- FirstBoot: false,
|
|
|
- WgRegisterd: false,
|
|
|
+ FirstBoot: true,
|
|
|
GsVersion: Version,
|
|
|
CfgDir: "",
|
|
|
UpdateInterval: 0,
|
|
|
@@ -284,6 +292,7 @@ func CheckVersionLoop() {
|
|
|
currentVersion := VersionInfo
|
|
|
if latestVersion != currentVersion {
|
|
|
fmt.Printf("New version available! Current: %s, Latest: %s\n", currentVersion, latestVersion)
|
|
|
+ VersionInfo = latestVersion
|
|
|
// Handle the update logic here
|
|
|
}
|
|
|
}
|