too lazy to think of a message, so enjoy this pointless text. Good luck future me...

This commit is contained in:
Chris Kruining 2025-09-18 16:27:09 +02:00
parent dc2663dbd6
commit 33aadaaecd
Signed by: chris
SSH key fingerprint: SHA256:nG82MUfuVdRVyCKKWqhY+pCrbz9nbX6uzUns4RKa1Pg
4 changed files with 48 additions and 29 deletions

View file

@ -16,7 +16,7 @@ in
# Server configuration # Server configuration
#============================================================================================================== #==============================================================================================================
roles.server = { roles.server = {
interface = { lib, ... }: interface = { lib, ... }:
let let
inherit (lib) mkOption types toString; inherit (lib) mkOption types toString;
in in
@ -35,30 +35,28 @@ in
perInstance = { instanceName, settings, machine, roles, ... }: { perInstance = { instanceName, settings, machine, roles, ... }: {
nixosModule = { config, pkgs, ... }: { nixosModule = { config, pkgs, ... }: {
clan.core.vars.generators = { clan.core.vars.generators.k3s = {
k3s = { share = false;
share = false; files = {
files = { ip_v6 = {
ip_v6 = { deploy = false;
deploy = false; secret = false;
secret = false; };
}; ip_v4 = {
ip_v4 = { deploy = false;
deploy = false; secret = false;
secret = false; };
}; token = {
token = { deploy = true;
deploy = true; secret = true;
secret = true;
};
}; };
runtimeInputs = with pkgs; [ pwgen ];
script = ''
echo "::1" > "$out/ip_v6"
echo "127.0.0.1" > "$out/ip_v4"
pwgen 50 1 > "$out/token"
'';
}; };
runtimeInputs = with pkgs; [ pwgen ];
script = ''
echo "::1" > "$out/ip_v6"
echo "127.0.0.1" > "$out/ip_v4"
pwgen 50 1 > "$out/token"
'';
}; };
networking.firewall = { networking.firewall = {
@ -95,7 +93,7 @@ in
}; };
perInstance = { instanceName, settings, machine, roles, ... }: { perInstance = { instanceName, settings, machine, roles, ... }: {
nixosModule = { config, ... }: nixosModule = { config, ... }:
let let
inherit (builtins) head pathExists readFile; inherit (builtins) head pathExists readFile;
@ -126,7 +124,7 @@ in
k3s = { k3s = {
enable = true; enable = true;
role = "agent"; role = "agent";
tokenFile = config.clan.core.vars.generators.k3s.files.token.path; tokenFile = "/var/lib/k3s/__TODO_FIGURE_OUT_TOKEN__"; #config.clan.core.vars.generators.k3s.files.token.path;
serverAddr = "https://${server}.${config.networking.domain}:6443"; serverAddr = "https://${server}.${config.networking.domain}:6443";
}; };
}; };

View file

@ -26,6 +26,18 @@
}; };
}; };
}; };
machines = {
node1 = {
networking.domain = "test.local";
};
node2 = {
networking.domain = "test.local";
};
node3 = {
networking.domain = "test.local";
};
};
}; };
nodes = { nodes = {
@ -37,4 +49,4 @@
testScript = '' testScript = ''
start_all() start_all()
''; '';
} }

View file

@ -19,7 +19,13 @@
input = "self"; input = "self";
}; };
roles.controller.machines."node1" = {}; roles.controller = {
machines."node1" = {};
settings = {
hostName = "test.local";
displayName = "Test";
};
};
roles.peer.machines."node2" = {}; roles.peer.machines."node2" = {};
roles.peer.machines."node3" = {}; roles.peer.machines."node3" = {};

View file

@ -52,10 +52,13 @@
}; };
}; };
perSystem = { system, ... }: { perSystem = { system, pkgs, ... }: {
devshells = { devshells = {
default = { default = {
packages = [ inputs.clan-core.packages.${system}.clan-cli ]; packages = [
pkgs.just
inputs.clan-core.packages.${system}.clan-cli
];
}; };
}; };
}; };