metanix/meta.nix
2025-11-29 12:55:11 -06:00

257 lines
5.5 KiB
Nix

{
domain = "kasear.net";
locations = {
cloud = {
owner = "yaro";
dmz = {
hosts = {
eris = {
role = "router";
aliases = [ "frontend.kasear.net" ];
};
deimos-cloud = {
role = "server";
};
};
};
infra = {
hosts = {
metatron = {
role = "coreServer";
};
loki-cloud = {
role = "adminWorkstation";
};
};
};
};
home = {
dmz = {
vlan = 1;
hosts = {
io = {
role = "router";
aliases = [ "external.kasear.net" ];
};
europa-dmz = {
role = "router";
};
deimos = {
role = "server";
hw-address = "10:98:36:a0:2c:b2";
aliases = [
"kasear.net"
"cloud.kasear.net"
"git.kasear.net"
"majike.kasear.net"
"media.kasear.net"
"minecraft.kasear.net"
"public.kasear.net"
"test.kasear.net"
"vault.kasear.net"
"vikali.kasear.net"
"vpn.kasear.net"
"www.kasear.net"
"yaro.kasear.net"
];
};
container-host = {
role = "containerHost";
dns = false;
};
cloud-container = { role = "server"; dns = false; };
default-container = { role = "server"; dns = false; };
foregejo-container = { role = "server"; dns = false; };
majike-container = { role = "server"; dns = false; };
media-container = { role = "server"; dns = false; };
vault-container = { role = "server"; dns = false; };
vikali-container = { role = "server"; dns = false; };
vpn-container = { role = "server"; dns = false; };
yaro-container = { role = "server"; dns = false; };
};
};
main = {
vlan = 10;
dhcp = {
start = 1;
end = 250;
};
hosts = {
europa = {
role = "router";
aliases = [ "internal.kasear.net" ];
};
terra = {
role = "infraDevice";
hw-address = "48:a9:8a:2d:7f:34";
aliases = [ "core.kasear.net" ];
};
artemis = {
role = "infraDevice";
hw-address = "54:af:97:02:2f:15";
};
luna = {
role = "infraDevice";
hw-address = "30:23:03:48:4c:75";
};
phobos = {
role = "server";
hw-address = "10:98:36:a9:4a:26";
interface = "eno2";
aliases = [
"pbx.kasear.net"
"private.kasear.net"
];
};
printer = {
role = "printer";
hw-address = "84:25:19:60:de:1e";
aliases = [ "printer.kasear.net" ];
};
tv = {
role = "media";
hw-address = "00:18:dd:04:9b:a8";
aliases = [ "tv.kasear.net" ];
};
ip-phone = {
role = "phone";
hw-address = "80:5e:c0:de:3d:66";
};
};
};
guest = {
vlan = 20;
dhcp = {
start = 1;
end = 250;
};
hosts = {
europa-guest = {
role = "router";
};
};
};
iot = {
vlan = 30;
hosts = {
europa-iot = {
role = "router";
};
phobos-iot = {
role = "server";
hw-address = "10:98:36:a9:4a:26";
};
kitchen-echo = {
role = "appliance";
hw-address = "50:dc:e7:80:91:55";
};
bedroom-echo = {
role = "appliance";
hw-address = "f8:54:b8:21:f6:83";
};
lab-echo = {
role = "appliance";
hw-address = "08:84:9d:74:4d:c6";
};
camera1 = {
role = "camera";
hw-address = "9c:8e:cd:38:95:1f";
aliases = [ "camera1.kasear.net" ];
};
camera2 = {
role = "camera";
hw-address = "9c:8e:cd:38:95:15";
aliases = [ "camera2.kasear.net" ];
};
camera2-wifi = {
role = "camera";
hw-address = "9c:8e:cd:38:9a:fd";
};
samsung-tv = {
role = "appliance";
hw-address = "04:e4:b6:23:81:fc";
};
};
};
storage = {
vlan = 40;
dhcp = {
start = 1;
end = 250;
};
hosts = {
europa-storage = {
role = "router";
};
ganymede = {
role = "nas";
aliases = [ "storage.kasear.net" ];
};
};
};
management = {
vlan = 70;
hosts = {
deimos-idrac = {
role = "oobMgmt";
hw-address = "10:98:36:a0:2c:b3";
};
phobos-idrac = {
role = "oobMgmt";
hw-address = "10:98:36:a9:4a:27";
};
ganymede-idrac = {
role = "oobMgmt";
hw-address = "14:18:77:51:4b:b5";
};
};
};
};
};
# You can add these later if you want to match the bigger design:
# systems = { };
# consumers = { };
# policy = { };
}