3.2 KiB
3.2 KiB
Orchestrator Roadmap
This document tracks Orchestrator-specific work for the AI SysAdmin system.
Completed Work
Core Infrastructure
- Task model, statuses, DB tables
- Agent model + registration flow
- Task dispatching (
/tasks/nextpolling) - Heartbeat system
- Result ingestion
- Tenant validation, permission flow
- FastAPI app with complete routing structure
- Deployment on live server (nginx + SSL)
API Routes
/api/v1/agents/*- Agent registration, heartbeat/api/v1/tasks/*- Task creation, polling, results/api/v1/tenants/*- Tenant management/api/v1/env/*- ENV inspection and update/api/v1/agents/{id}/files/inspect- File inspection
Playbooks
- Chatwoot playbook (
/api/v1/tenants/{id}/chatwoot/setup)
Remaining Work
Phase 1: Tool-Specific Playbooks
Create a playbook module for each tool in app/playbooks/:
| Tool | Module | API Endpoint | Status |
|---|---|---|---|
| Chatwoot | chatwoot.py |
/tenants/{id}/chatwoot/setup |
✅ Done |
| NocoDB | nocodb.py |
/tenants/{id}/nocodb/setup |
⬚ Todo |
| Directus | directus.py |
/tenants/{id}/directus/setup |
⬚ Todo |
| Ghost CMS | ghost.py |
/tenants/{id}/ghost/setup |
⬚ Todo |
| MinIO | minio.py |
/tenants/{id}/minio/setup |
⬚ Todo |
| Keycloak | keycloak.py |
/tenants/{id}/keycloak/setup |
⬚ Todo |
| Nextcloud | nextcloud.py |
/tenants/{id}/nextcloud/setup |
⬚ Todo |
| Activepieces | activepieces.py |
/tenants/{id}/activepieces/setup |
⬚ Todo |
| Listmonk | listmonk.py |
/tenants/{id}/listmonk/setup |
⬚ Todo |
| Odoo | odoo.py |
/tenants/{id}/odoo/setup |
⬚ Todo |
| Mixpost | mixpost.py |
/tenants/{id}/mixpost/setup |
⬚ Todo |
Each playbook creates a COMPOSITE task with:
ENV_INSPECT- Read current configurationENV_UPDATE- Update URLs, domains, settingsDOCKER_RELOAD- Restart the stack
Each playbook module needs:
- Pydantic request/response schemas
- Route handler in
app/routes/playbooks.py - Tests in
tests/test_playbooks/
Phase 2: Introspection APIs
/api/v1/servers/{id}/scan- Discover all services and their state/api/v1/servers/{id}/diagnose- Find configuration issues/api/v1/servers/{id}/health- Aggregate health check
Phase 3: New Task Types
Support for new executor types from the agent:
| Task Type | Purpose | Status |
|---|---|---|
| NGINX_RELOAD | Reload nginx after config changes | ⬚ Todo |
| HEALTHCHECK | Check service status | ⬚ Todo |
| STACK_HEALTH | Verify docker compose stack | ⬚ Todo |
Phase 4: Autonomous Operations
- LLM integration for natural language commands
- Task chaining based on results
- Automatic remediation workflows
Phase 5: Dashboard & UI
- Task history and logs viewer
- Agent status dashboard
- Playbook marketplace
- RBAC and multi-tenant UI
Next Steps
- Create
app/playbooks/nocodb.py - Add route:
POST /api/v1/tenants/{tenant_id}/nocodb/setup - Create COMPOSITE task with ENV_INSPECT, ENV_UPDATE, DOCKER_RELOAD
- Write tests in
tests/test_playbooks/test_nocodb.py