Fix nasty attrset merge bug
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
{ pkgs, cfg, customize, lib, config, ... }:
|
{ pkgs, cluster, customize ? {}, lib, config, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
|
cfg = cluster;
|
||||||
|
|
||||||
pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; };
|
pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; };
|
||||||
|
|
||||||
mkCert = host: {
|
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:
|
baseDeployment = nodes: attrs:
|
||||||
let
|
let
|
||||||
hosts =
|
hosts =
|
||||||
@@ -43,12 +30,15 @@ in {
|
|||||||
|
|
||||||
inherit customize;
|
inherit customize;
|
||||||
|
|
||||||
cluster = cfg // {
|
cluster = mkMerge [
|
||||||
|
cfg
|
||||||
|
{
|
||||||
hostName = host.name;
|
hostName = host.name;
|
||||||
cert = mkCert host.name;
|
cert = mkCert host.name;
|
||||||
k8s.master.enable = true;
|
k8s.master.enable = true;
|
||||||
k8s.node.enable = true;
|
k8s.node.enable = true;
|
||||||
};
|
}
|
||||||
|
];
|
||||||
|
|
||||||
imports = [ host.hw ./k8s.nix ];
|
imports = [ host.hw ./k8s.nix ];
|
||||||
};
|
};
|
||||||
@@ -58,11 +48,14 @@ in {
|
|||||||
|
|
||||||
inherit customize;
|
inherit customize;
|
||||||
|
|
||||||
cluster = cfg // {
|
cluster = mkMerge [
|
||||||
|
cfg
|
||||||
|
{
|
||||||
hostName = host.name;
|
hostName = host.name;
|
||||||
cert = mkCert host.name;
|
cert = mkCert host.name;
|
||||||
k8s.node.enable = true;
|
k8s.node.enable = true;
|
||||||
};
|
}
|
||||||
|
];
|
||||||
|
|
||||||
imports = [ host.hw ./k8s.nix ];
|
imports = [ host.hw ./k8s.nix ];
|
||||||
};
|
};
|
||||||
@@ -81,10 +74,13 @@ in {
|
|||||||
|
|
||||||
inherit customize;
|
inherit customize;
|
||||||
|
|
||||||
cluster = cfg // {
|
cluster = mkMerge [
|
||||||
|
cfg
|
||||||
|
{
|
||||||
hostName = host.name;
|
hostName = host.name;
|
||||||
cert = mkCert host.name;
|
cert = mkCert host.name;
|
||||||
};
|
}
|
||||||
|
];
|
||||||
|
|
||||||
imports = [ host.hw ./fs.nix ];
|
imports = [ host.hw ./fs.nix ];
|
||||||
};
|
};
|
||||||
@@ -100,10 +96,13 @@ in {
|
|||||||
|
|
||||||
inherit customize;
|
inherit customize;
|
||||||
|
|
||||||
cluster = cfg // {
|
cluster = mkMerge [
|
||||||
|
cfg
|
||||||
|
{
|
||||||
hostName = host.name;
|
hostName = host.name;
|
||||||
cert = mkCert host.name;
|
cert = mkCert host.name;
|
||||||
};
|
}
|
||||||
|
];
|
||||||
|
|
||||||
imports = [ host.hw ./os.nix ];
|
imports = [ host.hw ./os.nix ];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ let
|
|||||||
|
|
||||||
pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; };
|
pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; };
|
||||||
|
|
||||||
apiserverAddress = "https://${masterAddress}:4443";
|
|
||||||
|
|
||||||
masterAddress = cfg.k8s.master.address;
|
masterAddress = cfg.k8s.master.address;
|
||||||
|
|
||||||
|
apiserverAddress = "https://${masterAddress}:4443";
|
||||||
|
|
||||||
cfssl-apitoken =
|
cfssl-apitoken =
|
||||||
let
|
let
|
||||||
apitoken = pkgs.stdenv.mkDerivation {
|
apitoken = pkgs.stdenv.mkDerivation {
|
||||||
@@ -224,12 +224,12 @@ in {
|
|||||||
|
|
||||||
address = mkOption {
|
address = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "127.0.0.1";
|
default = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
name = mkOption {
|
name = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "apiserver";
|
default = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraSANs = mkOption {
|
extraSANs = mkOption {
|
||||||
|
|||||||
Reference in New Issue
Block a user