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.
87 lines
4.3 KiB
HTML
87 lines
4.3 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>hyperhive // C0R3</title>
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
<link rel="stylesheet" href="/static/colors.css">
|
|
<link rel="stylesheet" href="/static/theme.css">
|
|
<link rel="stylesheet" href="/static/common.css">
|
|
<link rel="stylesheet" href="/static/core.css">
|
|
</head>
|
|
<body class="core-shell">
|
|
|
|
<!-- C0R3: the host/coordinator surface. Standalone page (served at
|
|
/core.html) carved out of the dashboard's old SYST3M tab so the
|
|
dashboard tab strip stays lean. Same minimal chrome as
|
|
/logs.html — a `← home` back-link to the H0M3 hub + a
|
|
createTabStrip sub-tab nav. Three sub-tabs: kept state (tombstones),
|
|
container load, and infra containers (start/stop/restart the four
|
|
hive infra containers). Rebuild queue + meta inputs have moved to
|
|
/builds.html (the build lifecycle hub). Default tab: K3PT ST4T3.
|
|
The section <div> ids (tombstones-section, container-load-section,
|
|
infra-containers-section) match what core.js's renderers target. -->
|
|
<header class="page-header">
|
|
<a class="page-back" href="/">← home</a>
|
|
<nav class="hive-tabbar core-tabbar" id="core-tabbar" role="tablist">
|
|
<a class="hive-tab" id="core-tab-kept" href="#kept" role="tab"
|
|
aria-controls="core-pane-kept" data-tab="kept">
|
|
<span class="core-tab-label">K3PT ST4T3</span>
|
|
</a>
|
|
<a class="hive-tab" id="core-tab-load" href="#load" role="tab"
|
|
aria-controls="core-pane-load" data-tab="load">
|
|
<span class="core-tab-label">C0NT41N3R L04D</span>
|
|
</a>
|
|
<a class="hive-tab" id="core-tab-infra" href="#infra" role="tab"
|
|
aria-controls="core-pane-infra" data-tab="infra">
|
|
<span class="core-tab-label">1NFR4</span>
|
|
</a>
|
|
</nav>
|
|
</header>
|
|
|
|
<main class="core-main">
|
|
|
|
<!-- K3PT ST4T3: tombstoned-agent kept state + stale permission entries.
|
|
tombstones-section shows destroyed agents (revive / purge buttons).
|
|
tombstones-stale-perms is lazy-loaded on tab activation and shows
|
|
agents with explicit capability/tool-group entries but no live
|
|
container (typically renamed/deleted agents whose JSON entries
|
|
persisted). Each stale entry gets a "✕ clear perms" button. -->
|
|
<section class="core-pane" id="core-pane-kept" data-tab-pane="kept"
|
|
role="tabpanel" aria-labelledby="core-tab-kept">
|
|
<p class="meta">kept state from previously tombstoned agents — recreating an agent with the same name reuses it.</p>
|
|
<div id="tombstones-section">
|
|
<p class="meta">loading…</p>
|
|
</div>
|
|
<div id="tombstones-stale-perms"></div>
|
|
</section>
|
|
|
|
<!-- C0NT41N3R L04D: live cpu + memory per agent container, from
|
|
cgroup v2 on the host. Polled only while this sub-tab is active. -->
|
|
<section class="core-pane" id="core-pane-load" data-tab-pane="load"
|
|
role="tabpanel" aria-labelledby="core-tab-load">
|
|
<p class="meta">live cpu + memory per agent container, from cgroup v2 on the host. cpu is % of total host capacity (all cores), sampled over ~200ms each refresh; polled every 5s while this tab is open. network is omitted on purpose — agents share the host netns, so there is no per-container counter (see <code>docs/network.md</code>).</p>
|
|
<div id="container-load-section">
|
|
<p class="meta">loading…</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 1NFR4: start / stop / restart the four hive infrastructure
|
|
containers (hive-ci, hive-forge, hive-gateway, hive-matrix)
|
|
directly from the dashboard, mirroring what an infra_admin
|
|
agent's `restart` tool already reaches. Status polled every 5s
|
|
while this sub-tab is open, same cadence as C0NT41N3R L04D. -->
|
|
<section class="core-pane" id="core-pane-infra" data-tab-pane="infra"
|
|
role="tabpanel" aria-labelledby="core-tab-infra">
|
|
<p class="meta">hive infrastructure containers — ci, forge, gateway, matrix. actions are logged to the AUDIT log same as agent-driven restarts.</p>
|
|
<div id="infra-containers-section">
|
|
<p class="meta">loading…</p>
|
|
</div>
|
|
</section>
|
|
|
|
</main>
|
|
|
|
<script type="module" src="/static/core.js" defer></script>
|
|
</body>
|
|
</html>
|