Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-priv-sock
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 9113651c10 hand agents the dashboard port, pinned claude and otel labels at container start
The three values that differ per host (deploy.hive-controller.dashboardPort,
claudeCodePackage and otel.extraResourceAttributes) no longer go into the
meta flake. hive-priv writes them into the container's
/etc/hyperhive-hive-facts with the hive name and domain, and the agent
reads them at boot:

- HIVE_DASHBOARD_PORT reaches every unit through the hive-facts generator;
  the web UI still defaults to 7000 without it.
- `claude` on PATH is a wrapper that runs HYPERHIVE_CLAUDE_CODE_PATH's
  claude when it is there, and the container's own claude-code otherwise.
  The host's serve.json keeps gc-rooting the pinned build.
- OTEL_RESOURCE_ATTRIBUTES moves out of the units' Environment= into a
  boot-time generator, which appends HYPERHIVE_OTEL_EXTRA_RESOURCE_ATTRIBUTES.

The agent options services.hyperhive.agent.claudeCodePath (now a removed
option) and otel.extraResourceAttributes go; only the meta render set them.
render_flake takes no HiveEnv any more, so the memory-cap render test and
render_hive_flake_at, which only existed to vary HiveEnv into the render,
go with it.

Refs #4857
2026-10-22 07:11:46 +02:00
..
src hand agents the dashboard port, pinned claude and otel labels at container start 2026-10-22 07:11:46 +02:00
Cargo.toml docs(#2627): add READMEs for hive-jobq + the socket wire crates 2026-07-23 12:34:22 +02:00
README.md docs: restructure into topic subdirectories, collapse duplicated index 2026-09-02 01:55:37 +02:00

hive-priv-sock

Wire types for the hive-priv privileged-helper socket (/run/hive/priv.sock) — the contract between hive-priv (the root helper, server) and hive-c0re (client, via its priv_client).

Why it's its own crate

Split out of hive-sh4re so hive-priv — a root-privileged binary — depends on just this narrow protocol crate instead of the much larger daemon-shared crate. Two wins: fewer dependencies in a root process's supply chain, and a small, self-contained interface makes the privilege boundary this crate encodes easier to audit. Mirrors hive-host-sock's split for the host admin socket.

Shape

Serde-derived request/response types only — no server or client logic. Both sides import them so the shapes stay in sync. See docs/trust-boundary/boundary.md + docs/trust-boundary/security.md for the privilege boundary these types sit on, and hive-priv/README for the helper itself.