From f6d0b014fe1db9e6edec5485f41a1162136c8a70 Mon Sep 17 00:00:00 2001 From: pennae Date: Sun, 5 Dec 2021 20:48:56 +0100 Subject: [PATCH] nixos/kubernetes: add defaultText for addons options using top.* the kubernetes modules cross-reference their config using an additional shortcut binding `top = config.services.kubernetes`, expand those to defaultText like `cfg` previously. --- nixos/modules/services/cluster/kubernetes/apiserver.nix | 7 ++++++- .../services/cluster/kubernetes/controller-manager.nix | 6 +++++- nixos/modules/services/cluster/kubernetes/kubelet.nix | 3 +++ nixos/modules/services/cluster/kubernetes/proxy.nix | 4 +++- nixos/modules/services/cluster/kubernetes/scheduler.nix | 4 +++- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixos/modules/services/cluster/kubernetes/apiserver.nix index 2c89310beb5a..5b97c571d763 100644 --- a/nixos/modules/services/cluster/kubernetes/apiserver.nix +++ b/nixos/modules/services/cluster/kubernetes/apiserver.nix @@ -1,9 +1,10 @@ - { config, lib, pkgs, ... }: + { config, lib, options, pkgs, ... }: with lib; let top = config.services.kubernetes; + otop = options.services.kubernetes; cfg = top.apiserver; isRBACEnabled = elem "RBAC" cfg.authorizationMode; @@ -84,6 +85,7 @@ in clientCaFile = mkOption { description = "Kubernetes apiserver CA file for client auth."; default = top.caFile; + defaultText = literalExpression "config.${otop.caFile}"; type = nullOr path; }; @@ -138,6 +140,7 @@ in caFile = mkOption { description = "Etcd ca file."; default = top.caFile; + defaultText = literalExpression "config.${otop.caFile}"; type = types.nullOr types.path; }; }; @@ -157,6 +160,7 @@ in featureGates = mkOption { description = "List set of feature gates"; default = top.featureGates; + defaultText = literalExpression "config.${otop.featureGates}"; type = listOf str; }; @@ -175,6 +179,7 @@ in kubeletClientCaFile = mkOption { description = "Path to a cert file for connecting to kubelet."; default = top.caFile; + defaultText = literalExpression "config.${otop.caFile}"; type = nullOr path; }; diff --git a/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixos/modules/services/cluster/kubernetes/controller-manager.nix index 7128b5f70b1a..ed25715fab7d 100644 --- a/nixos/modules/services/cluster/kubernetes/controller-manager.nix +++ b/nixos/modules/services/cluster/kubernetes/controller-manager.nix @@ -1,9 +1,10 @@ -{ config, lib, pkgs, ... }: +{ config, lib, options, pkgs, ... }: with lib; let top = config.services.kubernetes; + otop = options.services.kubernetes; cfg = top.controllerManager; in { @@ -30,6 +31,7 @@ in clusterCidr = mkOption { description = "Kubernetes CIDR Range for Pods in cluster."; default = top.clusterCidr; + defaultText = literalExpression "config.${otop.clusterCidr}"; type = str; }; @@ -44,6 +46,7 @@ in featureGates = mkOption { description = "List set of feature gates"; default = top.featureGates; + defaultText = literalExpression "config.${otop.featureGates}"; type = listOf str; }; @@ -67,6 +70,7 @@ in service account's token secret. ''; default = top.caFile; + defaultText = literalExpression "config.${otop.caFile}"; type = nullOr path; }; diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix index 7ecc4fd45b77..4c00e162efa8 100644 --- a/nixos/modules/services/cluster/kubernetes/kubelet.nix +++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix @@ -4,6 +4,7 @@ with lib; let top = config.services.kubernetes; + otop = options.services.kubernetes; cfg = top.kubelet; cniConfig = @@ -83,6 +84,7 @@ in clientCaFile = mkOption { description = "Kubernetes apiserver CA file for client authentication."; default = top.caFile; + defaultText = literalExpression "config.${otop.caFile}"; type = nullOr path; }; @@ -149,6 +151,7 @@ in featureGates = mkOption { description = "List set of feature gates"; default = top.featureGates; + defaultText = literalExpression "config.${otop.featureGates}"; type = listOf str; }; diff --git a/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixos/modules/services/cluster/kubernetes/proxy.nix index a92043d52597..3f3683650a4f 100644 --- a/nixos/modules/services/cluster/kubernetes/proxy.nix +++ b/nixos/modules/services/cluster/kubernetes/proxy.nix @@ -1,9 +1,10 @@ -{ config, lib, pkgs, ... }: +{ config, lib, options, pkgs, ... }: with lib; let top = config.services.kubernetes; + otop = options.services.kubernetes; cfg = top.proxy; in { @@ -31,6 +32,7 @@ in featureGates = mkOption { description = "List set of feature gates"; default = top.featureGates; + defaultText = literalExpression "config.${otop.featureGates}"; type = listOf str; }; diff --git a/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixos/modules/services/cluster/kubernetes/scheduler.nix index 1b0c22a11426..87263ee72fa4 100644 --- a/nixos/modules/services/cluster/kubernetes/scheduler.nix +++ b/nixos/modules/services/cluster/kubernetes/scheduler.nix @@ -1,9 +1,10 @@ -{ config, lib, pkgs, ... }: +{ config, lib, options, pkgs, ... }: with lib; let top = config.services.kubernetes; + otop = options.services.kubernetes; cfg = top.scheduler; in { @@ -27,6 +28,7 @@ in featureGates = mkOption { description = "List set of feature gates"; default = top.featureGates; + defaultText = literalExpression "config.${otop.featureGates}"; type = listOf str; };