Nix: Cloud Native | 261 Members | |
| 58 Servers |
| Sender | Message | Time |
|---|---|---|
| 10 Nov 2025 | ||
| I'm building my own Hetzner Kubernetes (ClusterAPI managed) cluster using some of the Nix Kubernetes tools I've been working on (nix-csi and by proxy dinix, easykubenix). The goal of the cluster is to be the cheapest shit you could possibly imagine meaning no LoadBalancers. To do this I had to write a little Python thing that creates ipaddresspools for the MetalLB(controller no speaker) to assign service IP's from the nodes externalip list. I expanded it to split the IPv6 /64 you get from Hetzner into two and assign one to services and one to pods. Anyways to deploy this Python script I used nix-csi so here's a public example of how it works https://github.com/Lillecarl/hetzkube/commit/f35b8fadfe17d5cc7054ae6f6cf187879272d2ba Since the cluster is x86 and arm I had to build the script for both x86 and arm which was no problem (nix-csi picks arch by where it's scheduled) 😄 Aye it also makes DNSEndpoint resources from the control-plane nodes IP's so I don't need an LB there either | 02:58:48 | |
| * I'm building my own Hetzner Kubernetes (ClusterAPI managed) cluster using some of the Nix Kubernetes tools I've been working on (nix-csi and by proxy dinix, easykubenix). The goal of the cluster is to be the cheapest shit you could possibly imagine meaning no LoadBalancers. To do this I had to write a little Python thing that creates ipaddresspools for the MetalLB(controller no speaker) to assign service IP's from the nodes externalip list. I expanded it to split the IPv6 /64 you get from Hetzner into two and assign one to services and one to pods. Anyways to deploy this Python script I used nix-csi so here's a public example of how it works https://github.com/Lillecarl/hetzkube/commit/f35b8fadfe17d5cc7054ae6f6cf187879272d2ba Since the cluster is x86 and arm I had to build the script for both x86 and arm which was no problem (nix-csi picks arch by where it's scheduled) 😄 Aye it also makes DNSEndpoint resources from the control-plane nodes IP's so I don't need an LB there either Disclaimer: The Python script is a collaboration with AI | 02:59:28 | |
| * I'm building my own Hetzner Kubernetes (ClusterAPI managed) cluster using some of the Nix Kubernetes tools I've been working on (nix-csi and by proxy dinix, easykubenix). The goal of the cluster is to be the cheapest shit you could possibly imagine meaning no LoadBalancers. To do this I had to write a little Python thing that creates ipaddresspools for the MetalLB(controller no speaker) to assign service IP's from the nodes externalip list. I expanded it to split the IPv6 /64 you get from Hetzner into two and assign one to services and one to pods. Anyways to deploy this Python script I used nix-csi so here's a public example of how it works commit Since the cluster is x86 and arm I had to build the script for both x86 and arm which was no problem (nix-csi picks arch by where it's scheduled) 😄) Here's the [nix-csi magic](https://github.com/Lillecarl/hetzkube/commit/f35b8fadfe17d5cc7054ae6f6cf187879272d2ba#diff-4c88f6039362165e9d0e418fce1c757befb04cf659d7738a89807fc7504ccadcR5-R113 Aye it also makes DNSEndpoint resources from the control-plane nodes IP's so I don't need an LB there either Disclaimer: The Python script is a collaboration with AI | 03:00:13 | |
| * I'm building my own Hetzner Kubernetes (ClusterAPI managed) cluster using some of the Nix Kubernetes tools I've been working on (nix-csi and by proxy dinix, easykubenix). The goal of the cluster is to be the cheapest shit you could possibly imagine meaning no LoadBalancers. To do this I had to write a little Python thing that creates ipaddresspools for the MetalLB(controller no speaker) to assign service IP's from the nodes externalip list. I expanded it to split the IPv6 /64 you get from Hetzner into two and assign one to services and one to pods. Anyways to deploy this Python script I used nix-csi so here's a public example of how it works commit Since the cluster is x86 and arm I had to build the script for both x86 and arm which was no problem (nix-csi picks arch by where it's scheduled) 😄) Here's the [nix-csi magic](https://github.com/Lillecarl/hetzkube/commit/f35b8fadfe17d5cc7054ae6f6cf187879272d2ba#diff-4c88f6039362165e9d0e418fce1c757befb04cf659d7738a89807fc7504ccadcR5-R113) Aye it also makes DNSEndpoint resources from the control-plane nodes IP's so I don't need an LB there either Disclaimer: The Python script is a collaboration with AI | 03:00:27 | |
| * I'm building my own Hetzner Kubernetes (ClusterAPI managed) cluster using some of the Nix Kubernetes tools I've been working on (nix-csi and by proxy dinix, easykubenix). The goal of the cluster is to be the cheapest shit you could possibly imagine meaning no LoadBalancers. To do this I had to write a little Python thing that creates ipaddresspools for the MetalLB(controller no speaker) to assign service IP's from the nodes externalip list. I expanded it to split the IPv6 /64 you get from Hetzner into two and assign one to services and one to pods. Anyways to deploy this Python script I used nix-csi so here's a public example of how it works commit Since the cluster is x86 and arm I had to build the script for both x86 and arm which was no problem (nix-csi picks arch by where it's scheduled) 😄) Here's the nix-csi magic Aye it also makes DNSEndpoint resources from the control-plane nodes IP's so I don't need an LB there either Disclaimer: The Python script is a collaboration with AI | 03:00:49 | |
| I felt it was time to build an actual "production-ish" cluster to eventually host something real. Ofc it should run both DualStack IP and dual architectures to make it a little challenging | 03:03:36 | |
| Does Hetzner do BGP any cast? | 18:11:00 | |
| 11 Nov 2025 | ||
| 09:22:17 | ||
| 14:05:12 | ||
| @lillecarl:matrix.org: I didnt have enought time to check nix-csi yet, sorry | 19:32:22 | |
In reply to @lillecarl:matrix.orgAbout this, pretty amazing! | 19:32:35 | |
| Nop | 19:59:24 | |
| 12 Nov 2025 | ||
| 12:38:46 | ||
| 13 Nov 2025 | ||
| 21:55:51 | ||
| 17 Nov 2025 | ||
| 01:54:18 | ||
| 19 Nov 2025 | ||
| 22:02:20 | ||
| 20 Nov 2025 | ||
| 06:09:48 | ||
| 22 Nov 2025 | ||
| 18:11:19 | ||
| 19:10:28 | ||
| 24 Nov 2025 | ||
| 13:22:19 | ||
| 13:32:01 | ||
| 13:34:23 | ||
| 16:50:03 | ||
| 4 Dec 2025 | ||
| 04:20:23 | ||
| 6 Dec 2025 | ||
| 07:43:09 | ||
| 7 Dec 2025 | ||
| 00:30:02 | ||
| 11 Dec 2025 | ||
| 16:09:32 | ||
| 19:53:02 | ||
| 15 Dec 2025 | ||
| Would be nice if someone could look at https://github.com/NixOS/nixpkgs/pull/427694 | 16:07:34 | |
| 19 Dec 2025 | ||
| I dont think this does what you think it does? If a derivation could leak this information from the host builder we have a vulnerability -- not a feature | 09:58:00 | |