diff --git a/nixinfra/commons.agent.nix b/nixinfra/commons.agent.nix index d97518c..0d9e791 100644 --- a/nixinfra/commons.agent.nix +++ b/nixinfra/commons.agent.nix @@ -10,28 +10,44 @@ in { enable = true; description = "KittehCluster's modified k3s service"; + # From L324: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/cluster/k3s/builder.nix + path = with pkgs; [ + kmod + socat + iptables + iproute2 + ipset + bridge-utils + ethtool + util-linux + conntrack-tools + runc + bash + ]; + serviceConfig = { Type = "simple"; ExecStart = pkgs.writeShellScript "k3s-hack" '' if [ ! -d "/tmp/k3shack" ]; then # Manually recreate the symlinks. Don't @ me. mkdir /tmp/k3shack - - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/containerd - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/crictl - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/ctr - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-agent - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-certificate - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-completion - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-etcd-snapshot - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-secrets-encrypt - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-server - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-token - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/kubectl + + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/containerd + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/crictl + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/ctr + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-agent + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-certificate + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-completion + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-etcd-snapshot + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-secrets-encrypt + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-server + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-token + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/kubectl + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s fi export PATH=$PATH:/tmp/k3shack - ${pkgs.k3s}/bin/k3s agent --token ${k3s_token} --server https://kitteh-node-1-k3s-server:6443 + k3s agent --token ${k3s_token} --server https://kitteh-node-1-k3s-server:6443 ''; }; }; diff --git a/nixinfra/commons.nix b/nixinfra/commons.nix index 9f559e9..962fbd9 100644 --- a/nixinfra/commons.nix +++ b/nixinfra/commons.nix @@ -40,6 +40,8 @@ in { wantedBy = ["network-online.target"]; }; + + networking.networkmanager.enable = true; services.openssh = { diff --git a/nixinfra/commons.server.nix b/nixinfra/commons.server.nix index 24bd832..1ce7e5f 100644 --- a/nixinfra/commons.server.nix +++ b/nixinfra/commons.server.nix @@ -10,28 +10,44 @@ in { enable = true; description = "KittehCluster's modified k3s service"; + # From L324: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/cluster/k3s/builder.nix + path = with pkgs; [ + kmod + socat + iptables + iproute2 + ipset + bridge-utils + ethtool + util-linux + conntrack-tools + runc + bash + ]; + serviceConfig = { Type = "simple"; ExecStart = pkgs.writeShellScript "k3s-hack" '' if [ ! -d "/tmp/k3shack" ]; then # Manually recreate the symlinks. Don't @ me. mkdir /tmp/k3shack - - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/containerd - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/crictl - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/ctr - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-agent - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-certificate - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-completion - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-etcd-snapshot - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-secrets-encrypt - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-server - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-token - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/kubectl + + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/containerd + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/crictl + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/ctr + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-agent + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-certificate + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-completion + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-etcd-snapshot + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-secrets-encrypt + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-server + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-token + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/kubectl + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s fi export PATH=$PATH:/tmp/k3shack - ${pkgs.k3s}/bin/k3s server --token ${k3s_token} --server https://kitteh-node-1-k3s-server:6443 --disable servicelb + k3s server --token ${k3s_token} --server https://kitteh-node-1-k3s-server:6443 --disable servicelb ''; }; }; diff --git a/nixinfra/kitteh-node-1/server.nix b/nixinfra/kitteh-node-1/server.nix index c0563b6..6140092 100644 --- a/nixinfra/kitteh-node-1/server.nix +++ b/nixinfra/kitteh-node-1/server.nix @@ -16,6 +16,21 @@ in { enable = true; description = "KittehCluster's modified k3s service"; + # From L324: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/cluster/k3s/builder.nix + path = with pkgs; [ + kmod + socat + iptables + iproute2 + ipset + bridge-utils + ethtool + util-linux + conntrack-tools + runc + bash + ]; + serviceConfig = { Type = "simple"; ExecStart = pkgs.writeShellScript "k3s-hack" '' @@ -23,21 +38,22 @@ in { # Manually recreate the symlinks. Don't @ me. mkdir /tmp/k3shack - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/containerd - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/crictl - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/ctr - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-agent - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-certificate - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-completion - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-etcd-snapshot - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-secrets-encrypt - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-server - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/k3s-token - ln -s ${pkgs.k3s}/bin/k3s /tmp/k3shack/kubectl + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/containerd + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/crictl + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/ctr + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-agent + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-certificate + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-completion + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-etcd-snapshot + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-secrets-encrypt + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-server + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s-token + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/kubectl + ln -s ${pkgs.k3s}/bin/.k3s-wrapped /tmp/k3shack/k3s fi export PATH=$PATH:/tmp/k3shack - ${pkgs.k3s}/bin/k3s server --cluster-init --token ${k3s_token} --disable servicelb + k3s server --cluster-init --token ${k3s_token} --disable servicelb ''; }; };