43 Commits

Author SHA1 Message Date
Tom Alexander
c87517a434
Use CoreDNS for in-cluster DNS requests and caching. 2026-03-19 18:17:04 -04:00
Tom Alexander
a62806b1de
Enable native routing. 2026-03-19 18:17:04 -04:00
Tom Alexander
865b4b65ac
Build the cilium manifest automatically in nix. 2026-03-19 18:17:04 -04:00
Tom Alexander
e116c1a544
Allow pods to directly speak to the public internet on their own public IPv6 addresses. 2026-03-19 18:17:03 -04:00
Tom Alexander
25abdb0a65
Enable ipv4 and tunnel routing. 2026-03-19 18:17:03 -04:00
Tom Alexander
c7db91e2ba
Switch to kubernetes ipam mode. 2026-03-19 18:17:03 -04:00
Tom Alexander
187c3edc59
Fix service cluster ip range.
Kubernetes only allows a /112 for service ip range.
2026-03-19 18:17:03 -04:00
Tom Alexander
8e6046ae0c
Fix trailing line break in kubernetes encryption config. 2026-03-19 18:17:03 -04:00
Tom Alexander
1d7ea1bbaa
Move the yaml functions to their own file. 2026-03-19 18:17:03 -04:00
Tom Alexander
97531e2421
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-19 18:17:03 -04:00
Tom Alexander
7279d91a53
Add missing cidr declarations. 2026-03-19 18:17:02 -04:00
Tom Alexander
9c7bb49130
Fix DNS resolution. 2026-03-19 18:17:02 -04:00
Tom Alexander
291d4fa345
Apply the git repo to the cluster. 2026-03-19 18:17:02 -04:00
Tom Alexander
85649d7b6c
Trust flux's ssh key in the yaml git repo. 2026-03-19 18:17:02 -04:00
Tom Alexander
bf2712331e
Generic secrets for ssh keys. 2026-03-19 18:17:02 -04:00
Tom Alexander
575a355bfc
Generic secrets for pgp keys. 2026-03-19 18:17:02 -04:00
Tom Alexander
593e01cbf9
Generate kubernetes secrets for ssh keys. 2026-03-19 18:17:01 -04:00
Tom Alexander
97d48f1035
Install CoreDNS. 2026-03-19 18:17:01 -04:00
Tom Alexander
2c58f4ee8e
Generate pgp keys for sops. 2026-03-19 18:17:01 -04:00
Tom Alexander
ea62ed81bb
Generate ssh keys for flux bootstrap. 2026-03-19 18:17:01 -04:00
Tom Alexander
15a101793d
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-19 18:17:01 -04:00
Tom Alexander
fe6c66485b
Set up flux. 2026-03-19 18:17:01 -04:00
Tom Alexander
841ea642b4
Add a bootstrap role. 2026-03-19 18:17:01 -04:00
Tom Alexander
5fa5c2521f
Add a bootstrap role to load manifests into the cluster. 2026-03-19 18:17:00 -04:00
Tom Alexander
c8b5d9e431
Fix launching of containers. 2026-03-19 18:17:00 -04:00
Tom Alexander
5c5c31e0e5
Create a debugging role. 2026-03-19 18:17:00 -04:00
Tom Alexander
bd08378f6e
Some networking fixes. 2026-03-19 18:17:00 -04:00
Tom Alexander
9fbec95c5c
Add cilium bootstrap. 2026-03-19 18:17:00 -04:00
Tom Alexander
63aae18173
Installing the cni plugins. 2026-03-19 18:17:00 -04:00
Tom Alexander
37f5564f74
Add kube-proxy. 2026-03-19 18:16:59 -04:00
Tom Alexander
066c8bbcff
Add kubelet. 2026-03-19 18:16:59 -04:00
Tom Alexander
14711724f0
Add worker nodes. 2026-03-19 18:16:59 -04:00
Tom Alexander
0ecf8b7f84
Add kube-scheduler. 2026-03-19 18:16:59 -04:00
Tom Alexander
c3ded367e6
Add kube-controller-manager. 2026-03-19 18:16:59 -04:00
Tom Alexander
d2e59e5d0d
Fix launching kube-apiserver. 2026-03-19 18:16:59 -04:00
Tom Alexander
72345e363f
Move the encryption config into a package. 2026-03-19 18:16:58 -04:00
Tom Alexander
2f35f56c72
Switch to generating certs with openssl. 2026-03-19 18:16:58 -04:00
Tom Alexander
2b037dc8ad
Add controller proxy certs. 2026-03-19 18:16:58 -04:00
Tom Alexander
6ffc4c92fd
Add requestheader-client-ca. 2026-03-19 18:16:58 -04:00
Tom Alexander
fcf1200114
Add service account. 2026-03-19 18:16:58 -04:00
Tom Alexander
19536e0548
Install kubernetes. 2026-03-19 18:16:58 -04:00
Tom Alexander
e1d62dc916
Add additional controllers. 2026-03-19 18:16:58 -04:00
Tom Alexander
3f6ec161d3
Add configs for a new kubernetes cluster on NixOS. 2026-03-19 18:16:57 -04:00