32 lines
726 B
Nix
32 lines
726 B
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
build_ip =
|
|
arg:
|
|
(
|
|
if (!lib.strings.isString arg) then
|
|
"${config.globals.ip_prefix}${toString arg}"
|
|
else
|
|
let
|
|
id = config.id.${arg};
|
|
ip = if (id > 1000) then id - 1000 else id;
|
|
in
|
|
"${config.globals.ip_prefix}${toString ip}"
|
|
);
|
|
build_ip_cidr = arg: "${build_ip arg}/${toString config.globals.cidr}";
|
|
mask_cidr = build_ip_cidr 0;
|
|
build_hostname = arg: "${arg}${config.globals.domains.external}";
|
|
in
|
|
{
|
|
build_ip = build_ip;
|
|
build_ip_cidr = build_ip_cidr;
|
|
mask_cidr = mask_cidr;
|
|
build_hostname = build_hostname;
|
|
|
|
loki_addr = "${build_ip "monitoring"}:3100";
|
|
metrics_addr = "${build_ip "metrics"}:9090";
|
|
}
|