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
#==============================================================================================================
roles.server = {
interface = { lib, ... }:
interface = { lib, ... }:
let
inherit (lib) mkOption types toString;
in
@ -35,30 +35,28 @@ in
perInstance = { instanceName, settings, machine, roles, ... }: {
nixosModule = { config, pkgs, ... }: {
clan.core.vars.generators = {
k3s = {
share = false;
files = {
ip_v6 = {
deploy = false;
secret = false;
};
ip_v4 = {
deploy = false;
secret = false;
};
token = {
deploy = true;
secret = true;
};
clan.core.vars.generators.k3s = {
share = false;
files = {
ip_v6 = {
deploy = false;
secret = false;
};
ip_v4 = {
deploy = false;
secret = false;
};
token = {
deploy = 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 = {
@ -95,7 +93,7 @@ in
};
perInstance = { instanceName, settings, machine, roles, ... }: {
nixosModule = { config, ... }:
nixosModule = { config, ... }:
let
inherit (builtins) head pathExists readFile;
@ -126,7 +124,7 @@ in
k3s = {
enable = true;
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";
};
};

View file

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

View file

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