Skip to content

didactiklabs/nixOS-server

Repository files navigation

Build Frieren Build Gojo Build megumin Build vi Build ippo

Installation

Warning !!! Only work on Legacy boot installation

Profile system works similarly to https://github.com/didactiklabs/nixbook.

- Easy Install and upgrades

Build the iso with the following command:

nix-shell
buildIso

Then just run the iso in a fresh VM, it will auto install the generic profile.

Customization is done via the profiles directories, you can apply another profile later on by changing the hostname. Colmena looks for the hostname.

The hostname must match the name of the profile.

Install or upgrade with a simple command:

colmena apply

It is possible to test the iso in a vm by doing the following:

nix-shell
runIso <partitions profile> <true or false, enable cloud-init>

The whole installation will roll before your eyes.

- Kubernetes

To upgrade kubernetes version you must do the following:

Upgrade the control plane and kubelet configs

You first need to check if the requested kubernetes version is available in the npins/sources.json (it should be automagically be updated with our didactikbot).

If not run:

npins add --name kubeadm-v1.31.1 github kubernetes kubernetes --at v1.31.1 # The naming is as important as the version pinned !!!
npins add --name kubelet-v1.31.1 github kubernetes kubernetes --at v1.31.1 # The naming is as important as the version pinned !!!

Then set the option in the module of your profile kubernetes.version.kubeadm.

Now run:

colmena apply # or merge to main to auto-apply it.

Then for the first controlplane:

colmena exec --on <cp0> "sudo kubeadm upgrade apply v1.31.1 -y -v=9"

Then for others and workers:

colmena exec --on <worker01>,<worker02> "sudo kubeadm upgrade node -v=9"
Upgrade kubelet

Then set the option in the module of your profile kubernetes.version.kubelet.

Now run:

colmena apply # or merge to main to auto-apply it.