41 lines
941 B
Nix
41 lines
941 B
Nix
|
{
|
||
|
self,
|
||
|
config,
|
||
|
lib,
|
||
|
...
|
||
|
}: let
|
||
|
inherit (lib.lists) filter;
|
||
|
inherit (builtins) attrNames;
|
||
|
|
||
|
clusterConfig = import "${self}/data/pipedClusterConfig.nix";
|
||
|
inherit (clusterConfig) hosts ports;
|
||
|
|
||
|
currentHostName = config.networking.hostName;
|
||
|
|
||
|
joinString = lib.concatStringsSep "," ([
|
||
|
"localhost:${toString ports.cockroachDB}"
|
||
|
]
|
||
|
++ (
|
||
|
map
|
||
|
(hostName: hosts.${hostName}.joinString)
|
||
|
(filter (hostName: hostName != currentHostName) (attrNames hosts))
|
||
|
));
|
||
|
in {
|
||
|
systemd.services.haproxy.wantedBy = ["piped-backend.service"];
|
||
|
|
||
|
services.cockroachdb-bin = {
|
||
|
enable = true;
|
||
|
certsDir = "/var/lib/cockroachdb-certs";
|
||
|
join = joinString;
|
||
|
extraArgs = ["--advertise-addr=${hosts.${currentHostName}.advertiseAddr}"];
|
||
|
listen = {
|
||
|
port = ports.cockroachDB;
|
||
|
address = "0.0.0.0";
|
||
|
};
|
||
|
http = {
|
||
|
address = "0.0.0.0";
|
||
|
port = ports.cockroachDB_HTTP;
|
||
|
};
|
||
|
};
|
||
|
}
|