too lazy to think of a message, so enjoy this pointless text. Good luck future me...
This commit is contained in:
parent
dc2663dbd6
commit
33aadaaecd
4 changed files with 48 additions and 29 deletions
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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" = {};
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue