This commit is contained in:
Yaro Kasear 2025-07-20 12:46:14 -05:00
parent 96cc5e9501
commit 9a5044959f
2 changed files with 183 additions and 1 deletions

183
test/meta.nix Normal file
View file

@ -0,0 +1,183 @@
{
locations = {
cloud = {
owner = "yaro";
subnets = {
dmz = {
systems = {
janus = {
primary = true;
macAddresses = [ "AA:BB:CC:DD:EE:FF" ];
};
};
};
main = {
systems = {
metatron = {
primary = true;
macAddresses = [ "11:22:33:44:55:66" ];
};
};
};
};
};
home = {
owner = "yaro";
subnets = {
open = {
managed = false;
systems = {
io = {
useDHCP = true;
macAddresses = [ "DD:DD:DD:DD:DD:DD" ];
};
};
};
dmz = {
isVLAN = true;
systems = {
io = {
primary = true;
macAddresses = [ "12:34:56:78:9A:BC" ];
};
europa = {
macAddresses = [ "FE:DC:BA:98:76:54" ];
};
deimos = {
primary = true;
macAddresses = [ "AA:AA:AA:AA:AA:AA" ];
};
};
};
main = {
users = [
"alice"
"bob"
];
isVLAN = true;
systems = {
europa = {
primary = true;
macAddresses = [ "BB:BB:BB:BB:BB:BB" ];
};
phobos = {
primary = true;
macAddresses = [ "CC:CC:CC:CC:CC:CC" ];
};
terra = {
primary = true;
macAddresses = [ "EE:EE:EE:EE:EE:EE" ];
};
};
};
};
};
};
systems = {
janus = {
owner = "yaro";
nixOS = true;
role = "infrastructure";
tags = [ "router" "linode" ];
services = [ "nginx-proxy" "headscale" ];
config = { ... }: {
# NixOS config here, or use a path to one.
};
};
metatron = {
owner = "yaro";
nixOS = true;
role = "server";
tags = [ "server" "linode" "upstream" ];
config = { ... }: {
# NixOS config here, or use a path to one.
};
};
io = {
owner = "yaro";
nixOS = true;
role = "infrastructure";
tags = [ "router" "downstream" ];
config = { ... }: {
# NixOS config here, or use a path to one.
};
};
europa = {
owner = "yaro";
nixOS = true;
role = "infrastructure";
tags = [ "router" "downstream" ];
config = { ... }: {
# NixOS config here, or use a path to one.
};
};
deimos = {
owner = "yaro";
nixOS = true;
role = "server";
tags = [ "server" ];
servicesPlane = "janus";
hostPlane = "deimos";
services = [
"nextcloud"
"yaro-site"
"vaultwarden"
"jellyfin"
"forgejo"
"headscale"
];
config = { ... }: {
# NixOS config here, or use a path to one.
};
};
phobos = {
owner = "yaro";
nixOS = true;
role = "server";
tags = [ "server" ];
servicesPlane = "deimos";
services = [
"mosquitto"
"home-assistant"
"sandbox"
"node-red"
];
config = { ... }: {
# NixOS config here, or use a path to one.
};
};
terra = {
owner = "yaro";
nixOS = false;
role = "infrastructure";
};
};
users = {
yaro = { };
alice = { };
bob = { };
};
group = {
userGroups = {
programmers = {
config = { ... }: {
# Home-manager config here, or use a path to one.
};
};
};
systemGroups = {
storage = {
services = [
"nfs"
"isci"
];
config = { ... }: {
# Home-manager config here, or use a path to one.
};
};
};
};
}