Compare commits
No commits in common. "6c98ef8944927310ccbba4603c57e4418a14dac8" and "df7e5953eb88809bb27de319b10e8d44640e8797" have entirely different histories.
6c98ef8944
...
df7e5953eb
@ -1,6 +1,5 @@
|
|||||||
{ lib, pkgs, config, assignments, allAssignments, ... }:
|
{ lib, pkgs, config, assignments, allAssignments, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) concatStringsSep;
|
|
||||||
inherit (lib.my.c) pubDomain;
|
inherit (lib.my.c) pubDomain;
|
||||||
inherit (lib.my.c.britway) prefixes domain;
|
inherit (lib.my.c.britway) prefixes domain;
|
||||||
|
|
||||||
@ -20,10 +19,6 @@ let
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
advRoutes = concatStringsSep "," [
|
|
||||||
lib.my.c.home.prefixes.all.v4
|
|
||||||
lib.my.c.home.prefixes.all.v6
|
|
||||||
];
|
|
||||||
pubNameservers = [
|
pubNameservers = [
|
||||||
"1.1.1.1"
|
"1.1.1.1"
|
||||||
"1.0.0.1"
|
"1.0.0.1"
|
||||||
@ -90,7 +85,6 @@ in
|
|||||||
"--login-server=https://hs.nul.ie"
|
"--login-server=https://hs.nul.ie"
|
||||||
"--netfilter-mode=off"
|
"--netfilter-mode=off"
|
||||||
"--advertise-exit-node"
|
"--advertise-exit-node"
|
||||||
"--advertise-routes=${advRoutes}"
|
|
||||||
"--accept-routes=false"
|
"--accept-routes=false"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
index: { lib, allAssignments, ... }:
|
index: { lib, allAssignments, ... }:
|
||||||
let
|
let
|
||||||
inherit (builtins) elemAt;
|
inherit (builtins) elemAt;
|
||||||
|
inherit (lib) concatStringsSep;
|
||||||
inherit (lib.my) net mkVLAN;
|
inherit (lib.my) net mkVLAN;
|
||||||
inherit (lib.my.c) pubDomain;
|
inherit (lib.my.c) pubDomain;
|
||||||
inherit (lib.my.c.home) domain vlans prefixes vips routers routersPubV4;
|
inherit (lib.my.c.home) domain vlans prefixes vips routers routersPubV4;
|
||||||
@ -150,6 +151,28 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
nginx.enable = true;
|
nginx.enable = true;
|
||||||
|
|
||||||
|
tailscale =
|
||||||
|
let
|
||||||
|
advRoutes = concatStringsSep "," [
|
||||||
|
prefixes.all.v4
|
||||||
|
prefixes.all.v6
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
authKeyFile = config.age.secrets."tailscale-auth.key".path;
|
||||||
|
openFirewall = true;
|
||||||
|
interfaceName = "tailscale0";
|
||||||
|
extraUpFlags = [
|
||||||
|
"--operator=${config.my.user.config.name}"
|
||||||
|
"--login-server=https://hs.nul.ie"
|
||||||
|
"--netfilter-mode=off"
|
||||||
|
"--advertise-exit-node"
|
||||||
|
"--advertise-routes=${advRoutes}"
|
||||||
|
"--accept-routes=false"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = { inherit domain; };
|
networking = { inherit domain; };
|
||||||
@ -281,15 +304,6 @@ in
|
|||||||
Destination = lib.my.c.colony.prefixes.all.v4;
|
Destination = lib.my.c.colony.prefixes.all.v4;
|
||||||
Gateway = allAssignments.estuary.as211024.ipv4.address;
|
Gateway = allAssignments.estuary.as211024.ipv4.address;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
Destination = lib.my.c.tailscale.prefix.v4;
|
|
||||||
Gateway = allAssignments.britway.as211024.ipv4.address;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Destination = lib.my.c.tailscale.prefix.v6;
|
|
||||||
Gateway = allAssignments.britway.as211024.ipv6.address;
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@ -316,6 +330,7 @@ in
|
|||||||
secrets = {
|
secrets = {
|
||||||
files = {
|
files = {
|
||||||
"l2mesh/as211024.key" = {};
|
"l2mesh/as211024.key" = {};
|
||||||
|
"tailscale-auth.key" = {};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -325,7 +340,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
firewall = {
|
firewall = {
|
||||||
trustedInterfaces = [ "lan-hi" "lan-lo" ];
|
trustedInterfaces = [ "lan-hi" "lan-lo" "tailscale0" ];
|
||||||
udp.allowed = [ 5353 ];
|
udp.allowed = [ 5353 ];
|
||||||
tcp.allowed = [ 5353 ];
|
tcp.allowed = [ 5353 ];
|
||||||
nat = {
|
nat = {
|
||||||
|
@ -61,7 +61,12 @@ in
|
|||||||
v6Alive = pingScriptFor "v6" [ "2606:4700:4700::1111" "2001:4860:4860::8888" "2600::" ];
|
v6Alive = pingScriptFor "v6" [ "2606:4700:4700::1111" "2001:4860:4860::8888" "2600::" ];
|
||||||
};
|
};
|
||||||
vrrpInstances = {
|
vrrpInstances = {
|
||||||
v4 = mkVRRP "v4" 51;
|
v4 = mkVRRP "v4" 51 // {
|
||||||
|
extraConfig = ''
|
||||||
|
notify_master "${config.systemd.package}/bin/systemctl start tailscaled.service" root
|
||||||
|
notify_backup "${config.systemd.package}/bin/systemctl stop tailscaled.service" root
|
||||||
|
'';
|
||||||
|
};
|
||||||
v6 = (mkVRRP "v6" 52) // {
|
v6 = (mkVRRP "v6" 52) // {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
notify_master "${config.systemd.package}/bin/systemctl start radvd.service" root
|
notify_master "${config.systemd.package}/bin/systemctl start radvd.service" root
|
||||||
|
@ -5,15 +5,7 @@ let
|
|||||||
|
|
||||||
cfg = config.my.nvme;
|
cfg = config.my.nvme;
|
||||||
nvme-cli = pkgs.nvme-cli.override {
|
nvme-cli = pkgs.nvme-cli.override {
|
||||||
libnvme = pkgs.libnvme.overrideAttrs (o: rec {
|
libnvme = pkgs.libnvme.overrideAttrs (o: {
|
||||||
# TODO: Remove when 1.11.1 releases (see https://github.com/linux-nvme/libnvme/pull/914)
|
|
||||||
version = "1.11.1";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "linux-nvme";
|
|
||||||
repo = "libnvme";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-CEGr7PDOVRi210XvICH8iLYDKn8S9bGruBO4tycvsT8=";
|
|
||||||
};
|
|
||||||
patches = (if (o ? patches) then o.patches else [ ]) ++ [ ./libnvme-hostconf.patch ];
|
patches = (if (o ? patches) then o.patches else [ ]) ++ [ ./libnvme-hostconf.patch ];
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IERMTWVGZyByYlJn
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IERMTWVGZyBtay96
|
||||||
aERLcEhadS9jVUlyUmgxWEk5K0U2cE9WUlhCc0ZXbzhDRnZLTERvCmo2Vy9XeFhq
|
encxaVJmQWhqenRmVjZkdDVFdnNINENTT0RLUGxsUkdoK1pvMjBjCjUycDh3ZTAr
|
||||||
NTcwdG5PZjlDb1JIM3BYWEVzMlBFWHFmRWt2dkF2OEQ2TDQKLT4gc3NoLWVkMjU1
|
QnN5MkdaY1ozR1pRNGVVL0pQZWtYMXd0dlo3cnNiQWhjSkUKLT4gc3NoLWVkMjU1
|
||||||
MTkgT0VxTXNnIHROaUlGUExERTZFaU5QL3dBcFpQVWNobGQwSEZ1YTU3NXJkekRi
|
MTkgWk5xSW9nIDIvNFZURjZQeW4wRkpqZS9YRXhhRFYwMmx3Mks4czJidFo3elht
|
||||||
c0RUMGsKUHg4V0hIdFJ0aGxwOTFhaVB6MUdVWE0wUFgrMjI2am5uZlhWL09ObjhB
|
ZVhBejQKTXpqUGVHcytSbENoc3hQZ01wcXBQMklMNU1XTnp4TmtvenFoaGphS3Qz
|
||||||
VQotPiBYMjU1MTkgTWwyQjZjcUFYQ01KUHpoajRrVkpZd0czSzVrMTZxdjVHaHRh
|
MAotPiBzc2gtZWQyNTUxOSBzK3FSZmcgV2J4TlhYQXVwdisyWmF1QTkzUXUvNEVt
|
||||||
bERCSjBqSQpYOXJibDZPM2Z6bkNCSGpMRExZT21UTzU0N0RiT2FNM0l3N1pnRkl6
|
ZTRoM0ppQVdFZDFsUCtYbnlUUQpqWmYxYTZ3ZnFVYk5SSWN5QUt4MFlUMFFrdDUx
|
||||||
WUJBCi0+IE0qLWdyZWFzZSB6TDVwIGRiQm0gajFFIEVqUXcKU3pEOFBqRVQ0dDZi
|
MjF6b1lDbkVaMElnLzNNCi0+IHNzaC1lZDI1NTE5IE9FcU1zZyByNWNDQkRmMHlD
|
||||||
REszS1h0T2FnOFF6cHBrN2xtOHdEQkIrCi0tLSBTM3EwNHhDaEo1eldDOTN5dzQz
|
NFExRVk3MHhjYnREcXh2ZmVDMnNEaE5lWks2azlHTEVnCnNXQm94eTJPVk1mYmxZ
|
||||||
Q3Rpeno1K25KRU15L01wU21tczNmdlVJCqHBdFLovtLJGH9IY86pvc3xhpoLnfI/
|
U1RqRTE1bDVHNFY2c0VQS1QyQWx6TGRYL01HRzAKLT4gWDI1NTE5IFMrZnlnNTQ1
|
||||||
OVAF5RdpR9T2oNCr3oAiVURkPocYXLHnbjZhLKoj3uDoSZAE52VN9l05jhyX1wwY
|
UFdQZ0RnRUdiMkNTaXhjRnVFcUpULzJveFNyd2FGcmVJaDAKU2hzZ0NxYzU4ZEgv
|
||||||
/Vfnp48kP8xfbQ==
|
VnRqNlJIRmFHSisyWWlaTGVtbDFITHljWGt2b0V3bwotPiBbNFpCbn0tZ3JlYXNl
|
||||||
|
IDxDeCBKbiBBP0ImJCBQClJBV2gwUy9ldUU0MUFPczFRTXVEeHR4akZqTEEKLS0t
|
||||||
|
IFY1Z0V5Z1Z2U0Q4alFmaFV5bnY3QjRxOTlkTWRRL0hVTlRiWWk2MWdXdVkKS8oI
|
||||||
|
z3Eyu1ZdBwLrTINoorZTBBgx8vp5iIdUevCg4dyH3WnkW/DHXZuuRGSH6xiSAroH
|
||||||
|
JI5toFkwp3ZHWcodcYNvyP7ECRBsTyuCk7aRPgnZ
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
Loading…
x
Reference in New Issue
Block a user