reshape swarm peers: domain-as-key, certFingerprint field

This commit is contained in:
damocles 2026-05-31 23:29:30 +02:00 committed by mara
commit 52cfc3ea1c
3 changed files with 45 additions and 66 deletions

View file

@ -51,14 +51,14 @@ pub fn swarm_name() -> Option<String> {
/// One peer hive in the same swarm. Parsed from `HYPERHIVE_PEERS`.
#[derive(Debug, Clone, serde::Deserialize)]
pub struct PeerHive {
pub label: String,
pub domain: String,
pub cert_fingerprint: Option<String>,
}
/// Peer hives in the same swarm, parsed from `HYPERHIVE_PEERS` env var
/// (JSON array of `{label,domain}` objects, emitted by the c0re NixOS
/// module from `services.hyperhive.peers`). Returns empty vec on
/// single-hive deploys (env var absent).
/// (JSON array of `{domain, cert_fingerprint}` objects, emitted by the
/// c0re NixOS module from `services.hyperhive.swarm.peers`). Returns
/// empty vec on single-hive deploys (env var absent).
#[must_use]
pub fn peers() -> Vec<PeerHive> {
env::var("HYPERHIVE_PEERS")