{ config, lib, ... }: { links = { patroni-pg-internal.ipv4 = "0.0.0.0"; patroni-api.ipv4 = "0.0.0.0"; patroni-pg-access.ipv4 = "127.0.0.1"; }; services.patroni = { nodes = { worker = [ "grail" "thunderskin" "VEGAS" ]; haproxy = [ "checkmate" "VEGAS" "prophet" ]; }; nixos = { worker = [ ./worker.nix ./metrics.nix ]; haproxy = ./haproxy.nix; }; secrets = let inherit (config.services.patroni) nodes; default = { nodes = nodes.worker; owner = "patroni"; }; in { PATRONI_REPLICATION_PASSWORD = default; PATRONI_SUPERUSER_PASSWORD = default; PATRONI_REWIND_PASSWORD = default; metricsCredentials.nodes = nodes.worker; }; }; }