-
-
Notifications
You must be signed in to change notification settings - Fork 855
feat!: migrate to NixOS #197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Still not 100% sure if this is an optimal solution, but seems to work for now.
Replaced by NixOS.
Previous Python one is PoC.
Instead of having the installer trying to figure out its own IP.
|
@khuedoan would it be better to use Talos instead of nixos and k3s? It makes it so you don't need to manage the underlaying OS and it's also declarative with a focus on Kubernetes and there's also PXE support. Curious on your thoughts around this, as I understand Talos can be limiting in some regards, are you worried about hardware incompatibilities, drivers or something else? Also you don't need kube-vip with Talos as it's natively supported. Unrelated to the above, Metallb can be replaced with Cilium (it works in L2 and/or L3) for svc LBs, it could also be used for the kube-vip once the cluster is bootstrapped. |
|
@onedr0p hey ya, thanks for taking a look, that’s a great question! I should There are many things that I like in Talos that are missing in NixOS
But using NixOS I'll have to sacrifies those things (and may have to reinvent
Phew that kinda long 😆 Also I’ll try some LB combinations again, ideally fewer Footnotes
|
Migrate to a pure Nix/NixOS setup, including the PXE boot process. This is still in a very early draft stage.
Obviously this will need a full cluster rebuild. Ideally, the end result should be smaller with fewer lines of code than the current one - excluding the lock/sum files, but this is not strictly required.
nixos-anywheresops-nixpixiecorelibrary)nixos-rebuildis sufficient or ifdeploy-rsis needed.KUBECONFIGDraft on decisions:
pixiecoreinto the installer instead of running it as a separate process: While we can shell out to the pixiecore CLI, we need an API for dynamic configuration anyway, so it makes sense to use the pixiecore library to manage with function calls instead of API calls.