feat(clan): data-mesher + dm-pull-deploy wiring 🌊
Stage 4e-a of the clan migration. Set up signed-file gossip (data-mesher, experimental, clan-core) and pull-based NixOS deploy (dm-pull-deploy, experimental, clan-community) across both servers. - sunken-ship is the data-mesher bootstrap node + dm-pull-deploy push role; phantom-ship joins via /dns/sunken-ship.clan/tcp/7946/... — the hostname resolves via /etc/hosts (clanHostsModule) to sunken-ship's ZT IPv6 since we don't run a DNS server for the clan domain. - Both machines run the dm-pull-deploy default role with action="switch": they watch /var/lib/data-mesher/files/home/ dm_pull_deploy/target and nixos-rebuild switch against the pushed git+…?rev=…&narHash=… flake ref on each change. - Signing keys (shared + per-host status) generated via clan vars generate, ran on sunken-ship because data-mesher isn't packaged for aarch64-darwin. The legacy dotfiles-rebuild timer stays installed as a fallback until dm-pull-deploy is proven; a smart push timer on sunken-ship (calls dm-send-deploy only when origin/main moves) comes next.
This commit is contained in:
parent
41b3d217f8
commit
6846faa5f1
34 changed files with 334 additions and 20 deletions
|
|
@ -28,6 +28,11 @@
|
|||
clan-core.url = "https://git.clan.lol/clan/clan-core/archive/main.tar.gz";
|
||||
clan-core.inputs.nixpkgs.follows = "nixpkgs";
|
||||
clan-core.inputs.flake-parts.follows = "flake-parts";
|
||||
|
||||
# clan-community: dm-pull-deploy (and other user-curated services).
|
||||
clan-community.url = "https://git.clan.lol/clan/clan-community/archive/main.tar.gz";
|
||||
clan-community.inputs.nixpkgs.follows = "nixpkgs";
|
||||
clan-community.inputs.clan-core.follows = "clan-core";
|
||||
};
|
||||
|
||||
outputs = inputs @ { flake-parts, import-tree, ... }:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue