network/nix/nixos-module/server/ha.nix

20 lines
460 B
Nix

{ lib, config, ... }:
{
services.pacemaker.enable = true;
services.corosync = {
clusterName = "zentralwerk";
nodelist = lib.imap1 (i: hostName: {
nodeid = i;
name = hostName;
ring_addrs = map (net:
config.site.net.${net}.hosts6.dn42.${hostName}
) [ "cluster" "mgmt" ];
}) (
builtins.attrNames (
lib.filterAttrs (_: { role, ... }: role == "server")
config.site.hosts
)
);
};
}