| Filename | Latest commit message | Latest commit date |
|---|---|---|
Fixes hyperhive#2895. The rebuild-queue tree's per-node log icon (the printer-glyph "open" affordance next to each node in the R3BU1LD QU3U3 tab) linked directly to the raw-text download endpoint (/api/build-log/<node_id>/raw, which sets Content-Disposition: attachment server-side) -- surprising, since nothing about that icon signals "this leaves the app", unlike the other two explicit "download raw"/"raw" links elsewhere on the page. Point it at the existing ?id=N#buildlogs deep-link into the BUILD L0GS tab instead (builds.js's fetchBuild already auto-expands + scrolls to the matching row there). That deep-link's id is the build-log history row id -- a different id space than the queue tree's NodeId, and wasn't exposed to the frontend before (only a derived has_log bool was). Added NodeView.build_log_id: Option<i64> to the wire type alongside the existing has_log (kept, since findLiveBuild's separate live-log-panel gate still needs a plain bool), threaded through job_queue::mod.rs, updated hivectl's NodeView test-helper literal. The raw download is still one click away once on that row's BUILD L0GS detail (the two already-explicit raw-download links are untouched). cargo build/clippy/test clean across the three touched crates (hive-c0re, hive-host-sock, hivectl); nix fmt clean; frontend build verified (grep for build_log_id in the built builds.js bundle). |
||
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
hive-host-sock
Wire types for the host admin socket (/run/hyperhive/host.sock) — the
host-control protocol spoken between the hivectl operator CLI and the
hive-c0re daemon.
Why it's its own crate
Re-homed out of hive-sh4re so a standalone hivectl depends on just this
protocol crate instead of the whole daemon-shared crate. hivectl drives the
full hive (spawn / kill / destroy / rebuild / deploy) over this socket without
linking hive-c0re; keeping the request/response shapes here is what makes that
thin dependency possible.
Shape
Serde-derived request/response enums for the host admin protocol. The larger
shared payload types some variants reference (Approval, AgentStatusRow,
jobs::DagView) stay in hive-sh4re — this crate is only the protocol
envelope, no server or client implementation.
See docs/boundary.md (host admin socket access) for the trust model around who
may connect to the socket, and hive-priv-sock for the sibling split on the
privileged-helper socket.