From 20d286f06a8dda5bb853736bd4bc601a05ba1d6d Mon Sep 17 00:00:00 2001 From: atlas Date: Mon, 9 Nov 2026 23:13:18 +0100 Subject: [PATCH] remove the old snapshot store; tombstone its options --- README.md | 1 - docs/2-handbook/agents/persistence.md | 5 +- docs/2-handbook/hives/hivectl-cli.md | 26 +- docs/2-handbook/swarm/README.md | 6 +- .../networking/snapshot-store.md | 240 --------------- .../trust-boundary/hive-c0re-privilege.md | 2 +- docs/README.md | 3 - hive-c0re/src/main.rs | 1 - hive-c0re/src/priv_client.rs | 216 +------------ hive-c0re/src/server.rs | 19 -- hive-c0re/src/snapshot_push.rs | 285 ------------------ hive-host-sock/src/lib.rs | 17 -- hive-priv-sock/src/lib.rs | 7 +- hive-priv/src/storage.rs | 7 +- hivectl/src/cli.rs | 27 +- hivectl/src/subvol.rs | 37 --- nix/checks.nix | 4 - nix/host-modules/default.nix | 1 - nix/host-modules/deploy.nix | 38 +++ nix/host-modules/hive-c0re/environment.nix | 12 - nix/host-modules/hive-network.nix | 1 - nix/host-modules/hyperhive.nix | 4 +- nix/host-modules/swarm-snapshot-store.nix | 265 ---------------- nix/host-modules/swarm-wireguard.nix | 5 +- nix/host-modules/swarm.nix | 37 --- nix/module-eval/core-toggle.nix | 37 +++ nix/module-eval/snapshot-store.nix | 102 ------- 27 files changed, 97 insertions(+), 1308 deletions(-) delete mode 100644 docs/4-implementation/networking/snapshot-store.md delete mode 100644 hive-c0re/src/snapshot_push.rs delete mode 100644 nix/host-modules/swarm-snapshot-store.nix delete mode 100644 nix/module-eval/snapshot-store.nix diff --git a/README.md b/README.md index 15536b936..f4acc1e65 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,6 @@ the swarm — one of each, each on whichever host you choose │ └── opt-in, not part of singleHostSwarm ├── swarm-ci-runner Forgejo Actions runner (deploy.ci-runner) - ├── swarm-snapshot-store btrfs-receive endpoint for agent snapshots └── wg-hive WireGuard mesh between hives (deploy.wireguard) the hives — the substrate, as many as you like (deploy.hive-controller.enable) diff --git a/docs/2-handbook/agents/persistence.md b/docs/2-handbook/agents/persistence.md index 042ea107d..6c0985214 100644 --- a/docs/2-handbook/agents/persistence.md +++ b/docs/2-handbook/agents/persistence.md @@ -657,10 +657,7 @@ qgroup accounting hive-wide (opt-in, no-op on non-btrfs hosts), and subvolume usage through the same hive-priv-mediated path as subvolume creation/deletion above. -This is the same subvolume `hivectl agent subvol snapshot push` -sends to the swarm's snapshot store — see -[`docs/4-implementation/networking/snapshot-store.md`](../../4-implementation/networking/snapshot-store.md) for what a pushed -snapshot contains and how the store authenticates a sender. +The old snapshot store no longer exists; swarm-archive will replace it for agent-state backups, and nothing copies the subvolume off the host in the meantime. The subvolume is the whole agent state root, so `work/` is part of every snapshot and migration of it and can make them much larger. diff --git a/docs/2-handbook/hives/hivectl-cli.md b/docs/2-handbook/hives/hivectl-cli.md index 7a588ac07..f577b4c49 100644 --- a/docs/2-handbook/hives/hivectl-cli.md +++ b/docs/2-handbook/hives/hivectl-cli.md @@ -25,7 +25,6 @@ This document contains the help content for the `hivectl` command-line program. * [`hivectl agent subvol snapshot create`↴](#hivectl-agent-subvol-snapshot-create) * [`hivectl agent subvol snapshot delete`↴](#hivectl-agent-subvol-snapshot-delete) * [`hivectl agent subvol snapshot send`↴](#hivectl-agent-subvol-snapshot-send) -* [`hivectl agent subvol snapshot push`↴](#hivectl-agent-subvol-snapshot-push) * [`hivectl list-agents`↴](#hivectl-list-agents) * [`hivectl quota-enable`↴](#hivectl-quota-enable) * [`hivectl wg`↴](#hivectl-wg) @@ -273,8 +272,7 @@ Read-only snapshots of this agent's state subvolume * `create` — Create a read-only snapshot (agent must already be a subvolume) * `delete` — Delete a snapshot created by `subvol snapshot create` -* `send` — Export a snapshot to a local file via `btrfs send` — the local-file half of the inter-hive migration transport (`push` is the network half). Also useful standalone as a point-in-time backup: a full send with no `--parent` produces a self-contained archive of the snapshot -* `push` — Stream a snapshot to the swarm's snapshot store over the WireGuard mesh — the network half of the migration transport +* `send` — Export a snapshot to a local file via `btrfs send`: a point-in-time backup. A full send with no `--parent` produces a self-contained archive of the snapshot @@ -304,7 +302,7 @@ Delete a snapshot created by `subvol snapshot create` ## `hivectl agent subvol snapshot send` -Export a snapshot to a local file via `btrfs send` — the local-file half of the inter-hive migration transport (`push` is the network half). Also useful standalone as a point-in-time backup: a full send with no `--parent` produces a self-contained archive of the snapshot +Export a snapshot to a local file via `btrfs send`: a point-in-time backup. A full send with no `--parent` produces a self-contained archive of the snapshot **Usage:** `hivectl agent subvol snapshot send [OPTIONS] --dest