diff options
author | Jonas Juselius <jonas.juselius@gmail.com> | 2019-03-09 11:57:41 +0100 |
---|---|---|
committer | Danylo Hlynskyi <abcz2.uprola@gmail.com> | 2019-03-09 12:57:41 +0200 |
commit | 279716c330701cc85ebc63747ed7cbf6d313288c (patch) | |
tree | 9aa1d6d92ebea761a77b2ffeb630fe5510e69406 /nixos | |
parent | 3671047632b9dd3632d483f5171a2611cd748b5f (diff) | |
download | nixpkgs-279716c330701cc85ebc63747ed7cbf6d313288c.tar nixpkgs-279716c330701cc85ebc63747ed7cbf6d313288c.tar.gz nixpkgs-279716c330701cc85ebc63747ed7cbf6d313288c.tar.bz2 nixpkgs-279716c330701cc85ebc63747ed7cbf6d313288c.tar.lz nixpkgs-279716c330701cc85ebc63747ed7cbf6d313288c.tar.xz nixpkgs-279716c330701cc85ebc63747ed7cbf6d313288c.tar.zst nixpkgs-279716c330701cc85ebc63747ed7cbf6d313288c.zip |
nixos/kubernetes: add dns addonmanger reconcile mode option (#55834)
Allow coredns ConfigMap and Depolyment to be editable by the user. An use case is augmenting the default, generated dns records with local services.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/cluster/kubernetes/addons/dns.nix | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixos/modules/services/cluster/kubernetes/addons/dns.nix index 8f3234bfc70..4368159ea6e 100644 --- a/nixos/modules/services/cluster/kubernetes/addons/dns.nix +++ b/nixos/modules/services/cluster/kubernetes/addons/dns.nix @@ -38,6 +38,18 @@ in { type = types.int; }; + reconcileMode = mkOption { + description = '' + Controls the addon manager reconciliation mode for the DNS addon. + + Setting reconcile mode to EnsureExists makes it possible to tailor DNS behavior by editing the coredns ConfigMap. + + See: <link xlink:href="https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/addon-manager/README.md"/>. + ''; + default = "Reconcile"; + type = types.enum [ "Reconcile" "EnsureExists" ]; + }; + coredns = mkOption { description = "Docker image to seed for the CoreDNS container."; type = types.attrs; @@ -131,7 +143,7 @@ in { kind = "ConfigMap"; metadata = { labels = { - "addonmanager.kubernetes.io/mode" = "Reconcile"; + "addonmanager.kubernetes.io/mode" = cfg.reconcileMode; "k8s-app" = "kube-dns"; "kubernetes.io/cluster-service" = "true"; }; @@ -162,7 +174,7 @@ in { kind = "Deployment"; metadata = { labels = { - "addonmanager.kubernetes.io/mode" = "Reconcile"; + "addonmanager.kubernetes.io/mode" = cfg.reconcileMode; "k8s-app" = "kube-dns"; "kubernetes.io/cluster-service" = "true"; "kubernetes.io/name" = "CoreDNS"; |