Phase 6b: vibec0re-styled dashboard on hive-c0re + agent web UI restyled

This commit is contained in:
müde 2026-05-14 23:43:20 +02:00
parent 6dbf4eedd7
commit 8cf5d72798
5 changed files with 266 additions and 13 deletions

View file

@ -26,15 +26,24 @@ in
build the container.
'';
};
dashboardPort = lib.mkOption {
type = lib.types.port;
default = 7000;
description = "TCP port the hive-c0re dashboard listens on.";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
# Per-container web UIs share the host's network namespace and need their
# ports reachable. Manager: 8000. Sub-agents: 8100..8999 (deterministic
# hash; see `lifecycle::agent_web_port`).
networking.firewall.allowedTCPPorts = [ 8000 ];
# Dashboard + per-container web UIs share the host's network namespace and
# need their ports reachable. Dashboard: `cfg.dashboardPort` (default 7000).
# Manager: 8000. Sub-agents: 8100..8999 (deterministic hash; see
# `lifecycle::agent_web_port`).
networking.firewall.allowedTCPPorts = [
cfg.dashboardPort
8000
];
networking.firewall.allowedTCPPortRanges = [
{
from = 8100;
@ -47,7 +56,7 @@ in
wantedBy = [ "multi-user.target" ];
path = [ "/run/current-system/sw" ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/hive-c0re --socket /run/hyperhive/host.sock serve --hyperhive-flake ${cfg.hyperhiveFlake}";
ExecStart = "${cfg.package}/bin/hive-c0re --socket /run/hyperhive/host.sock serve --hyperhive-flake ${cfg.hyperhiveFlake} --dashboard-port ${toString cfg.dashboardPort}";
Restart = "on-failure";
RestartSec = 2;
RuntimeDirectory = "hyperhive";