diff --git a/internal/api/server_config.go b/internal/api/server_config.go index 275d837..6d78f7d 100644 --- a/internal/api/server_config.go +++ b/internal/api/server_config.go @@ -3,7 +3,6 @@ package api import ( "fmt" "log" - "os" "path/filepath" "strings" @@ -135,15 +134,20 @@ func secureFileRead(path string) ([]byte, error) { return fileutil.SecureFileRead(path) } -// EnsureLogDirectory creates the log directory if needed +// EnsureLogDirectory creates the log directory if needed using PathRegistry func (c *ServerConfig) EnsureLogDirectory() error { if c.Logging.File == "" { return nil } - logDir := filepath.Dir(c.Logging.File) - log.Printf("Creating log directory: %s", logDir) - return os.MkdirAll(logDir, 0750) + // Use PathRegistry for consistent log directory management + paths := config.FromEnv() + logDir := paths.LogDir() + + if err := paths.EnsureDir(logDir); err != nil { + return fmt.Errorf("failed to create log directory: %w", err) + } + return nil } // BuildAuthConfig creates the auth configuration @@ -163,11 +167,14 @@ func (c *ServerConfig) Validate() error { c.Server.Address = ":8080" } + // Use PathRegistry for consistent path management + paths := config.FromEnv() + if c.BasePath == "" { - c.BasePath = "/tmp/ml-experiments" + c.BasePath = paths.ExperimentsDir() } if c.DataDir == "" { - c.DataDir = config.DefaultDataDir + c.DataDir = paths.DataDir() } backend := strings.ToLower(strings.TrimSpace(c.Queue.Backend))