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"
	RedisWorkerPrewarmKey = "ml:workers:prewarm:"
)

// 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"
)
