From a5059c52312fca38eec1326107dabeebec54a2b5 Mon Sep 17 00:00:00 2001 From: Jeremie Fraeys Date: Wed, 18 Feb 2026 16:55:18 -0500 Subject: [PATCH] refactor: adopt PathRegistry in worker config Update internal/worker/config.go to use centralized PathRegistry: Changes: - Initialize PathRegistry with config.FromEnv() in LoadConfig - Update BasePath default to use paths.ExperimentsDir() - Update DataDir default to use paths.DataDir() - Simplify DataDir logic by using PathRegistry directly Benefits: - Consistent directory locations via PathRegistry - Centralized path management across worker and api-server - Simpler configuration with fewer conditional branches --- internal/worker/config.go | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/internal/worker/config.go b/internal/worker/config.go index f296bc5..9e564bc 100644 --- a/internal/worker/config.go +++ b/internal/worker/config.go @@ -147,6 +147,9 @@ func LoadConfig(path string) (*Config, error) { // Get smart defaults for current environment smart := config.GetSmartDefaults() + // Use PathRegistry for consistent path management + paths := config.FromEnv() + if cfg.Port == 0 { cfg.Port = config.DefaultSSHPort } @@ -158,11 +161,8 @@ func LoadConfig(path string) (*Config, error) { cfg.Host = host } if cfg.BasePath == "" { - basePath, err := smart.BasePath() - if err != nil { - return nil, fmt.Errorf("failed to get default base path: %w", err) - } - cfg.BasePath = basePath + // Prefer PathRegistry over smart defaults for consistency + cfg.BasePath = paths.ExperimentsDir() } if cfg.RedisAddr == "" { redisAddr, err := smart.RedisAddr() @@ -203,15 +203,8 @@ func LoadConfig(path string) (*Config, error) { cfg.DataManagerPath = "./data_manager" } if cfg.DataDir == "" { - if cfg.Host == "" || !cfg.AutoFetchData { - cfg.DataDir = config.DefaultLocalDataDir - } else { - dataDir, err := smart.DataDir() - if err != nil { - return nil, fmt.Errorf("failed to get default data directory: %w", err) - } - cfg.DataDir = dataDir - } + // Use PathRegistry for consistent data directory + cfg.DataDir = paths.DataDir() } if cfg.SnapshotStore.Timeout == 0 { cfg.SnapshotStore.Timeout = 10 * time.Minute