Dom
b808e48b1f
feat(fleet): endpoints /agents/enroll|uninstall|fleet + SQLite
Endpoints REST pour le fleet management (utilisés par installeur Inno Setup) :
POST /api/v1/agents/enroll -> 201 {status, machine_id, api_token, agent}
POST /api/v1/agents/uninstall -> 200 {status, machine_id, agent}
GET /api/v1/agents/fleet -> 200 {active, uninstalled, totals}
Tous protégés par Bearer token (conforme _PUBLIC_PATHS existant).
Nouveau module agent_v0/server_v1/agent_registry.py :
- Classe AgentRegistry (sqlite3 stdlib, WAL, thread-safe via Lock)
- CRUD + soft-delete (uninstall = status="uninstalled", historique préservé)
- Table enrolled_agents créée via IF NOT EXISTS (pas de migration nécessaire)
- Ré-enrollment après uninstall = réactivation auto (allow_reactivate=True)
- Chemin DB configurable via RPA_AGENTS_DB_PATH (défaut data/databases/rpa_data.db)
Fix fixture test_stream_processor : autouse RPA_API_TOKEN dans
TestAPIEndpoints pour éviter SystemExit P0-C au module load.
13 tests intégration (enroll/uninstall/fleet + auth + edge cases).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 09:07:19 +02:00
..
2026-01-29 11:23:51 +01:00
2026-04-15 09:07:19 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-04-15 09:07:04 +02:00
2026-01-29 11:23:51 +01:00
2026-04-09 21:03:25 +02:00
2026-01-29 11:23:51 +01:00
2026-03-16 22:25:12 +01:00
2026-03-16 22:25:12 +01:00
2026-01-18 19:14:47 +01:00
2026-01-18 19:06:09 +01:00
2026-01-18 18:48:35 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-03-16 22:25:12 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00