Tom Alexander
0e959cb78f
Enable the firewall.
...
Now that we have networking working, I can enable the firewall and confirm nothing breaks.
2026-05-02 15:54:28 -04:00
Tom Alexander
758f21d454
Fix CoreDNS IPv4 connectivity.
2026-05-02 15:54:28 -04:00
Tom Alexander
a9baed129b
Increase timeout for coredns cache.
2026-05-02 15:54:27 -04:00
Tom Alexander
23cba83b96
More changes to try to fix coredns.
2026-05-02 15:54:27 -04:00
Tom Alexander
8ab03789fa
Move the kubelet yaml config into nix.
2026-05-02 15:54:27 -04:00
Tom Alexander
7c33c06ce0
Implement a generic helm templater package.
2026-05-02 15:54:27 -04:00
Tom Alexander
cdb332e7fd
Switch to generating the coredns manifests via nix.
2026-05-02 15:54:27 -04:00
Tom Alexander
6546edd82f
Use CoreDNS for in-cluster DNS requests and caching.
2026-05-02 15:54:27 -04:00
Tom Alexander
5c445da492
Enable native routing.
2026-05-02 15:54:27 -04:00
Tom Alexander
58a2061c08
Build the cilium manifest automatically in nix.
2026-05-02 15:54:26 -04:00
Tom Alexander
b504dc4d66
Allow pods to directly speak to the public internet on their own public IPv6 addresses.
2026-05-02 15:54:26 -04:00
Tom Alexander
d1c7a0bfca
Enable ipv4 and tunnel routing.
2026-05-02 15:54:26 -04:00
Tom Alexander
0b291d7648
Switch to kubernetes ipam mode.
2026-05-02 15:54:26 -04:00
Tom Alexander
8ae16e4bdf
Fix service cluster ip range.
...
Kubernetes only allows a /112 for service ip range.
2026-05-02 15:54:26 -04:00
Tom Alexander
cfb92eb156
Fix trailing line break in kubernetes encryption config.
2026-05-02 15:54:26 -04:00
Tom Alexander
2e2e64715a
Move the yaml functions to their own file.
2026-05-02 15:54:25 -04:00
Tom Alexander
8ff58c3c95
Introduce functions to generate yaml.
...
The toYAML function is just an alias to toJSON which is technically fine since YAML is a superset of JSON, but these new functions will generate actual YAML.
2026-05-02 15:54:25 -04:00
Tom Alexander
030f1c8504
Add missing cidr declarations.
2026-05-02 15:54:25 -04:00
Tom Alexander
1effb2830f
Fix DNS resolution.
2026-05-02 15:54:25 -04:00
Tom Alexander
641adf9dd3
Apply the git repo to the cluster.
2026-05-02 15:54:25 -04:00
Tom Alexander
2997fd43ea
Trust flux's ssh key in the yaml git repo.
2026-05-02 15:54:25 -04:00
Tom Alexander
063fcdbbab
Generic secrets for ssh keys.
2026-05-02 15:54:25 -04:00
Tom Alexander
71d9f5672a
Generic secrets for pgp keys.
2026-05-02 15:54:24 -04:00
Tom Alexander
7e3fa38af6
Generate kubernetes secrets for ssh keys.
2026-05-02 15:54:24 -04:00
Tom Alexander
3e13a3649a
Install CoreDNS.
2026-05-02 15:54:24 -04:00
Tom Alexander
651a97d126
Generate pgp keys for sops.
2026-05-02 15:54:24 -04:00
Tom Alexander
cd313e673b
Generate ssh keys for flux bootstrap.
2026-05-02 15:54:24 -04:00
Tom Alexander
cdac1cd091
Move the cluster bootstrap into the keys flake.
...
Bootstrapping the cluster needs access to secrets, so I am moving it into the keys flake.
2026-05-02 15:54:24 -04:00
Tom Alexander
fe35b4948a
Set up flux.
2026-05-02 15:54:23 -04:00
Tom Alexander
90bbd30eee
Add a bootstrap role.
2026-05-02 15:54:23 -04:00
Tom Alexander
9f9bf3fa81
Add a bootstrap role to load manifests into the cluster.
2026-05-02 15:54:23 -04:00
Tom Alexander
2f6ccd7f03
Fix launching of containers.
2026-05-02 15:54:23 -04:00
Tom Alexander
6ee80336ea
Create a debugging role.
2026-05-02 15:54:23 -04:00
Tom Alexander
e6daf2c304
Some networking fixes.
2026-05-02 15:54:23 -04:00
Tom Alexander
a2899d38a2
Add cilium bootstrap.
2026-05-02 15:54:23 -04:00
Tom Alexander
ed77372b91
Installing the cni plugins.
2026-05-02 15:54:22 -04:00
Tom Alexander
3ccda1d4e5
Add kube-proxy.
2026-05-02 15:54:22 -04:00
Tom Alexander
27f4a78221
Add kubelet.
2026-05-02 15:54:22 -04:00
Tom Alexander
19971d2463
Add worker nodes.
2026-05-02 15:54:22 -04:00
Tom Alexander
5c58e30709
Add kube-scheduler.
2026-05-02 15:54:22 -04:00
Tom Alexander
efa1e3247a
Add kube-controller-manager.
2026-05-02 15:54:22 -04:00
Tom Alexander
3e14efcceb
Fix launching kube-apiserver.
2026-05-02 15:54:21 -04:00
Tom Alexander
edf6d40bf6
Move the encryption config into a package.
2026-05-02 15:54:21 -04:00
Tom Alexander
1606d569d0
Switch to generating certs with openssl.
2026-05-02 15:54:21 -04:00
Tom Alexander
771ec2e38a
Add controller proxy certs.
2026-05-02 15:54:21 -04:00
Tom Alexander
b33bb736e6
Add requestheader-client-ca.
2026-05-02 15:54:21 -04:00
Tom Alexander
e8bd0f6416
Add service account.
2026-05-02 15:54:21 -04:00
Tom Alexander
514e67ac50
Install kubernetes.
2026-05-02 15:54:21 -04:00
Tom Alexander
c1c510e392
Add additional controllers.
2026-05-02 15:54:20 -04:00
Tom Alexander
f981bfff97
Add configs for a new kubernetes cluster on NixOS.
2026-05-02 15:54:20 -04:00