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-03-18 11:12:23 +01:00
2026-04-15 09:07:19 +02:00
2026-04-15 09:07:19 +02:00
2026-04-09 21:03:25 +02:00
2026-04-10 09:01:13 +02:00
2026-04-10 09:01:52 +02:00
2026-04-10 14:05:23 +02:00
2026-04-14 16:49:02 +02:00
2026-04-11 09:11:41 +02:00
2026-04-12 10:35:51 +02:00
2026-04-13 07:42:50 +02:00
2026-04-14 16:49:02 +02:00
2026-04-09 21:03:25 +02:00
2026-04-11 09:11:41 +02:00
2026-03-26 10:19:18 +01:00
2026-03-18 11:12:23 +01:00
2026-04-09 21:03:25 +02:00
2026-04-09 21:03:25 +02:00
2026-03-18 11:12:23 +01:00
2026-03-18 11:12:23 +01:00
2026-03-18 11:12:23 +01:00
2026-04-05 16:30:27 +02:00