Skip to the content.

Task 99 — System restart protocol

Phase: 8 Status: done Owner: — Slug: system-restart-protocol Studio Stage: 6

Goal

Реализовать supervisor-протокол для удалённого перезапуска агента. POST /api/system/restart (system key) ставит флаг, Studio/supervisor опрашивает GET /api/system/restart-pending и выполняет restart.

Acceptance criteria

Sub-tasks

Implementation notes

Round 1 (this tick) — completed

Реализован supervisor-протокол для удалённого рестарта агента.

Service (src/agent/Restart/RestartService.cs) — новый, 14 unit-тестов:

Namespace урок из task_098: помещён в Hercules.Restart (отдельная папка src/agent/Restart/), чтобы не shadow’ить BCL (System.*). Аналогично CheckIn вынесен из System/ в CheckIn/.

Controller (src/agent/Hercules.WebApi/Controllers/SystemController.cs) — extend, +3 endpoint’а:

Program.cs wiring:

Тесты (tests/Hercules.Agent.Tests/Restart/RestartServiceTests.cs) — 14 unit-тестов, все passing:

Build & test validation:

Notes

Dependencies

Scope / Likely files

src/agent/Hercules.WebApi/Controllers/SystemController.cs (extend), src/agent/System/RestartService.cs (new), src/agent/Config/RuntimeConfigStore.cs