- ordo is a simplified container orchestrator written in Go. It provides a practical understanding of orchestrator concepts like task management, scheduling, and worker communication.
- Go (v1.16 or later)
- Docker
- BoltDB (v1.3.1)
- chi (v5.0.3)
- goprocinfo
- Task States: Implement task states (Pending, Running, Completed, Failed).
- Docker Integration: Start/stop Docker containers via Docker API.
- Task Persistence: Store tasks in-memory or in BoltDB.
- Task Queue: FIFO queue for processing tasks.
- Task Execution: Run assigned tasks as Docker containers.
- Metrics Collection: Collect CPU, memory, disk usage data. (Pending)
- Task Scheduling: Basic task scheduling (Round-Robin).
- Enhanced Scheduler: Resource-based E-PVM scheduler. (Pending)
- Health Checks: Check task health, auto-restart on failure. (Pending)
- Modular Design: Separate modules for tasks, workers, managers.
- Testability: Set up automated testing. (Pending)
- Security: Add security measures. (Pending)
- Service Discovery: Enable service discovery for tasks. (Pending)
- High Availability: Implement redundancy for manager/workers. (Pending)