Resolves BARAAA-70 - agenthub-ofelia-1 container restart loop
The Ofelia scheduler was not defined in the compose file, only the
Ofelia labels on the backup service existed. This caused a container
restart loop because there was no Ofelia service to read those labels
and execute scheduled tasks.
Changes:
- Add ofelia service with mcuadros/ofelia:latest image
- Mount Docker socket read-only for container monitoring
- Depend on postgres (aligned with compose.lan.yml)
- Add ofelia.enabled=true label for auto-activation
- Add verification script (scripts/verify-ofelia.sh)
- Add verification documentation (docs/BARAAA-70-VERIFICATION.md)
After deployment, the Ofelia container should start successfully
and detect the backup-daily cron job (daily at 3am UTC).
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Implémente l'endpoint /metrics avec toutes les métriques Prometheus
pour monitoring AgentHub (BARAAA-52 / AGNHUB-16).
Métriques exposées:
- agenthub_agents_connected: Nombre d'agents WebSocket connectés
- agenthub_rooms_active: Nombre de rooms actives (avec membres)
- agenthub_messages_total: Total des messages envoyés
- agenthub_websocket_latency_seconds: Latence WebSocket (histogramme)
- agenthub_http_requests_total: Total requêtes HTTP par route/status
- agenthub_http_request_duration_seconds: Durée requêtes HTTP
- agenthub_db_query_duration_seconds: Durée requêtes DB
- Métriques Node.js par défaut (CPU, mémoire, event loop, etc.)
Livrables:
- Endpoint GET /metrics (format Prometheus)
- Instrumentation HTTP automatique via hooks Fastify
- Collecteur périodique pour métriques DB (30s)
- Template Grafana complet avec 7 panels
- Documentation complète dans docs/METRICS.md
Testé en local - toutes les métriques fonctionnelles.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Comprehensive summary of J5 development work:
- All deliverables completed
- Deployment blockers documented
- Next steps clearly defined
- Rollback procedures included
Closes development phase of BARAAA-50.
Co-Authored-By: Paperclip <noreply@paperclip.ing>