Skip to content

Commit

Permalink
nixos/k3s: add nftables to Path of k3s service (#360796)
Browse files Browse the repository at this point in the history
  • Loading branch information
marcusramberg authored Dec 9, 2024
2 parents f9f5919 + 7ece479 commit 37da609
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
25 changes: 25 additions & 0 deletions nixos/modules/services/cluster/k3s/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,22 @@ in
for further information.
'';
};

extraKubeProxyConfig = lib.mkOption {
type = with lib.types; attrsOf anything;
default = { };
example = {
mode = "nftables";
clientConnection.kubeconfig = "/var/lib/rancher/k3s/agent/kubeproxy.kubeconfig";
};
description = ''
Extra configuration to add to the kube-proxy's configuration file. The subset of the kube-proxy's
configuration that can be configured via a file is defined by the
[KubeProxyConfiguration](https://kubernetes.io/docs/reference/config-api/kube-proxy-config.v1alpha1/)
struct. Note that the kubeconfig param will be override by `clientConnection.kubeconfig`, so you must
set the `clientConnection.kubeconfig` if you want to use `extraKubeProxyConfig`.
'';
};
};

# implementation
Expand Down Expand Up @@ -486,6 +502,14 @@ in
}
// kubeletParams
);

kubeProxyConfig = (pkgs.formats.yaml { }).generate "k3s-kubeProxy-config" (
{
apiVersion = "kubeproxy.config.k8s.io/v1alpha1";
kind = "KubeProxyConfiguration";
}
// cfg.extraKubeProxyConfig
);
in
{
description = "k3s service";
Expand Down Expand Up @@ -521,6 +545,7 @@ in
++ (lib.optional (cfg.tokenFile != null) "--token-file ${cfg.tokenFile}")
++ (lib.optional (cfg.configPath != null) "--config ${cfg.configPath}")
++ (lib.optional (kubeletParams != { }) "--kubelet-arg=config=${kubeletConfig}")
++ (lib.optional (cfg.extraKubeProxyConfig != { }) "--kube-proxy-arg=config=${kubeProxyConfig}")
++ (lib.flatten cfg.extraFlags)
);
};
Expand Down
2 changes: 2 additions & 0 deletions pkgs/applications/networking/cluster/k3s/builder.nix
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ lib:
iproute2,
ipset,
iptables,
nftables,
kmod,
lib,
libseccomp,
Expand Down Expand Up @@ -362,6 +363,7 @@ buildGoModule rec {
kmod
socat
iptables
nftables
iproute2
ipset
bridge-utils
Expand Down

0 comments on commit 37da609

Please sign in to comment.