-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkube.nix
58 lines (51 loc) · 1.15 KB
/
kube.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{ config, pkgs, lib, domain, ... }:
let
domain = "puerti.co";
in {
networking.extraHosts = ''
127.0.0.1 ${domain} .${domain}
127.0.0.1 master.${domain}
'';
networking.firewall.allowedTCPPorts = [ 80 443 ];
virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [
kubectl
kompose
docker-compose
];
services.caddy = {
enable = true;
email = "ariel@piensa.co";
agree = true;
config = ''
${domain} {
gzip
log syslog
root /d/${domain}
}
geonode.${domain} {
log syslog
proxy / localhost:81 {
transparent
}
}
'';
};
#services.kubernetes = {
# easyCerts = true;
# roles = ["master" "node"];
# masterAddress = "master.${domain}";
#};
# Temporary off-nixpkgs tree fix, see
# https://github.com/NixOS/nixpkgs/issues/60687
#systemd.services.kube-control-plane-online.preStart =
# let
# cfg = config.services.kubernetes;
# in lib.mkForce ''
# until curl -k -Ssf ${cfg.apiserverAddress}/healthz; do
# echo curl -k -Ssf ${cfg.apiserverAddress}/healthz: exit status $?
# sleep 3
# done
#
# '';
}