From ec98ac483e3931d48f8426f08e3056bd19191c83 Mon Sep 17 00:00:00 2001 From: Jonas Juselius Date: Sat, 31 Oct 2020 08:54:28 +0100 Subject: [PATCH] Fix nasty attrset merge bug --- lib/default.nix | 69 ++++++++++++++++++++++++------------------------- lib/k8s.nix | 8 +++--- 2 files changed, 38 insertions(+), 39 deletions(-) diff --git a/lib/default.nix b/lib/default.nix index 2ba10f8..68f60d6 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,6 +1,8 @@ -{ pkgs, cfg, customize, lib, config, ... }: +{ pkgs, cluster, customize ? {}, lib, config, ... }: with lib; let + cfg = cluster; + pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; }; mkCert = host: { @@ -11,21 +13,6 @@ let }; }; - hostCerts = builtins.foldl' - (a: x: a // { ${x.name} = pki.gencert { - cn = x.name; - ca = x.ca; - o = cfg.clusterName; - }; - }) {} cfg.hosts; - - mkHost = host: self: { - deployment.targetHost = host.address; - require = [ - (baseNixos host.name) - ]; - }; - baseDeployment = nodes: attrs: let hosts = @@ -43,12 +30,15 @@ in { inherit customize; - cluster = cfg // { - hostName = host.name; - cert = mkCert host.name; - k8s.master.enable = true; - k8s.node.enable = true; - }; + cluster = mkMerge [ + cfg + { + hostName = host.name; + cert = mkCert host.name; + k8s.master.enable = true; + k8s.node.enable = true; + } + ]; imports = [ host.hw ./k8s.nix ]; }; @@ -58,11 +48,14 @@ in { inherit customize; - cluster = cfg // { - hostName = host.name; - cert = mkCert host.name; - k8s.node.enable = true; - }; + cluster = mkMerge [ + cfg + { + hostName = host.name; + cert = mkCert host.name; + k8s.node.enable = true; + } + ]; imports = [ host.hw ./k8s.nix ]; }; @@ -81,10 +74,13 @@ in { inherit customize; - cluster = cfg // { - hostName = host.name; - cert = mkCert host.name; - }; + cluster = mkMerge [ + cfg + { + hostName = host.name; + cert = mkCert host.name; + } + ]; imports = [ host.hw ./fs.nix ]; }; @@ -100,10 +96,13 @@ in { inherit customize; - cluster = cfg // { - hostName = host.name; - cert = mkCert host.name; - }; + cluster = mkMerge [ + cfg + { + hostName = host.name; + cert = mkCert host.name; + } + ]; imports = [ host.hw ./os.nix ]; }; diff --git a/lib/k8s.nix b/lib/k8s.nix index 94e2ff2..3525056 100644 --- a/lib/k8s.nix +++ b/lib/k8s.nix @@ -5,10 +5,10 @@ let pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; }; - apiserverAddress = "https://${masterAddress}:4443"; - masterAddress = cfg.k8s.master.address; + apiserverAddress = "https://${masterAddress}:4443"; + cfssl-apitoken = let apitoken = pkgs.stdenv.mkDerivation { @@ -224,12 +224,12 @@ in { address = mkOption { type = types.str; - default = "127.0.0.1"; + default = null; }; name = mkOption { type = types.str; - default = "apiserver"; + default = null; }; extraSANs = mkOption {