Update all clusters to new-style nix modules
This commit is contained in:
@@ -1,44 +1,49 @@
|
|||||||
with import <nixpkgs> {};
|
with import <nixpkgs> {};
|
||||||
let
|
let
|
||||||
setup = import ../../modules {
|
name = "fs1-0";
|
||||||
inherit pkgs cluster customize extraConfig lib config;
|
address = "10.1.30.10";
|
||||||
};
|
in {
|
||||||
|
fs1-0 = {
|
||||||
|
deployment.targetHost = address;
|
||||||
|
|
||||||
hosts = [
|
features = {
|
||||||
{ name = "fs1-0"; address = "10.1.30.10"; }
|
os = {
|
||||||
];
|
boot.uefi = false;
|
||||||
|
externalInterface = "ens3";
|
||||||
|
docker.enable = true;
|
||||||
|
adminAuthorizedKeys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
customize = {
|
fs = {
|
||||||
boot.uefi = false;
|
enable = true;
|
||||||
};
|
nfs.enable = true;
|
||||||
|
nfs.exports = ''
|
||||||
cluster = {
|
/vol/brick0/nfs0 10.1.30.0/24(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0,no_root_squash)
|
||||||
clusterName = "fs1";
|
'';
|
||||||
initca = ./ca;
|
initca = ./ca;
|
||||||
|
};
|
||||||
domain = "itpartner.intern";
|
|
||||||
externalInterface = "ens3";
|
|
||||||
defaultGateway = "10.1.30.1";
|
|
||||||
nameservers = [ "8.8.8.8" ];
|
|
||||||
searchDomains = [ "itpartner.intern" "itpartner.no" ];
|
|
||||||
|
|
||||||
extraHosts = import ../hosts.nix;
|
|
||||||
|
|
||||||
adminAuthorizedKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
|
||||||
];
|
|
||||||
|
|
||||||
fs = {
|
|
||||||
enable = true;
|
|
||||||
nfs.enable = true;
|
|
||||||
nfs.exports = ''
|
|
||||||
/vol/brick0/nfs0 10.1.30.0/24(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0,no_root_squash)
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = {};
|
networking = {
|
||||||
in
|
hostName = name;
|
||||||
setup.fs.mkDeployment ./. hosts
|
domain = "itpartner.intern";
|
||||||
|
defaultGateway = "10.1.30.1";
|
||||||
|
nameservers = [ "8.8.8.8" ];
|
||||||
|
search = [ "itpartner.intern" "itpartner.no" ];
|
||||||
|
extraHosts = import ../hosts.nix;
|
||||||
|
interfaces.ens3 = {
|
||||||
|
useDHCP = false;
|
||||||
|
ipv4.addresses = [ {
|
||||||
|
address = address;
|
||||||
|
prefixLength = 24;
|
||||||
|
} ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [ ../../nixos ../../modules ./fs1-0.nix ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,44 +1,48 @@
|
|||||||
with import <nixpkgs> {};
|
with import <nixpkgs> {};
|
||||||
let
|
let
|
||||||
setup = import ../../modules {
|
name = "fs2-0";
|
||||||
inherit pkgs cluster customize extraConfig lib config;
|
address = "10.1.8.10";
|
||||||
};
|
in {
|
||||||
|
fs2-0 = {
|
||||||
|
deployment.targetHost = address;
|
||||||
|
|
||||||
hosts = [
|
features = {
|
||||||
{ name = "fs2-0"; address = "10.1.8.10"; }
|
os = {
|
||||||
];
|
boot.uefi = true;
|
||||||
|
externalInterface = "eth0";
|
||||||
customize = {
|
docker.enable = true;
|
||||||
boot.uefi = true;
|
adminAuthorizedKeys = [
|
||||||
};
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
||||||
cluster = {
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
||||||
clusterName = "fs2";
|
];
|
||||||
initca = ./ca;
|
};
|
||||||
|
fs = {
|
||||||
domain = "itpartner.intern";
|
enable = true;
|
||||||
externalInterface = "eth0";
|
nfs.enable = true;
|
||||||
defaultGateway = "10.1.8.1";
|
nfs.exports = ''
|
||||||
nameservers = [ "8.8.8.8" ];
|
/vol/export 10.1.8.0/24(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0,no_root_squash)
|
||||||
searchDomains = [ "itpartner.no" ];
|
'';
|
||||||
|
initca = ./ca;
|
||||||
extraHosts = import ../hosts.nix;
|
};
|
||||||
|
|
||||||
adminAuthorizedKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
|
||||||
];
|
|
||||||
|
|
||||||
fs = {
|
|
||||||
enable = true;
|
|
||||||
nfs.enable = true;
|
|
||||||
nfs.exports = ''
|
|
||||||
/vol/export 10.1.8.0/24(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0,no_root_squash)
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = {};
|
networking = {
|
||||||
in
|
hostName = name;
|
||||||
setup.fs.mkDeployment ./. hosts
|
domain = "itpartner.intern";
|
||||||
|
defaultGateway = "10.1.8.1";
|
||||||
|
nameservers = [ "8.8.8.8" ];
|
||||||
|
search = [ "itpartner.intern" "itpartner.no" ];
|
||||||
|
extraHosts = import ../hosts.nix;
|
||||||
|
interfaces.eth0 = {
|
||||||
|
useDHCP = false;
|
||||||
|
ipv4.addresses = [ {
|
||||||
|
address = address;
|
||||||
|
prefixLength = 24;
|
||||||
|
} ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [ ../../nixos ../../modules ./fs2-0.nix ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -21,4 +21,7 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in builtins.foldl' (a: x: a // mkNode x) { k0-0 = master; } nodes
|
in
|
||||||
|
builtins.foldl' (a: x: a // mkNode x) {
|
||||||
|
"${master.node.name}" = master;
|
||||||
|
} nodes
|
||||||
|
|||||||
94
clusters/k1/cluster.nix
Normal file
94
clusters/k1/cluster.nix
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.node;
|
||||||
|
|
||||||
|
mkSANs = host: [
|
||||||
|
host.name
|
||||||
|
host.address
|
||||||
|
"127.0.0.1"
|
||||||
|
];
|
||||||
|
|
||||||
|
configuration = {
|
||||||
|
deployment.targetHost = cfg.address;
|
||||||
|
|
||||||
|
features = {
|
||||||
|
os = {
|
||||||
|
boot.uefi = false;
|
||||||
|
externalInterface = "ens3";
|
||||||
|
docker.enable = true;
|
||||||
|
adminAuthorizedKeys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
k8s = {
|
||||||
|
enable = true;
|
||||||
|
node.enable = true;
|
||||||
|
clusterName = "k1";
|
||||||
|
initca = ./ca;
|
||||||
|
cidr = "10.11.0.0/16";
|
||||||
|
master = {
|
||||||
|
name = "k1-0";
|
||||||
|
address = "10.1.30.100";
|
||||||
|
extraSANs = [ "k1.itpartner.no" ];
|
||||||
|
};
|
||||||
|
ingressNodes = [
|
||||||
|
"k1-0.itpartner.intern"
|
||||||
|
"k1-1.itpartner.intern"
|
||||||
|
"k1-2.itpartner.intern"
|
||||||
|
];
|
||||||
|
fileserver = "fs1-0";
|
||||||
|
charts = {
|
||||||
|
acme_email = "innovasjon@itpartner.no";
|
||||||
|
grafana_smtp_user = "utvikling";
|
||||||
|
grafana_smtp_password = "S0m3rp0m@de#21!";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = cfg.name;
|
||||||
|
domain = "itpartner.intern";
|
||||||
|
nameservers = [ "8.8.8.8" ];
|
||||||
|
search = [ "itpartner.no" ];
|
||||||
|
defaultGateway = "10.1.30.1";
|
||||||
|
extraHosts = import ../hosts.nix;
|
||||||
|
interfaces.ens3 = {
|
||||||
|
useDHCP = false;
|
||||||
|
ipv4.addresses = [ {
|
||||||
|
address = cfg.address;
|
||||||
|
prefixLength = 24;
|
||||||
|
} ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.kubernetes.kubelet.extraSANs = mkSANs {
|
||||||
|
name = cfg.name;
|
||||||
|
address = cfg.address;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
options.node = {
|
||||||
|
address = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
name = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = configuration;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../../modules
|
||||||
|
../../nixos
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,53 +1,28 @@
|
|||||||
with import <nixpkgs> {};
|
with import <nixpkgs> {};
|
||||||
let
|
let
|
||||||
setup = import ../../modules {
|
master = {
|
||||||
inherit pkgs cluster customize extraConfig lib config;
|
node.name = "k1-0";
|
||||||
|
node.address = "10.1.30.100";
|
||||||
|
features.k8s.master.enable = true;
|
||||||
|
imports = [ ./cluster.nix ./hw/k1-0.nix ];
|
||||||
};
|
};
|
||||||
|
|
||||||
hosts = [
|
nodes = [
|
||||||
{ name = "k1-0"; address = "10.1.30.100"; }
|
|
||||||
{ name = "k1-1"; address = "10.1.30.101"; }
|
{ name = "k1-1"; address = "10.1.30.101"; }
|
||||||
{ name = "k1-2"; address = "10.1.30.102"; }
|
{ name = "k1-2"; address = "10.1.30.102"; }
|
||||||
{ name = "k1-3"; address = "10.1.30.103"; }
|
{ name = "k1-3"; address = "10.1.30.103"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
customize = {
|
mkNode = x: {
|
||||||
boot.uefi = false;
|
"${x.name}" = {
|
||||||
};
|
node.name = x.name;
|
||||||
|
node.address = x.address;
|
||||||
cluster = {
|
imports = [ ./cluster.nix (./hw + "/${x.name}.nix") ];
|
||||||
clusterName = "k1";
|
|
||||||
initca = ./ca;
|
|
||||||
|
|
||||||
domain = "itpartner.intern";
|
|
||||||
externalInterface = "ens3";
|
|
||||||
defaultGateway = "10.1.30.1";
|
|
||||||
nameservers = [ "8.8.8.8" ];
|
|
||||||
searchDomains = [ "itpartner.intern" "itpartner.no" ];
|
|
||||||
|
|
||||||
extraHosts = import ../hosts.nix;
|
|
||||||
|
|
||||||
adminAuthorizedKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
|
||||||
];
|
|
||||||
|
|
||||||
k8s = {
|
|
||||||
enable = true;
|
|
||||||
cidr = "10.11.0.0/16";
|
|
||||||
master = builtins.head hosts // { extraSANs = [ "k1.itpartner.no" ]; };
|
|
||||||
nodes = builtins.tail hosts;
|
|
||||||
ingressNodes = [ "k1-0.itpartner.intern" "k1-1.itpartner.intern" "k1-2.itpartner.intern" ];
|
|
||||||
fileserver = "fs1-0";
|
|
||||||
charts = {
|
|
||||||
acme_email = "innovasjon@itpartner.no";
|
|
||||||
grafana_smtp_user = "utvikling";
|
|
||||||
grafana_smtp_password = "S0m3rp0m@de#21!";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = {};
|
|
||||||
in
|
in
|
||||||
setup.k8s.mkDeployment ./.
|
builtins.foldl' (a: x: a // mkNode x) {
|
||||||
|
"${master.node.name}" = master;
|
||||||
|
} nodes
|
||||||
|
|
||||||
|
|||||||
95
clusters/k2/cluster.nix
Normal file
95
clusters/k2/cluster.nix
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.node;
|
||||||
|
|
||||||
|
mkSANs = host: [
|
||||||
|
host.name
|
||||||
|
host.address
|
||||||
|
"127.0.0.1"
|
||||||
|
];
|
||||||
|
|
||||||
|
configuration = {
|
||||||
|
deployment.targetHost = cfg.address;
|
||||||
|
|
||||||
|
features = {
|
||||||
|
os = {
|
||||||
|
boot.uefi = true;
|
||||||
|
externalInterface = "eth0";
|
||||||
|
docker.enable = true;
|
||||||
|
adminAuthorizedKeys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
k8s = {
|
||||||
|
enable = true;
|
||||||
|
node.enable = true;
|
||||||
|
clusterName = "k2";
|
||||||
|
initca = ./ca;
|
||||||
|
cidr = "10.100.0.0/16";
|
||||||
|
master = {
|
||||||
|
name = "k2-0";
|
||||||
|
address = "10.1.8.60";
|
||||||
|
extraSANs = [ "k2.itpartner.no" ];
|
||||||
|
};
|
||||||
|
ingressNodes = [
|
||||||
|
"k2-0.itpartner.intern"
|
||||||
|
"k2-1.itpartner.intern"
|
||||||
|
"k2-2.itpartner.intern"
|
||||||
|
];
|
||||||
|
fileserver = "fs2-0";
|
||||||
|
charts = {
|
||||||
|
acme_email = "innovasjon@itpartner.no";
|
||||||
|
grafana_smtp_user = "utvikling";
|
||||||
|
grafana_smtp_password = "S0m3rp0m@de#21!";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = cfg.name;
|
||||||
|
domain = "itpartner.intern";
|
||||||
|
nameservers = [ "8.8.8.8" ];
|
||||||
|
search = [ "itpartner.no" ];
|
||||||
|
defaultGateway = "10.1.8.1";
|
||||||
|
extraHosts = import ../hosts.nix;
|
||||||
|
interfaces.eth0 = {
|
||||||
|
useDHCP = false;
|
||||||
|
ipv4.addresses = [ {
|
||||||
|
address = cfg.address;
|
||||||
|
prefixLength = 24;
|
||||||
|
} ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.kubernetes.kubelet.extraSANs = mkSANs {
|
||||||
|
name = cfg.name;
|
||||||
|
address = cfg.address;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
options.node = {
|
||||||
|
address = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
name = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = configuration;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../../modules
|
||||||
|
../../nixos
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,54 +1,28 @@
|
|||||||
with import <nixpkgs> {};
|
with import <nixpkgs> {};
|
||||||
let
|
let
|
||||||
setup = import ../../modules {
|
master = {
|
||||||
inherit pkgs cluster customize extraConfig lib config;
|
node.name = "k2-0";
|
||||||
|
node.address = "10.1.8.60";
|
||||||
|
features.k8s.master.enable = true;
|
||||||
|
imports = [ ./cluster.nix ./hw/k2-0.nix ];
|
||||||
};
|
};
|
||||||
|
|
||||||
hosts = [
|
nodes = [
|
||||||
{ name = "k2-0"; address = "10.1.8.60"; }
|
|
||||||
{ name = "k2-1"; address = "10.1.8.61"; }
|
{ name = "k2-1"; address = "10.1.8.61"; }
|
||||||
{ name = "k2-2"; address = "10.1.8.62"; }
|
{ name = "k2-2"; address = "10.1.8.62"; }
|
||||||
{ name = "k2-3"; address = "10.1.8.63"; }
|
{ name = "k2-3"; address = "10.1.8.63"; }
|
||||||
{ name = "k2-4"; address = "10.1.8.64"; }
|
{ name = "k2-4"; address = "10.1.8.64"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
customize = {
|
mkNode = x: {
|
||||||
boot.uefi = true;
|
"${x.name}" = {
|
||||||
};
|
node.name = x.name;
|
||||||
|
node.address = x.address;
|
||||||
cluster = {
|
imports = [ ./cluster.nix (./hw + "/${x.name}.nix") ];
|
||||||
clusterName = "k2";
|
|
||||||
initca = ./ca;
|
|
||||||
|
|
||||||
domain = "itpartner.intern";
|
|
||||||
externalInterface = "eth0";
|
|
||||||
defaultGateway = "10.1.8.1";
|
|
||||||
nameservers = [ "8.8.8.8" ];
|
|
||||||
searchDomains = [ "itpartner.no" ];
|
|
||||||
|
|
||||||
extraHosts = import ../hosts.nix;
|
|
||||||
|
|
||||||
adminAuthorizedKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
|
||||||
];
|
|
||||||
|
|
||||||
k8s = {
|
|
||||||
enable = true;
|
|
||||||
cidr = "10.100.0.0/16";
|
|
||||||
master = builtins.head hosts // { extraSANs = [ "k2.itpartner.no" ]; };
|
|
||||||
nodes = builtins.tail hosts;
|
|
||||||
ingressNodes = [ "k2-0.itpartner.intern" "k2-1.itpartner.intern" "k2-2.itpartner.intern" ];
|
|
||||||
fileserver = "fs2-0";
|
|
||||||
charts = {
|
|
||||||
acme_email = "innovasjon@itpartner.no";
|
|
||||||
grafana_smtp_user = "utvikling";
|
|
||||||
grafana_smtp_password = "S0m3rp0m@de#21!";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = {};
|
|
||||||
in
|
in
|
||||||
setup.k8s.mkDeployment ./.
|
builtins.foldl' (a: x: a // mkNode x) {
|
||||||
|
"${master.node.name}" = master;
|
||||||
|
} nodes
|
||||||
|
|||||||
@@ -1,60 +1,63 @@
|
|||||||
with import <nixpkgs> {};
|
with import <nixpkgs> {};
|
||||||
let
|
let
|
||||||
setup = import ../../modules {
|
name = "psql1-0";
|
||||||
inherit pkgs cluster customize extraConfig lib config;
|
address = "10.1.30.80";
|
||||||
};
|
in {
|
||||||
|
psql1-0 = {
|
||||||
|
deployment.targetHost = address;
|
||||||
|
|
||||||
hosts = [
|
features = {
|
||||||
{ name = "psql1-0"; address = "10.1.30.80"; }
|
os = {
|
||||||
];
|
boot.uefi = true;
|
||||||
|
externalInterface = "ens6";
|
||||||
|
docker.enable = true;
|
||||||
|
adminAuthorizedKeys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
customize = {
|
networking = {
|
||||||
boot.uefi = true;
|
hostName = name;
|
||||||
};
|
domain = "itpartner.intern";
|
||||||
|
defaultGateway = "10.1.30.1";
|
||||||
cluster = {
|
nameservers = [ "8.8.8.8" ];
|
||||||
clusterName = "psql1";
|
search = [ "itpartner.intern" "itpartner.no" ];
|
||||||
initca = ./ca;
|
extraHosts = import ../hosts.nix;
|
||||||
|
interfaces.ens6 = {
|
||||||
domain = "itpartner.intern";
|
useDHCP = false;
|
||||||
externalInterface = "ens6";
|
ipv4.addresses = [ {
|
||||||
defaultGateway = "10.1.30.1";
|
address = address;
|
||||||
nameservers = [ "8.8.8.8" ];
|
prefixLength = 24;
|
||||||
searchDomains = [ "itpartner.intern" "itpartner.no" ];
|
} ];
|
||||||
|
};
|
||||||
extraHosts = import ../hosts.nix;
|
};
|
||||||
|
|
||||||
adminAuthorizedKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = {
|
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dataDir = "/data/postgresql";
|
dataDir = "/data/postgresql";
|
||||||
enableTCPIP = true;
|
enableTCPIP = true;
|
||||||
identMap = ''
|
identMap = ''
|
||||||
nixos root postgres
|
nixos root postgres
|
||||||
nixos admin postgres
|
nixos admin postgres
|
||||||
'';
|
'';
|
||||||
authentication = pkgs.lib.mkOverride 11 ''
|
authentication = pkgs.lib.mkOverride 11 ''
|
||||||
local all all trust
|
local all all trust
|
||||||
host all all ::1/128 trust
|
host all all ::1/128 trust
|
||||||
host all all ::1/128 md5
|
host all all ::1/128 md5
|
||||||
host all postgres 127.0.0.1/32 md5
|
host all postgres 127.0.0.1/32 md5
|
||||||
host all postgres ::1/128 md5
|
host all postgres ::1/128 md5
|
||||||
host all postgres 10.1.8.0/24 md5
|
host all postgres 10.1.8.0/24 md5
|
||||||
host all postgres 10.1.30.0/24 md5
|
host all postgres 10.1.30.0/24 md5
|
||||||
host score consto 10.1.8.0/24 md5
|
host score consto 10.1.8.0/24 md5
|
||||||
host score consto 10.1.30.0/24 md5
|
host score consto 10.1.30.0/24 md5
|
||||||
host score consto all md5
|
host score consto all md5
|
||||||
host mobilenews-provisioner mobilenews 10.1.8.0/24 md5
|
host mobilenews-provisioner mobilenews 10.1.8.0/24 md5
|
||||||
host mobilenews-provisioner mobilenews 10.1.30.0/24 md5
|
host mobilenews-provisioner mobilenews 10.1.30.0/24 md5
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
imports = [ ../../nixos ./psql1-0.nix ];
|
||||||
};
|
};
|
||||||
in
|
}
|
||||||
setup.host.mkDeployment ./. hosts
|
|
||||||
|
|||||||
Reference in New Issue
Block a user