Commit Graph

40 Commits

Author SHA1 Message Date
Tom Alexander
3169822726 Fix CoreDNS IPv4 connectivity. 2026-07-06 18:12:10 -04:00
Tom Alexander
9b5fbadc44 Increase timeout for coredns cache. 2026-07-06 18:12:10 -04:00
Tom Alexander
ab1b2a70f3 More changes to try to fix coredns. 2026-07-06 18:12:10 -04:00
Tom Alexander
4061d14651 Move the kubelet yaml config into nix. 2026-07-06 18:12:09 -04:00
Tom Alexander
361ec69a8b Implement a generic helm templater package. 2026-07-06 18:12:09 -04:00
Tom Alexander
f545376aec Switch to generating the coredns manifests via nix. 2026-07-06 18:12:09 -04:00
Tom Alexander
dc80c06ee9 Use CoreDNS for in-cluster DNS requests and caching. 2026-07-06 18:12:09 -04:00
Tom Alexander
5d58d550d3 Enable native routing. 2026-07-06 18:12:09 -04:00
Tom Alexander
51e027ba67 Build the cilium manifest automatically in nix. 2026-07-06 18:12:09 -04:00
Tom Alexander
37efcdb367 Allow pods to directly speak to the public internet on their own public IPv6 addresses. 2026-07-06 18:12:08 -04:00
Tom Alexander
01d230bde6 Enable ipv4 and tunnel routing. 2026-07-06 18:12:08 -04:00
Tom Alexander
383acd4fd2 Switch to kubernetes ipam mode. 2026-07-06 18:12:08 -04:00
Tom Alexander
7df824da6a Fix service cluster ip range.
Kubernetes only allows a /112 for service ip range.
2026-07-06 18:12:08 -04:00
Tom Alexander
efbfe865e0 Fix trailing line break in kubernetes encryption config. 2026-07-06 18:12:08 -04:00
Tom Alexander
2314bef2ad Move the yaml functions to their own file. 2026-07-06 18:12:08 -04:00
Tom Alexander
8e9bd9acc1 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-07-06 18:12:08 -04:00
Tom Alexander
d924aa3a81 Add missing cidr declarations. 2026-07-06 18:12:07 -04:00
Tom Alexander
2bbf44e528 Fix DNS resolution. 2026-07-06 18:12:07 -04:00
Tom Alexander
c289f46cc5 Apply the git repo to the cluster. 2026-07-06 18:12:07 -04:00
Tom Alexander
88b1c36c0d Trust flux's ssh key in the yaml git repo. 2026-07-06 18:12:07 -04:00
Tom Alexander
dbd82b998d Generic secrets for ssh keys. 2026-07-06 18:12:07 -04:00
Tom Alexander
1700c42926 Generic secrets for pgp keys. 2026-07-06 18:12:07 -04:00
Tom Alexander
3c20fd49f0 Generate kubernetes secrets for ssh keys. 2026-07-06 18:12:06 -04:00
Tom Alexander
903c1c1f41 Install CoreDNS. 2026-07-06 18:12:06 -04:00
Tom Alexander
158c622840 Generate pgp keys for sops. 2026-07-06 18:12:06 -04:00
Tom Alexander
ceb627bb35 Generate ssh keys for flux bootstrap. 2026-07-06 18:12:06 -04:00
Tom Alexander
a3f1dff351 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-07-06 18:12:06 -04:00
Tom Alexander
19b2da0d40 Add kube-proxy. 2026-07-06 18:12:04 -04:00
Tom Alexander
95ec23126a Add kubelet. 2026-07-06 18:12:04 -04:00
Tom Alexander
868b9b9889 Add kube-scheduler. 2026-07-06 18:12:04 -04:00
Tom Alexander
d0439a6d2f Add kube-controller-manager. 2026-07-06 18:12:04 -04:00
Tom Alexander
fd15dc5bef Fix launching kube-apiserver. 2026-07-06 18:12:04 -04:00
Tom Alexander
380ac011f1 Move the encryption config into a package. 2026-07-06 18:12:03 -04:00
Tom Alexander
f4891f345e Switch to generating certs with openssl. 2026-07-06 18:12:03 -04:00
Tom Alexander
f8ad309c0b Add controller proxy certs. 2026-07-06 18:12:03 -04:00
Tom Alexander
6c07157f21 Add requestheader-client-ca. 2026-07-06 18:12:03 -04:00
Tom Alexander
6aa87faecb Add service account. 2026-07-06 18:12:03 -04:00
Tom Alexander
732e2cd296 Install kubernetes. 2026-07-06 18:12:03 -04:00
Tom Alexander
ac07941b8e Add additional controllers. 2026-07-06 18:12:02 -04:00
Tom Alexander
fa59f17df5 Add configs for a new kubernetes cluster on NixOS. 2026-07-06 18:12:00 -04:00