Spin up the homelab infrastructure with minimum actions
  • HCL 86%
  • Go Template 14%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-01 21:35:11 +01:00
tofu replaced node cp-3 2026-11-01 21:35:11 +01:00
.gitignore Initial commit 2026-10-20 10:52:06 +02:00
README.md feat: add networking module 2026-10-30 09:13:02 +01:00

homelab-iac

Spin up my homelab infrastructure with minimum actions. This allows me to setup my talos bare-metal nodes and some of my network settings.

Cilium

Here is the command used to create cilium manifest. It create the bare minimal cilium installation to allow the cluster creation. Further configuration will be applied by fluxCD manifest.

helm template \
    cilium \
    cilium/cilium \
    --version 1.20.3 \
    --namespace kube-system \
    --set ipam.mode=kubernetes \
    --set kubeProxyReplacement=true \
    --set securityContext.capabilities.ciliumAgent="{CHOWN,KILL,NET_ADMIN,NET_RAW,IPC_LOCK,SYS_ADMIN,SYS_RESOURCE,DAC_OVERRIDE,FOWNER,SETGID,SETUID}" \
    --set securityContext.capabilities.cleanCiliumState="{NET_ADMIN,SYS_ADMIN,SYS_RESOURCE}" \
    --set cgroup.autoMount.enabled=false \
    --set cgroup.hostRoot=/sys/fs/cgroup \
    --set k8sServiceHost=localhost \
    --set k8sServicePort=7445

Longhorn

Here is the command used to create longhorn manifest. Same as Cilium, it is bare minimum for the cluster to run. Customization is applied by fluxCD manifests.

helm template \
    longhorn \
    longhorn/longhorn \
    --version 1.13.0 \
    --namespace longhorn-system \
    --set defaultSettings.defaultDataPath=/var/mnt/longhorn