nixos/services.kubernetes.addons.dns: remove with lib;

This commit is contained in:
Felix Buehler 2024-08-28 21:18:55 +02:00 committed by Jörg Thalheim
parent 6ebec4f097
commit 980a655feb

View File

@ -1,7 +1,4 @@
{ config, options, pkgs, lib, ... }:
with lib;
let
version = "1.10.1";
cfg = config.services.kubernetes.addons.dns;
@ -12,37 +9,37 @@ let
};
in {
options.services.kubernetes.addons.dns = {
enable = mkEnableOption "kubernetes dns addon";
enable = lib.mkEnableOption "kubernetes dns addon";
clusterIp = mkOption {
clusterIp = lib.mkOption {
description = "Dns addon clusterIP";
# this default is also what kubernetes users
default = (
concatStringsSep "." (
take 3 (splitString "." config.services.kubernetes.apiserver.serviceClusterIpRange
lib.concatStringsSep "." (
lib.take 3 (lib.splitString "." config.services.kubernetes.apiserver.serviceClusterIpRange
))
) + ".254";
defaultText = literalMD ''
defaultText = lib.literalMD ''
The `x.y.z.254` IP of
`config.${options.services.kubernetes.apiserver.serviceClusterIpRange}`.
'';
type = types.str;
type = lib.types.str;
};
clusterDomain = mkOption {
clusterDomain = lib.mkOption {
description = "Dns cluster domain";
default = "cluster.local";
type = types.str;
type = lib.types.str;
};
replicas = mkOption {
replicas = lib.mkOption {
description = "Number of DNS pod replicas to deploy in the cluster.";
default = 2;
type = types.int;
type = lib.types.int;
};
reconcileMode = mkOption {
reconcileMode = lib.mkOption {
description = ''
Controls the addon manager reconciliation mode for the DNS addon.
@ -51,12 +48,12 @@ in {
See: <https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/addon-manager/README.md>.
'';
default = "Reconcile";
type = types.enum [ "Reconcile" "EnsureExists" ];
type = lib.types.enum [ "Reconcile" "EnsureExists" ];
};
coredns = mkOption {
coredns = lib.mkOption {
description = "Docker image to seed for the CoreDNS container.";
type = types.attrs;
type = lib.types.attrs;
default = {
imageName = "coredns/coredns";
imageDigest = "sha256:a0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e";
@ -65,13 +62,13 @@ in {
};
};
corefile = mkOption {
corefile = lib.mkOption {
description = ''
Custom coredns corefile configuration.
See: <https://coredns.io/manual/toc/#configuration>.
'';
type = types.str;
type = lib.types.str;
default = ''
.:${toString ports.dns} {
errors
@ -87,7 +84,7 @@ in {
reload
loadbalance
}'';
defaultText = literalExpression ''
defaultText = lib.literalExpression ''
'''
.:${toString ports.dns} {
errors
@ -108,9 +105,9 @@ in {
};
};
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
services.kubernetes.kubelet.seedDockerImages =
singleton (pkgs.dockerTools.pullImage cfg.coredns);
lib.singleton (pkgs.dockerTools.pullImage cfg.coredns);
services.kubernetes.addonManager.bootstrapAddons = {
coredns-cr = {
@ -366,7 +363,7 @@ in {
};
};
services.kubernetes.kubelet.clusterDns = mkDefault [ cfg.clusterIp ];
services.kubernetes.kubelet.clusterDns = lib.mkDefault [ cfg.clusterIp ];
};
meta.buildDocsInSandbox = false;