more setting up
This commit is contained in:
parent
23e1bbe88a
commit
dfd604f73c
7 changed files with 141 additions and 73 deletions
51
clanServices/k3s/roles/server.nix
Normal file
51
clanServices/k3s/roles/server.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config = {
|
||||
clan.core.vars.generators = {
|
||||
k3s = {
|
||||
share = false;
|
||||
files = {
|
||||
ip_v6 = {
|
||||
deploy = false;
|
||||
secret = false;
|
||||
};
|
||||
ip_v4 = {
|
||||
deploy = false;
|
||||
secret = false;
|
||||
};
|
||||
token = {
|
||||
deploy = false;
|
||||
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"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [
|
||||
6443 # k3s: required so that pods can reach the API server (running on port 6443 by default)
|
||||
2379 # k3s, etcd clients: required if using a "High Availability Embedded etcd" configuration
|
||||
2380 # k3s, etcd peers: required if using a "High Availability Embedded etcd" configuration
|
||||
];
|
||||
|
||||
allowedUDPPorts = [
|
||||
8472 # k3s, flannel: required if using multi-node for inter-node networking
|
||||
];
|
||||
};
|
||||
|
||||
services = {
|
||||
k3s = {
|
||||
enable = true;
|
||||
role = "server";
|
||||
token = config.clan.core.vars.generators.k3s.token.value;
|
||||
clusterInit = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue