fetch_ml/internal/config/constants.go
Jeremie Fraeys ea15af1833 Fix multi-user authentication and clean up debug code
- Fix YAML tags in auth config struct (json -> yaml)
- Update CLI configs to use pre-hashed API keys
- Remove double hashing in WebSocket client
- Fix port mapping (9102 -> 9103) in CLI commands
- Update permission keys to use jobs:read, jobs:create, etc.
- Clean up all debug logging from CLI and server
- All user roles now authenticate correctly:
  * Admin: Can queue jobs and see all jobs
  * Researcher: Can queue jobs and see own jobs
  * Analyst: Can see status (read-only access)

Multi-user authentication is now fully functional.
2025-12-06 12:35:32 -05:00

55 lines
1.4 KiB
Go

package config
// Default configuration values (legacy - use SmartDefaults for new code)
const (
DefaultSSHPort = 22
DefaultRedisPort = 6379
DefaultRedisAddr = "localhost:6379"
DefaultBasePath = "/mnt/nas/jobs"
DefaultTrainScript = "train.py"
DefaultDataDir = "/data/active"
DefaultLocalDataDir = "./data/active"
DefaultNASDataDir = "/mnt/datasets"
DefaultMaxWorkers = 2
DefaultPollInterval = 5
DefaultMaxAgeHours = 24
DefaultMaxSizeGB = 100
DefaultCleanupInterval = 60
)
// Redis key prefixes
const (
RedisTaskQueueKey = "ml:queue"
RedisTaskPrefix = "ml:task:"
RedisJobMetricsPrefix = "ml:metrics:"
RedisTaskStatusPrefix = "ml:status:"
RedisDatasetPrefix = "ml:dataset:"
RedisWorkerHeartbeat = "ml:workers:heartbeat"
)
// Task status constants
const (
TaskStatusQueued = "queued"
TaskStatusRunning = "running"
TaskStatusCompleted = "completed"
TaskStatusFailed = "failed"
TaskStatusCancelled = "cancelled"
)
// Job status constants
const (
JobStatusPending = "pending"
JobStatusQueued = "queued"
JobStatusRunning = "running"
JobStatusFinished = "finished"
JobStatusFailed = "failed"
)
// Podman defaults
const (
DefaultDesiredRPSPerWorker = 2
DefaultPodmanMemory = "8g"
DefaultPodmanCPUs = "2"
DefaultContainerWorkspace = "/workspace"
DefaultContainerResults = "/workspace/results"
)