550 Commits

Author SHA1 Message Date
Tom Alexander
783b52d390
Add a custom nftables firewall config. 2026-03-08 13:02:07 -04:00
Tom Alexander
173aef447e
Enable the firewall.
Now that we have networking working, I can enable the firewall and confirm nothing breaks.
2026-03-08 13:02:07 -04:00
Tom Alexander
cd893a359f
Fix CoreDNS IPv4 connectivity. 2026-03-08 13:02:07 -04:00
Tom Alexander
ef1f2f53b9
Increase timeout for coredns cache. 2026-03-08 13:02:07 -04:00
Tom Alexander
1ee403874e
More changes to try to fix coredns. 2026-03-08 13:02:07 -04:00
Tom Alexander
117d3aeaea
Move the kubelet yaml config into nix. 2026-03-08 13:02:07 -04:00
Tom Alexander
46bb908310
Implement a generic helm templater package. 2026-03-08 13:02:06 -04:00
Tom Alexander
427739a84c
Switch to generating the coredns manifests via nix. 2026-03-08 13:02:06 -04:00
Tom Alexander
5c8527271c
Use CoreDNS for in-cluster DNS requests and caching. 2026-03-08 13:02:06 -04:00
Tom Alexander
7da533fdaf
Enable native routing. 2026-03-08 13:02:06 -04:00
Tom Alexander
1350101810
Build the cilium manifest automatically in nix. 2026-03-08 13:02:06 -04:00
Tom Alexander
0249bd043a
Allow pods to directly speak to the public internet on their own public IPv6 addresses. 2026-03-08 13:02:06 -04:00
Tom Alexander
cfdadac4c5
Enable ipv4 and tunnel routing. 2026-03-08 13:02:06 -04:00
Tom Alexander
75fcf050af
Switch to kubernetes ipam mode. 2026-03-08 13:02:05 -04:00
Tom Alexander
8cff923bac
Fix service cluster ip range.
Kubernetes only allows a /112 for service ip range.
2026-03-08 13:02:05 -04:00
Tom Alexander
79601da777
Fix trailing line break in kubernetes encryption config. 2026-03-08 13:02:05 -04:00
Tom Alexander
acf9b49fa2
Move the yaml functions to their own file. 2026-03-08 13:02:05 -04:00
Tom Alexander
9fe6ac2749
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-03-08 13:02:05 -04:00
Tom Alexander
6598623b22
Add missing cidr declarations. 2026-03-08 13:02:05 -04:00
Tom Alexander
170cf7696d
Fix DNS resolution. 2026-03-08 13:02:04 -04:00
Tom Alexander
2749b830d2
Apply the git repo to the cluster. 2026-03-08 13:02:04 -04:00
Tom Alexander
a9c3dd9004
Trust flux's ssh key in the yaml git repo. 2026-03-08 13:02:04 -04:00
Tom Alexander
865b1d3fa4
Generic secrets for ssh keys. 2026-03-08 13:02:04 -04:00
Tom Alexander
08978eb11d
Generic secrets for pgp keys. 2026-03-08 13:02:04 -04:00
Tom Alexander
d3cfd7909b
Generate kubernetes secrets for ssh keys. 2026-03-08 13:02:04 -04:00
Tom Alexander
0af8719273
Install CoreDNS. 2026-03-08 13:02:04 -04:00
Tom Alexander
4e22a04d65
Generate pgp keys for sops. 2026-03-08 13:02:03 -04:00
Tom Alexander
b1ff824bc5
Generate ssh keys for flux bootstrap. 2026-03-08 13:02:03 -04:00
Tom Alexander
477b527a48
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-03-08 13:02:03 -04:00
Tom Alexander
a91e27517c
Set up flux. 2026-03-08 13:02:03 -04:00
Tom Alexander
8f56e6ed59
Add a bootstrap role. 2026-03-08 13:02:03 -04:00
Tom Alexander
d72010ebaf
Add a bootstrap role to load manifests into the cluster. 2026-03-08 13:02:03 -04:00
Tom Alexander
ec951f7058
Fix launching of containers. 2026-03-08 13:02:03 -04:00
Tom Alexander
8a7a3d3c21
Create a debugging role. 2026-03-08 13:02:02 -04:00
Tom Alexander
82cbd37e09
Some networking fixes. 2026-03-08 13:02:02 -04:00
Tom Alexander
44993e669e
Add cilium bootstrap. 2026-03-08 13:02:02 -04:00
Tom Alexander
539fe03012
Installing the cni plugins. 2026-03-08 13:02:02 -04:00
Tom Alexander
73d2d0447b
Add kube-proxy. 2026-03-08 13:02:02 -04:00
Tom Alexander
77000f77b6
Add kubelet. 2026-03-08 13:02:02 -04:00
Tom Alexander
41fe4b23d9
Add worker nodes. 2026-03-08 13:02:01 -04:00
Tom Alexander
eb05ed8b46
Add kube-scheduler. 2026-03-08 13:02:01 -04:00
Tom Alexander
b6f739f062
Add kube-controller-manager. 2026-03-08 13:02:01 -04:00
Tom Alexander
2785f5c602
Fix launching kube-apiserver. 2026-03-08 13:02:01 -04:00
Tom Alexander
33773c7b1c
Move the encryption config into a package. 2026-03-08 13:02:01 -04:00
Tom Alexander
04545fbd2f
Switch to generating certs with openssl. 2026-03-08 13:02:01 -04:00
Tom Alexander
6ae493efc0
Add controller proxy certs. 2026-03-08 13:02:00 -04:00
Tom Alexander
e133424ac0
Add requestheader-client-ca. 2026-03-08 13:02:00 -04:00
Tom Alexander
6ee3c20764
Add service account. 2026-03-08 13:02:00 -04:00
Tom Alexander
376211786e
Install kubernetes. 2026-03-08 13:02:00 -04:00
Tom Alexander
85250d00db
Add additional controllers. 2026-03-08 13:02:00 -04:00