feat: support monitor cli override flags

This commit is contained in:
2026-04-04 07:53:34 +00:00
parent 6e60fae559
commit 65f521dce0
2 changed files with 59 additions and 1 deletions

View File

@@ -24,12 +24,26 @@ func main() {
printPayload bool
dryRun bool
showVersion bool
backendURL string
identifier string
apiKey string
reportInt int
logLevel string
rootFS string
monitorPort int
)
flag.StringVar(&configPath, "config", "/etc/harborforge-monitor/config.json", "Path to config file")
flag.BoolVar(&runOnce, "once", false, "Collect and send telemetry once, then exit")
flag.BoolVar(&printPayload, "print-payload", false, "Print payload JSON before sending")
flag.BoolVar(&dryRun, "dry-run", false, "Collect telemetry but do not send it")
flag.BoolVar(&showVersion, "version", false, "Print version and exit")
flag.StringVar(&backendURL, "backend-url", "", "Override backend URL")
flag.StringVar(&identifier, "identifier", "", "Override identifier")
flag.StringVar(&apiKey, "api-key", "", "Override API key")
flag.IntVar(&reportInt, "report-interval", 0, "Override report interval in seconds")
flag.StringVar(&logLevel, "log-level", "", "Override log level")
flag.StringVar(&rootFS, "rootfs", "", "Override root filesystem path")
flag.IntVar(&monitorPort, "monitor-port", 0, "Override monitor bridge port")
flag.Parse()
if showVersion {
@@ -37,7 +51,15 @@ func main() {
return
}
cfg, err := config.Load(configPath)
cfg, err := config.LoadWithOverrides(configPath, config.Overrides{
BackendURL: backendURL,
Identifier: identifier,
APIKey: apiKey,
ReportIntervalSec: reportInt,
LogLevel: logLevel,
RootFS: rootFS,
MonitorPort: monitorPort,
})
if err != nil {
log.Fatalf("load config: %v", err)
}