fetch_ml/internal/config/constants.go
Jeremie Fraeys 803677be57 feat: implement Go backend with comprehensive API and internal packages
- Add API server with WebSocket support and REST endpoints
- Implement authentication system with API keys and permissions
- Add task queue system with Redis backend and error handling
- Include storage layer with database migrations and schemas
- Add comprehensive logging, metrics, and telemetry
- Implement security middleware and network utilities
- Add experiment management and container orchestration
- Include configuration management with smart defaults
2025-12-04 16:53:53 -05:00

54 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 (
DefaultPodmanMemory = "8g"
DefaultPodmanCPUs = "2"
DefaultContainerWorkspace = "/workspace"
DefaultContainerResults = "/workspace/results"
)