feat: add infra container start/stop/restart tab to C0R3 page

New POST /api/infra-container/{name}/{action} dashboard route (start/
stop/restart on hive-ci/hive-forge/hive-gateway/hive-matrix), reusing
the existing priv_client::control_infra_container helper the
infra_admin agent path already uses, plus an audit_log entry per
attempt. Adds infra_containers to the /api/state StateSnapshot (name +
live running status via systemctl is-active). New 1NFR4 sub-tab on the
C0R3 dashboard page: one row per infra container with a running/
stopped badge and start/stop/restart buttons, polled every 5s while
the sub-tab is open.
This commit is contained in:
iris 2026-07-11 20:28:27 +02:00 committed by mara
commit ef14641b94
7 changed files with 229 additions and 5 deletions

View file

@ -18,6 +18,7 @@ use crate::lifecycle;
mod approvals;
mod build_logs;
mod infra_containers;
mod journal;
mod lifecycle_ops;
mod matrix_accounts;
@ -182,6 +183,10 @@ pub async fn serve(
.route("/api/start/{name}", post(lifecycle_ops::post_start))
.route("/api/rebuild/{name}", post(lifecycle_ops::post_rebuild))
.route("/api/update-all", post(lifecycle_ops::post_update_all))
.route(
"/api/infra-container/{name}/{action}",
post(infra_containers::post_infra_container),
)
.route(
"/api/answer-question/{id}",
post(questions::post_answer_question),