nixos/services.kubernetes.flannel: remove with lib;

This commit is contained in:
Felix Buehler
2024-08-27 20:42:53 +02:00
parent 2d4f871b1a
commit bff67892a7

View File

@@ -1,7 +1,4 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
top = config.services.kubernetes; top = config.services.kubernetes;
cfg = top.flannel; cfg = top.flannel;
@@ -12,28 +9,28 @@ in
{ {
###### interface ###### interface
options.services.kubernetes.flannel = { options.services.kubernetes.flannel = {
enable = mkEnableOption "flannel networking"; enable = lib.mkEnableOption "flannel networking";
openFirewallPorts = mkOption { openFirewallPorts = lib.mkOption {
description = '' description = ''
Whether to open the Flannel UDP ports in the firewall on all interfaces.''; Whether to open the Flannel UDP ports in the firewall on all interfaces.'';
type = types.bool; type = lib.types.bool;
default = true; default = true;
}; };
}; };
###### implementation ###### implementation
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.flannel = { services.flannel = {
enable = mkDefault true; enable = lib.mkDefault true;
network = mkDefault top.clusterCidr; network = lib.mkDefault top.clusterCidr;
inherit storageBackend; inherit storageBackend;
nodeName = config.services.kubernetes.kubelet.hostname; nodeName = config.services.kubernetes.kubelet.hostname;
}; };
services.kubernetes.kubelet = { services.kubernetes.kubelet = {
cni.config = mkDefault [{ cni.config = lib.mkDefault [{
name = "mynet"; name = "mynet";
type = "flannel"; type = "flannel";
cniVersion = "0.3.1"; cniVersion = "0.3.1";
@@ -45,7 +42,7 @@ in
}; };
networking = { networking = {
firewall.allowedUDPPorts = mkIf cfg.openFirewallPorts [ firewall.allowedUDPPorts = lib.mkIf cfg.openFirewallPorts [
8285 # flannel udp 8285 # flannel udp
8472 # flannel vxlan 8472 # flannel vxlan
]; ];
@@ -61,7 +58,7 @@ in
}; };
# give flannel some kubernetes rbac permissions if applicable # give flannel some kubernetes rbac permissions if applicable
services.kubernetes.addonManager.bootstrapAddons = mkIf ((storageBackend == "kubernetes") && (elem "RBAC" top.apiserver.authorizationMode)) { services.kubernetes.addonManager.bootstrapAddons = lib.mkIf ((storageBackend == "kubernetes") && (lib.elem "RBAC" top.apiserver.authorizationMode)) {
flannel-cr = { flannel-cr = {
apiVersion = "rbac.authorization.k8s.io/v1"; apiVersion = "rbac.authorization.k8s.io/v1";