nixos/kubernetes: add extraConfig to kubelet config

Every now and then, kubernetes adds new configuration parameters to the
kubelet configuration. Since this is defined using a nix attrset which
is then converted to json/yaml, it would be nice to have an escape hatch
similar to the extraOpts one that exists for additional CLI arguments.
The typical use case would be to configure new settings before they are
officially supported in the nixos module.
This commit is contained in:
Tristan Gosselin-Hane 2024-08-30 22:12:40 -04:00
parent 4b52ee1214
commit 5a03aa5a45
2 changed files with 9 additions and 0 deletions

View File

@ -397,6 +397,8 @@
- Kanidm previously had an incorrect systemd service type, causing dependent units with an `after` and `requires` directive to start before `kanidm*` finished startup. The module has now been updated in line with upstream recommendations.
- The kubelet configuration file can now be amended with arbitrary additional content using the `services.kubernetes.kubelet.extraConfig` option.
- To facilitate dependency injection, the `imgui` package now builds a static archive using vcpkg' CMake rules.
The derivation now installs "impl" headers selectively instead of by a wildcard.
Use `imgui.src` if you just want to access the unpacked sources.

View File

@ -66,6 +66,7 @@ let
// lib.optionalAttrs (cfg.clusterDomain != "") { clusterDomain = cfg.clusterDomain; }
// lib.optionalAttrs (cfg.clusterDns != "") { clusterDNS = [ cfg.clusterDns ] ; }
// lib.optionalAttrs (cfg.featureGates != {}) { featureGates = cfg.featureGates; }
// lib.optionalAttrs (cfg.extraConfig != {}) cfg.extraConfig
));
manifestPath = "kubernetes/manifests";
@ -184,6 +185,12 @@ in
type = separatedString " ";
};
extraConfig = mkOption {
description = "Kubernetes kubelet extra configuration file entries.";
default = {};
type = attrsOf attrs;
};
featureGates = mkOption {
description = "Attribute set of feature gate";
default = top.featureGates;