Commit Graph

1265 Commits

Author SHA1 Message Date
Tom Alexander
a7f2a97125 Implement a generic helm templater package. 2026-04-26 12:45:03 -04:00
Tom Alexander
f5e80ee3bd Switch to generating the coredns manifests via nix. 2026-04-26 12:45:03 -04:00
Tom Alexander
2b7ab9764c Use CoreDNS for in-cluster DNS requests and caching. 2026-04-26 12:45:03 -04:00
Tom Alexander
3423dc0f38 Enable native routing. 2026-04-26 12:45:03 -04:00
Tom Alexander
be85d828b9 Build the cilium manifest automatically in nix. 2026-04-26 12:45:03 -04:00
Tom Alexander
332bab09e3 Allow pods to directly speak to the public internet on their own public IPv6 addresses. 2026-04-26 12:45:02 -04:00
Tom Alexander
98a5029ccf Enable ipv4 and tunnel routing. 2026-04-26 12:45:02 -04:00
Tom Alexander
ed5d463741 Switch to kubernetes ipam mode. 2026-04-26 12:45:02 -04:00
Tom Alexander
0c7733d418 Fix service cluster ip range.
Kubernetes only allows a /112 for service ip range.
2026-04-26 12:45:02 -04:00
Tom Alexander
1699977503 Fix trailing line break in kubernetes encryption config. 2026-04-26 12:45:02 -04:00
Tom Alexander
20ecabb7fc Move the yaml functions to their own file. 2026-04-26 12:45:02 -04:00
Tom Alexander
a56187e817 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-04-26 12:45:01 -04:00
Tom Alexander
a8a0eab820 Add missing cidr declarations. 2026-04-26 12:45:01 -04:00
Tom Alexander
0ad71fc915 Fix DNS resolution. 2026-04-26 12:45:01 -04:00
Tom Alexander
83ea14b0a4 Apply the git repo to the cluster. 2026-04-26 12:45:01 -04:00
Tom Alexander
c3aa678a9b Trust flux's ssh key in the yaml git repo. 2026-04-26 12:45:01 -04:00
Tom Alexander
fb327e5c76 Generic secrets for ssh keys. 2026-04-26 12:45:01 -04:00
Tom Alexander
6642cedadf Generic secrets for pgp keys. 2026-04-26 12:45:00 -04:00
Tom Alexander
c005f4faee Generate kubernetes secrets for ssh keys. 2026-04-26 12:45:00 -04:00
Tom Alexander
f59225d283 Install CoreDNS. 2026-04-26 12:45:00 -04:00
Tom Alexander
74fa3acb41 Generate pgp keys for sops. 2026-04-26 12:45:00 -04:00
Tom Alexander
4934eb2802 Generate ssh keys for flux bootstrap. 2026-04-26 12:45:00 -04:00
Tom Alexander
ae8c3f44e0 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-04-26 12:45:00 -04:00
Tom Alexander
e9901cd63a Set up flux. 2026-04-26 12:44:59 -04:00
Tom Alexander
a113cccb52 Add a bootstrap role. 2026-04-26 12:44:59 -04:00
Tom Alexander
b0fe14adfc Add a bootstrap role to load manifests into the cluster. 2026-04-26 12:44:59 -04:00
Tom Alexander
4e05c626e8 Fix launching of containers. 2026-04-26 12:44:59 -04:00
Tom Alexander
aaa07b8b9f Create a debugging role. 2026-04-26 12:44:59 -04:00
Tom Alexander
9608d33557 Some networking fixes. 2026-04-26 12:44:59 -04:00
Tom Alexander
a5e2eaee80 Add cilium bootstrap. 2026-04-26 12:44:58 -04:00
Tom Alexander
8a440d144d Installing the cni plugins. 2026-04-26 12:44:58 -04:00
Tom Alexander
988a1673b3 Add kube-proxy. 2026-04-26 12:44:58 -04:00
Tom Alexander
abae26ed17 Add kubelet. 2026-04-26 12:44:58 -04:00
Tom Alexander
3abffe2869 Add worker nodes. 2026-04-26 12:44:58 -04:00
Tom Alexander
47f57116d9 Add kube-scheduler. 2026-04-26 12:44:58 -04:00
Tom Alexander
e3ceee6d46 Add kube-controller-manager. 2026-04-26 12:44:57 -04:00
Tom Alexander
300328dc4a Fix launching kube-apiserver. 2026-04-26 12:44:57 -04:00
Tom Alexander
03efde4674 Move the encryption config into a package. 2026-04-26 12:44:57 -04:00
Tom Alexander
45312dd91f Switch to generating certs with openssl. 2026-04-26 12:44:57 -04:00
Tom Alexander
f2a505131a Add controller proxy certs. 2026-04-26 12:44:57 -04:00
Tom Alexander
f18b7d0da9 Add requestheader-client-ca. 2026-04-26 12:44:57 -04:00
Tom Alexander
51feef1582 Add service account. 2026-04-26 12:44:56 -04:00
Tom Alexander
41f9847262 Install kubernetes. 2026-04-26 12:44:56 -04:00
Tom Alexander
75fde32fd9 Add additional controllers. 2026-04-26 12:44:56 -04:00
Tom Alexander
b16db4325f Add configs for a new kubernetes cluster on NixOS. 2026-04-26 12:44:56 -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
Tom Alexander
bc2636a54c New VPN address for home server. 2026-04-26 08:32:17 -04:00
Tom Alexander
c8147b5e9e Use direct paths for hydra's nix store.
I was getting corrupted builds, so as a test I am using the direct path where the drive is mounted rather than going through bind mounts.
2026-04-26 08:32:17 -04:00