1
0
Fork 0
nixos-config/common/default.nix
2021-12-22 00:03:56 +01:00

120 lines
2.5 KiB
Nix

{ config, pkgs, lib, ... }:
with lib;
{
config = {
m-0.monitoring = [
{
host = "apollo:9100";
name = "apollo";
flaky = true;
}
{
host = "apollo:9558";
name = "apollo-user";
flaky = true;
}
{
host = "hera:9558";
name = "hera-user";
flaky = true;
}
{
host = "zeus:9100";
name = "zeus";
flaky = true;
}
{
host = "zeus:9558";
name = "zeus-user";
flaky = true;
}
{
host = "fluffy.vpn.m-0.eu:9100";
name = "fluffy";
}
{
host = "fluffy.vpn.m-0.eu:9558";
name = "fluffy-user";
}
{
name = "ved server";
host = "bach.vocalensemble-darmstadt.de:9100";
}
{
name = "ved postfix";
host = "bach.vocalensemble-darmstadt.de:9154";
}
];
};
options = {
m-0.private = mkOption {
default = { };
type = types.attrs;
};
m-0.prefix = mkOption {
default = "2a02:c207:3002:7584";
type = types.str;
};
m-0.monitoring = mkOption {
type = types.listOf (types.submodule {
options = {
name = mkOption { type = types.str; };
host = mkOption { type = types.str; };
container = mkOption {
type = types.bool;
default = false;
};
flaky = mkOption {
type = types.bool;
default = false;
};
};
});
default = [ ];
};
m-0.hosts = mkOption {
type = types.attrs;
default =
let
p = config.m-0.prefix;
hera-p = "${p}::3";
apollo-p = "${p}::1";
wg-p = "${p}::100";
v4-p = "10.0.0";
in
rec {
hera = "${p}::1";
vpn = rec {
prefix = "fdc0:7";
hera = "${prefix}::1";
fluffy = "${prefix}::2";
apollo = "${prefix}::5";
zeus = "${prefix}::4";
pegasus = "${prefix}::6";
};
hera-wg-host = "${p}::100:0:1";
hera-v4 = "213.136.94.190";
hera-wg = "${wg-p}:1";
apollo-wg = "${wg-p}:2";
zeus-wg = "${wg-p}:3";
hera-intern = "${hera-p}:1";
chor-cloud = "${hera-p}:b";
apollo = apollo-wg;
zeus = zeus-wg;
hera-intern-v4 = "${v4-p}.1";
chor-cloud-intern-v4 = "${v4-p}.3";
};
};
};
}