blob: c3519cc1283b07781b21280d63eb2f253c7a4ac4 [file] [log] [blame]
Sergiusz Bazanskic78cc132020-02-02 22:31:53 +01001machineName:
2
3let
4 machines = (import ./defs-machines.nix);
5in rec {
6 domain = ".hswaw.net";
7 k8sapi = "k0.hswaw.net";
8 acmeEmail = "q3k@hackerspace.pl";
9
10 fqdn = machineName + domain;
11 machine = (builtins.head (builtins.filter (n: n.fqdn == fqdn) machines));
12 otherMachines = (builtins.filter (n: n.fqdn != fqdn) machines);
13 inherit machines;
14
15 pki = rec {
16 make = (radix: name: rec {
17 ca = ./../certs + "/ca-${radix}.crt";
18 cert = ./../certs + "/${radix}-${name}.cert";
19 key = ./../secrets/plain + "/${radix}-${name}.key";
20
21 json = (builtins.toJSON {
22 ca = (builtins.toString ca);
23 cert = (builtins.toString cert);
24 key = (builtins.toString key);
25 });
26 });
27
28 etcdPeer = (make "etcdpeer" fqdn);
29
30 etcd = {
31 server = (make "etcd" fqdn);
32 kube = (make "etcd" "kube");
33 };
34
35 makeKube = (name: (make "kube" name) // {
36 config = {
37 server = "https://${k8sapi}:${toString ports.k8sAPIServerSecure}";
38 certFile = (make "kube" name).cert;
39 keyFile = (make "kube" name).key;
40 };
41 });
42
43 kube = rec {
44 ca = apiserver.ca;
45
46 # Used to identify apiserver.
47 apiserver = (makeKube "apiserver");
48
49 # Used to identify controller-manager.
50 controllermanager = (makeKube "controllermanager");
51
52 # Used to identify scheduler.
53 scheduler = (makeKube "scheduler");
54
55 # Used to identify kube-proxy.
56 proxy = (makeKube "proxy");
57
58 # Used to identify kubelet.
59 kubelet = (makeKube "kubelet-${fqdn}");
60
61 # Used to encrypt service accounts.
62 serviceaccounts = (makeKube "serviceaccounts");
63 };
64
65 kubeFront = {
66 apiserver = (make "kubefront" "apiserver");
67 };
68 };
69
70 ports = {
71 k8sAPIServerPlain = 4000;
72 k8sAPIServerSecure = 4001;
Serge Bazanski12573892020-10-10 14:55:08 +020073 k8sControllerManagerPlain = 0; # would be 4002; do not serve plain http
Sergiusz Bazanskic78cc132020-02-02 22:31:53 +010074 k8sControllerManagerSecure = 4003;
Serge Bazanski12573892020-10-10 14:55:08 +020075 k8sSchedulerPlain = 0; # would be 4004; do not serve plain http
76 k8sSchedulerSecure = 4005;
Sergiusz Bazanskic78cc132020-02-02 22:31:53 +010077 };
78}