hivectl: add operator-facing host CLI with forge + matrix create-user verbs (#655)

This commit is contained in:
damocles 2026-05-30 20:34:59 +02:00
commit 53447842bc
6 changed files with 214 additions and 41 deletions

View file

@ -277,7 +277,7 @@ struct PortConflict {
}
#[derive(Serialize, Clone, Debug)]
pub(crate) struct TombstoneView {
pub struct TombstoneView {
pub name: String,
/// Bytes used by the state dir tree. Cheap-ish to compute; let the
/// operator know how much they're holding onto.
@ -462,7 +462,7 @@ fn build_port_conflicts(containers: &[ContainerView]) -> Vec<PortConflict> {
}
#[derive(Serialize, Clone, Debug)]
pub(crate) struct MetaInputView {
pub struct MetaInputView {
/// Input key in meta's `flake.nix` — `hyperhive`, `agent-<n>`, etc.
pub name: String,
/// Full locked sha. Not displayed verbatim; the dashboard
@ -1507,7 +1507,7 @@ pub(crate) fn emit_meta_inputs_snapshot(coord: &Coordinator) {
/// allow-list + `is_file` check happens via the same
/// `resolve_state_path` helper the read endpoint uses, so the
/// security rules can't drift.
pub(crate) fn scan_validated_paths(body: &str) -> Vec<String> {
pub fn scan_validated_paths(body: &str) -> Vec<String> {
const PREFIXES: [&str; 4] = [
"/agents/",
"/shared/",