Skip to the content.

Task 62 — Fleet templates

Phase: 6 Initiative: 39 Status: done

Implementation notes

2026-08-14

Added:

src/agent/Fleet/Models.cs — 8 types:

src/agent/Fleet/IFleetTemplateManager.cs — interface with List(), GetManifest(), Apply(), GetFleetTemplatesDir()

src/agent/Fleet/FleetTemplateManager.cs — implementation:

Hercules.WebApi/Controllers/FleetTemplateController.cs — 3 endpoints:

src/agent/Config/AppConfig.cs — added FleetTemplatesDir = "FleetTemplates" to Phase2Config

src/agent/Program.cs — registered IFleetTemplateManager → FleetTemplateManager in DI

Fleet template bundles (data/FleetTemplates/{greenhouse,cold-chain,server-room,vending}.fleettemplate):

4 verticals:

Tests (tests/.../Fleet/FleetTemplateManagerTests.cs): 16 unit tests covering:

Validation:

Goal

Один валидированный template на вертикаль: greenhouse, cold-chain, server closet, energy, vending — software, policy, тесты, мониторинг, offline behaviour, hardware BOM.

Acceptance criteria

Sub-tasks

Scope / Likely files

templates/greenhouse/, templates/cold-chain/, …

Dependencies

Risks / Rollback

Слишком специфично для общего ядра; чёткие границы template-vs-core.