I use manifest files in order to make my homelab as reproducable as possible.
My kubernetes cluster I refer to as Canti. Like the robot in FLCL, my rig helps keep my life together (until it's trying to kill me).
Hosts:
- bigkahuna: A clunky old desktop that is currently my only host.
- Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
- 8 Cores
- 24Gb of RAM
- 128GB of storage
- 2TB shared over NFS (main storage for the k3s)
File structure:
- manifests/: Anything that is not declared in a folder (through kustomize
for example) and declared through
kubectl apply -f manifests/... - kustomize/: Kustomize directories declared through
kubectl apply -k kustomize/... - helm/: Helm values directors and scripts (check out the scripts section/actual scripts for installation)
Any file name ending with -ex should be modified accordingly (for secrets and such). Apply storage claims in the style of nfs-storage.yaml in manifests! Remember that Folders may contain scripts (use chmod +x ... if it does not work):
- helm/add_all_repos.sh: Installs relevent repos and attempts to install repos (without the -ex suffix, so modify those files first)!
- helm/add_repos.sh: Installs the helm repos using a script! Still need to manually use the helm value yaml's.
Remember that you need to set up a service for immich. I use tailscale with the operator in manifests/immich-service.yaml.
Some basic commands that I typically forget.
Stats and maintenance:
- lscpu
- lsblk