Commit Graph

1267 Commits

Author SHA1 Message Date
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
Tom Alexander
8d3ebf7ba2 Update packages. 2026-05-01 20:16:45 -04:00
Tom Alexander
d35cfaacbd Add nix-pin-revision script. 2026-04-26 08:32:17 -04:00
Tom Alexander
8b1212e182 Support hardware accelerated RNG in qemurc. 2026-04-26 08:32:17 -04:00
Tom Alexander
7f0250cb9d Sync to the store before registering paths. 2026-04-26 08:32:17 -04:00