diff --git a/cmd/cc-backend/cli.go b/cmd/cc-backend/cli.go index 72a0a6d..235a12c 100644 --- a/cmd/cc-backend/cli.go +++ b/cmd/cc-backend/cli.go @@ -9,7 +9,7 @@ import "flag" var ( flagReinitDB, flagInit, flagServer, flagSyncLDAP, flagGops, flagMigrateDB, flagRevertDB, flagForceDB, flagDev, flagVersion, flagLogDateTime, flagApplyTags bool - flagNewUser, flagDelUser, flagGenJWT, flagConfigFile, flagUiConfigFile, flagImportJob, flagLogLevel string + flagNewUser, flagDelUser, flagGenJWT, flagConfigFile, flagImportJob, flagLogLevel string ) func cliInit() { @@ -26,7 +26,6 @@ func cliInit() { flag.BoolVar(&flagForceDB, "force-db", false, "Force database version, clear dirty flag and exit") flag.BoolVar(&flagLogDateTime, "logdate", false, "Set this flag to add date and time to log messages") flag.StringVar(&flagConfigFile, "config", "./config.json", "Specify alternative path to `config.json`") - flag.StringVar(&flagUiConfigFile, "ui-config", "./uiConfig.json", "Specify alternative path to `uiConfig.json`") flag.StringVar(&flagNewUser, "add-user", "", "Add a new user. Argument format: :[admin,support,manager,api,user]:") flag.StringVar(&flagDelUser, "del-user", "", "Remove a existing user. Argument format: ") flag.StringVar(&flagGenJWT, "jwt", "", "Generate and print a JWT for the user specified by its `username`") diff --git a/cmd/cc-backend/main.go b/cmd/cc-backend/main.go index eed0914..2dbbe9f 100644 --- a/cmd/cc-backend/main.go +++ b/cmd/cc-backend/main.go @@ -24,6 +24,7 @@ import ( "github.com/ClusterCockpit/cc-backend/internal/tagger" "github.com/ClusterCockpit/cc-backend/internal/taskManager" "github.com/ClusterCockpit/cc-backend/pkg/archive" + "github.com/ClusterCockpit/cc-backend/web" ccconf "github.com/ClusterCockpit/cc-lib/ccConfig" cclog "github.com/ClusterCockpit/cc-lib/ccLogger" "github.com/ClusterCockpit/cc-lib/runtimeEnv" @@ -244,7 +245,7 @@ func main() { var wg sync.WaitGroup - //Metric Store starts after all flags have been processes + // Metric Store starts after all flags have been processes if config.InternalCCMSFlag { if mscfg := ccconf.GetPackageConfig("metric-store"); mscfg != nil { config.InitMetricStore(mscfg) @@ -260,6 +261,9 @@ func main() { taskManager.Start(ccconf.GetPackageConfig("cron"), ccconf.GetPackageConfig("archive")) + cfg := ccconf.GetPackageConfig("ui") + web.Init(cfg) + serverInit() wg.Add(1) diff --git a/cmd/cc-backend/server.go b/cmd/cc-backend/server.go index da14e1e..deffb48 100644 --- a/cmd/cc-backend/server.go +++ b/cmd/cc-backend/server.go @@ -52,8 +52,6 @@ func onFailureResponse(rw http.ResponseWriter, r *http.Request, err error) { } func serverInit() { - // Init Web Package (Primarily: uiDefaults) - web.Init(flagUiConfigFile) // Setup the http.Handler/Router used by the server graph.Init() resolver := graph.GetResolverInstance() diff --git a/web/web.go b/web/web.go index da64fcd..31d7002 100644 --- a/web/web.go +++ b/web/web.go @@ -11,9 +11,7 @@ import ( "encoding/json" "html/template" "io/fs" - "log" "net/http" - "os" "strings" "github.com/ClusterCockpit/cc-backend/internal/config" @@ -117,18 +115,9 @@ var UIDefaultsMap map[string]any // "status_view_selectedTopProjectCategory": "totalJobs", // } -func Init(configFilePath string) error { - var rawConfig json.RawMessage = nil - raw, rerr := os.ReadFile(configFilePath) - if rerr != nil { - if !os.IsNotExist(rerr) { - log.Fatalf("UI-CONFIG ERROR: %v", rerr) - } - } else { - rawConfig = json.RawMessage(raw) - } - +func Init(rawConfig json.RawMessage) error { var err error + if rawConfig != nil { config.Validate(configSchema, rawConfig) if err = json.Unmarshal(rawConfig, &UIDefaults); err != nil { diff --git a/web/webConfig_test.go b/web/webConfig_test.go index 6074f50..4bd8433 100644 --- a/web/webConfig_test.go +++ b/web/webConfig_test.go @@ -16,7 +16,7 @@ import ( func TestInit(t *testing.T) { fp := "../../configs/config.json" ccconf.Init(fp) - cfg := ccconf.GetPackageConfig("web") + cfg := ccconf.GetPackageConfig("ui") Init(cfg)