2023-04-14 14:12:45 +03:00
|
|
|
rec {
|
2023-07-24 16:31:38 +03:00
|
|
|
uidgid = {
|
|
|
|
motiejus = 1000;
|
|
|
|
|
|
|
|
gitea = 995;
|
2023-07-30 05:49:54 +03:00
|
|
|
updaterbot-deployer = 501;
|
|
|
|
updaterbot-deployee = 502;
|
2023-08-25 09:55:21 +03:00
|
|
|
|
|
|
|
# the underscore differentiates "our" user from the
|
|
|
|
# "upstream" user. We need a way to configure the uidgid,
|
|
|
|
# so creating users explicitly.
|
|
|
|
node_exporter = 503;
|
2023-09-11 15:51:33 +03:00
|
|
|
|
|
|
|
borgstor = 504;
|
2023-09-12 13:31:46 +03:00
|
|
|
|
|
|
|
jakstpub = 505;
|
2023-09-23 22:56:23 +03:00
|
|
|
|
|
|
|
certget = 506;
|
2023-07-24 16:31:38 +03:00
|
|
|
};
|
|
|
|
|
2023-08-05 18:28:59 +03:00
|
|
|
ports = {
|
|
|
|
grafana = 3000;
|
2023-08-25 09:41:42 +03:00
|
|
|
gitea = 3001;
|
2023-09-07 08:29:14 +03:00
|
|
|
|
|
|
|
# not necessary from vaultwarden 1.29.0
|
|
|
|
vaultwarden_ws = 3012;
|
|
|
|
|
2023-08-22 14:26:47 +03:00
|
|
|
soju = 6697;
|
2023-08-25 16:14:12 +03:00
|
|
|
matrix-synapse = 8008;
|
2023-09-07 08:29:14 +03:00
|
|
|
vaultwarden = 8222;
|
2023-08-25 16:14:12 +03:00
|
|
|
kodi = 8080;
|
2023-11-14 09:01:02 +02:00
|
|
|
hass = 8123;
|
2023-08-25 16:14:12 +03:00
|
|
|
prometheus = 9001;
|
2023-09-14 14:51:36 +03:00
|
|
|
tailscale = 41641;
|
2023-08-25 16:14:12 +03:00
|
|
|
exporters.node = 9002;
|
2023-09-06 17:44:30 +03:00
|
|
|
|
|
|
|
# non-configurable in caddy as of 2023-09-06
|
|
|
|
exporters.caddy = 2019;
|
2023-08-05 18:28:59 +03:00
|
|
|
};
|
|
|
|
|
2023-07-23 15:23:09 +03:00
|
|
|
people_pubkeys = {
|
2023-10-06 08:58:28 +03:00
|
|
|
motiejus_work = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBttrJeH3Emu2PL/SJ5ccZxHdDsgV65FFED6/jZC8C/f";
|
2023-04-14 14:12:45 +03:00
|
|
|
motiejus = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+qpaaD+FCYPcUU1ONbw/ff5j0xXu5DNvp/4qZH/vOYwG13uDdfI5ISYPs8zNaVcFuEDgNxWorVPwDw4p6+1JwRLlhO4J/5tE1w8Gt6C7y76LRWnp0rCdva5vL3xMozxYIWVOAiN131eyirV2FdOaqTwPy4ouNMmBFbibLQwBna89tbFMG/jwR7Cxt1I6UiYOuCXIocI5YUbXlsXoK9gr5yBRoTjl2OfH2itGYHz9xQCswvatmqrnteubAbkb6IUFYz184rnlVntuZLwzM99ezcG4v8/485gWkotTkOgQIrGNKgOA7UNKpQNbrwdPAMugqfSTo6g8fEvy0Q+6OXdxw5X7en2TJE+BLVaXp4pVMdOAzKF0nnssn64sRhsrUtFIjNGmOWBOR2gGokaJcM6x9R72qxucuG5054pSibs32BkPEg6Qzp+Bh77C3vUmC94YLVg6pazHhLroYSP1xQjfOvXyLxXB1s9rwJcO+s4kqmInft2weyhfaFE0Bjcoc+1/dKuQYfPCPSB//4zvktxTXud80zwWzMy91Q4ucRrHTBz3PrhO8ys74aSGnKOiG3ccD3HbaT0Ff4qmtIwHcAjrnNlINAcH/A2mpi0/2xA7T8WpFnvgtkQbcMF0kEKGnNS5ULZXP/LC8BlLXxwPdqTzvKikkTb661j4PhJhinhVwnQ==";
|
|
|
|
};
|
|
|
|
|
2023-07-23 15:02:58 +03:00
|
|
|
hosts = {
|
2023-07-28 14:20:50 +03:00
|
|
|
"vno1-oh2.servers.jakst" = rec {
|
2023-08-25 19:52:41 +03:00
|
|
|
extraHostNames = [
|
|
|
|
"dl.jakstys.lt"
|
|
|
|
"git.jakstys.lt"
|
2023-10-09 23:03:29 +03:00
|
|
|
"irc.jakstys.lt"
|
2023-08-25 19:52:41 +03:00
|
|
|
"vno1-oh2.jakstys.lt"
|
|
|
|
"jakstys.lt"
|
|
|
|
"www.jakstys.lt"
|
|
|
|
"vpn.jakstys.lt"
|
|
|
|
publicIP
|
|
|
|
jakstIP
|
|
|
|
];
|
2023-07-23 15:33:57 +03:00
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHtYsaht57g2sp6UmLHqsCK+fHjiiZ0rmGceFmFt88pY";
|
2023-07-24 13:00:26 +03:00
|
|
|
initrdPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKns3+EIPqKeoB5OIxANIkppb5ICOmkW8X1DOKJPeRWr";
|
2023-07-24 12:31:06 +03:00
|
|
|
publicIP = "88.223.107.21";
|
2023-07-26 11:36:54 +03:00
|
|
|
jakstIP = "100.89.176.4";
|
2023-04-14 14:12:45 +03:00
|
|
|
};
|
2023-09-14 13:27:05 +03:00
|
|
|
"vno3-rp3b.servers.jakst" = rec {
|
2023-08-16 20:15:01 +03:00
|
|
|
extraHostNames = [jakstIP];
|
2023-08-16 15:58:35 +03:00
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBudUFFEBpUVdr26vLJup8Hk6wj1iDbOPPQnJbv6GUGC";
|
2023-08-16 16:48:01 +03:00
|
|
|
jakstIP = "100.89.176.2";
|
2023-08-16 15:58:35 +03:00
|
|
|
};
|
2023-08-26 07:18:27 +03:00
|
|
|
"fra1-a.servers.jakst" = rec {
|
|
|
|
extraHostNames = ["fra1-a.jakstys.lt" publicIP jakstIP];
|
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFj9Ktw9SZQlHe/Pl5MI7PRUcCyTgZgZ0SsvWUmO0wBM";
|
2023-08-26 23:45:03 +03:00
|
|
|
initrdPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGtYwVhfmdHRK8YcaRQ3JGSIOK55lEMNSPh33Z0iI+pO";
|
2023-08-26 07:18:27 +03:00
|
|
|
publicIP = "168.119.184.134";
|
|
|
|
jakstIP = "100.89.176.5";
|
|
|
|
};
|
2023-10-06 08:58:28 +03:00
|
|
|
"mtwork.motiejus.jakst" = rec {
|
|
|
|
extraHostNames = [jakstIP];
|
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHlWSZ/H6DR5i5aCrlrEQLVF9MXNvls/pjlLPLaav3f+";
|
|
|
|
jakstIP = "100.89.176.11";
|
|
|
|
};
|
2023-09-15 15:44:19 +03:00
|
|
|
"fwminex.motiejus.jakst" = rec {
|
2023-09-18 19:50:24 +03:00
|
|
|
extraHostNames = [jakstIP vno1IP];
|
2023-09-15 13:23:52 +03:00
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHlWSZ/H6DR5i5aCrlrEQLVF9MXNvls/pjlLPLaav3f+";
|
2023-07-26 11:36:54 +03:00
|
|
|
jakstIP = "100.89.176.6";
|
2023-09-18 19:31:45 +03:00
|
|
|
vno1IP = "192.168.189.10";
|
2023-07-26 11:36:54 +03:00
|
|
|
};
|
|
|
|
"mxp10.motiejus.jakst" = {
|
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIy9IR7Jq3hRZ5JgwfmeCgSKFrdgujnZt79uxDPVi3tu";
|
|
|
|
jakstIP = "100.89.176.1";
|
2023-04-14 14:12:45 +03:00
|
|
|
};
|
|
|
|
"zh2769.rsync.net" = {
|
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJtclizeBy1Uo3D86HpgD3LONGVH0CJ0NT+YfZlldAJd";
|
|
|
|
};
|
|
|
|
"github.com" = {
|
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl";
|
|
|
|
};
|
|
|
|
"git.sr.ht" = {
|
|
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-09-12 15:46:44 +03:00
|
|
|
# copied from nixpkgs/lib/attrsets.nix
|
|
|
|
attrVals = nameList: set: map (x: set.${x}) nameList;
|
|
|
|
|
2023-09-12 16:08:08 +03:00
|
|
|
subnets = {
|
|
|
|
tailscale = {
|
|
|
|
cidr = "100.89.176.0/20";
|
|
|
|
range = "100.89.176.0-100.89.191.255";
|
|
|
|
sshPattern = "100.89.176.?"; # until we have more hosts
|
|
|
|
};
|
|
|
|
motiejus.cidrs = let
|
2023-09-12 23:10:59 +03:00
|
|
|
mHosts =
|
2023-09-12 16:08:08 +03:00
|
|
|
attrVals [
|
2023-09-12 23:10:59 +03:00
|
|
|
"mxp10.motiejus.jakst"
|
2023-09-15 13:23:52 +03:00
|
|
|
"fwminex.motiejus.jakst"
|
2023-09-12 16:08:08 +03:00
|
|
|
]
|
|
|
|
hosts;
|
2023-09-12 23:10:59 +03:00
|
|
|
in
|
|
|
|
builtins.catAttrs "jakstIP" mHosts;
|
2023-09-12 15:46:44 +03:00
|
|
|
|
2023-09-18 20:49:17 +03:00
|
|
|
vno1 = {
|
|
|
|
cidr = "192.168.189.0/24";
|
|
|
|
sshPattern = "192.168.189.?";
|
|
|
|
};
|
2023-09-14 13:23:04 +03:00
|
|
|
vno3.cidr = "192.168.100.0/24";
|
2023-04-14 14:12:45 +03:00
|
|
|
};
|
|
|
|
|
2023-07-24 12:31:06 +03:00
|
|
|
jakstysLTZone = let
|
2023-08-27 00:46:12 +03:00
|
|
|
fra1a = hosts."fra1-a.servers.jakst".publicIP;
|
2023-07-24 12:31:06 +03:00
|
|
|
vno1 = hosts."vno1-oh2.servers.jakst".publicIP;
|
|
|
|
in ''
|
2023-04-14 14:12:45 +03:00
|
|
|
$ORIGIN jakstys.lt.
|
|
|
|
$TTL 86400
|
2023-10-08 16:27:47 +03:00
|
|
|
@ SOA ns1.jakstys.lt. motiejus.jakstys.lt. (2023100800 86400 86400 86400 86400)
|
2023-08-24 23:08:09 +03:00
|
|
|
@ NS ns1.jakstys.lt.
|
|
|
|
@ NS ns2.jakstys.lt.
|
2023-10-08 16:27:47 +03:00
|
|
|
@ 600 A ${vno1}
|
|
|
|
www 600 A ${vno1}
|
2023-08-24 23:08:09 +03:00
|
|
|
ns1 A ${vno1}
|
2023-08-27 00:36:11 +03:00
|
|
|
ns2 A ${fra1a}
|
2023-10-08 16:27:47 +03:00
|
|
|
vpn 600 A ${vno1}
|
|
|
|
git 600 A ${vno1}
|
2023-08-25 10:35:49 +03:00
|
|
|
auth A ${vno1}
|
2023-08-24 23:08:09 +03:00
|
|
|
dl A ${vno1}
|
2023-08-26 07:18:27 +03:00
|
|
|
fra1-a A ${fra1a}
|
2023-08-24 23:08:09 +03:00
|
|
|
vno1 A ${vno1}
|
2023-08-07 00:59:51 +03:00
|
|
|
|
2023-08-24 23:08:09 +03:00
|
|
|
@ MX 10 aspmx.l.google.com.
|
|
|
|
@ MX 20 alt1.aspmx.l.google.com.
|
|
|
|
@ MX 20 alt2.aspmx.l.google.com.
|
|
|
|
@ MX 30 aspmx2.googlemail.com.
|
|
|
|
@ MX 30 aspmx3.googlemail.com.
|
2023-08-07 00:59:51 +03:00
|
|
|
|
2023-08-24 23:08:09 +03:00
|
|
|
grafana A ${hosts."vno1-oh2.servers.jakst".jakstIP}
|
|
|
|
_acme-challenge.grafana CNAME _acme-endpoint.grafana
|
|
|
|
_acme-endpoint.grafana NS ns._acme-endpoint.grafana
|
|
|
|
ns._acme-endpoint.grafana A ${vno1}
|
2023-08-22 14:23:18 +03:00
|
|
|
|
2023-08-24 23:08:09 +03:00
|
|
|
irc A ${hosts."vno1-oh2.servers.jakst".jakstIP}
|
|
|
|
_acme-challenge.irc CNAME _acme-endpoint.irc
|
|
|
|
_acme-endpoint.irc NS ns._acme-endpoint.irc
|
|
|
|
ns._acme-endpoint.irc A ${vno1}
|
2023-09-07 08:06:51 +03:00
|
|
|
|
2023-11-14 09:01:02 +02:00
|
|
|
hass A ${hosts."vno1-oh2.servers.jakst".jakstIP}
|
|
|
|
_acme-challenge.hass CNAME _acme-endpoint.hass
|
|
|
|
_acme-endpoint.hass NS ns._acme-endpoint.hass
|
|
|
|
ns._acme-endpoint.hass A ${vno1}
|
|
|
|
|
2023-09-07 08:06:51 +03:00
|
|
|
bitwarden A ${hosts."vno1-oh2.servers.jakst".jakstIP}
|
|
|
|
_acme-challenge.bitwarden CNAME _acme-endpoint.bitwarden
|
|
|
|
_acme-endpoint.bitwarden NS ns._acme-endpoint.bitwarden
|
|
|
|
ns._acme-endpoint.bitwarden A ${vno1}
|
2023-09-23 22:19:26 +03:00
|
|
|
|
|
|
|
hdd A ${hosts."vno3-rp3b.servers.jakst".jakstIP}
|
|
|
|
_acme-challenge.hdd CNAME _acme-endpoint.hdd
|
|
|
|
_acme-endpoint.hdd NS ns._acme-endpoint.hdd
|
|
|
|
ns._acme-endpoint.hdd A ${vno1}
|
2023-04-14 14:12:45 +03:00
|
|
|
'';
|
2023-04-05 09:15:02 +03:00
|
|
|
}
|