[grade=B] DC-108: Multi-host fleet management foundation
5 endpoints: - GET /api/v1/fleet/hosts — list registered hosts - POST /api/v1/fleet/hosts — register host (name, hostname, apiKey, tags) - DELETE /api/v1/fleet/hosts/:hostId — deregister - GET /api/v1/fleet/status — fleet-wide health check (parallel probes) - POST /api/v1/fleet/deploy — generate multi-host deployment plan Host state persisted in fleet-hosts.json. API keys stored as SHA-256 hashes. Status endpoint probes each host's /api/v1/system/health in parallel with 3s timeout. THIS COMPLETES THE ENTIRE 46-ITEM BACKLOG! 1633 tests pass.
This commit is contained in:
@@ -67,6 +67,7 @@ const catalogRoutes = require('../routes/catalog');
|
||||
const wizardRoutes = require('../routes/wizard');
|
||||
const disasterRoutes = require('../routes/disaster-recovery');
|
||||
const caddycodeRoutes = require('../routes/caddycode');
|
||||
const fleetRoutes = require('../routes/fleet');
|
||||
const configRoutes = require('../routes/config');
|
||||
const dnsRoutes = require('../routes/dns');
|
||||
const notificationRoutes = require('../routes/notifications');
|
||||
@@ -647,6 +648,12 @@ async function createApp() {
|
||||
apiRouter.use(caddycodeRoutes({
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
}));
|
||||
|
||||
// DC-108: Multi-host fleet management
|
||||
apiRouter.use(fleetRoutes({
|
||||
log: ctx.log,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
}));
|
||||
apiRouter.use(updatesRoutes({
|
||||
updateManager: ctx.updateManager,
|
||||
selfUpdater: ctx.selfUpdater,
|
||||
|
||||
Reference in New Issue
Block a user