Mitt repo för mitt hemlabb som jag försöker köra IaC på
  • Shell 86.3%
  • Jinja 13.7%
Find a file
2026-07-08 22:22:10 +02:00
.vscode vscode-settings workspace specifikt 2026-06-15 10:30:02 +02:00
ansible koel 2026-07-08 16:35:36 +02:00
docs Add local development guide and update README 2026-06-15 10:22:55 +02:00
kind Add kind local dev environment and Flux bootstrap for develop branch 2026-06-15 10:07:24 +02:00
kubernetes missade 2026-07-08 22:22:10 +02:00
scripts Remove postgres central pod and use the regular appflowy stack to avoid migration problems with each push (#27) 2026-06-17 19:50:45 +00:00
talos Updated with new ips 2026-06-29 12:32:57 +02:00
.gitignore Updated with new ips 2026-06-29 12:32:57 +02:00
.sops.yaml Fix SOPS encrypted_regex so Flux can decrypt karakeep secret 2026-06-16 18:38:11 +02:00
CLAUDE.md Updated with new ips 2026-06-29 12:32:57 +02:00
README.md Add local development guide and update README 2026-06-15 10:22:55 +02:00

kobbo-homelab

Homelab Kubernetes-kluster med tre controlplane-noder som kör Talos Linux. Workloads driftsätts via GitOps med Flux.

Kluster

Hostname Roll IP
starlord controlplane 192.168.30.108
rocky controlplane
groot controlplane

Kubernetes: v1.36.1 · Talos: v1.13.3 · Flux: v2.x

Repo-struktur

kind/                  # Kind-klusterkonfig för lokal dev
kubernetes/
  apps/                # Workloads: appflowy, newt, postgres
  core/                # Infrastruktur: metallb, local-path-provisioner, traefik
  flux/
    *.yaml             # Flux GitRepository + Kustomizations (prod, main-branch)
    local/             # Flux GitRepository + Kustomizations (lokal kind, develop-branch)
  overlays/
    local/             # kubectl apply-overlays för lokal kind (manuellt)
    flux-local/        # Kustomize-overlays som Flux i kind reconciliar
talos/                 # Talos machine configs
ansible/               # Server-side setup
scripts/               # Hjälpskript
docs/                  # Dokumentation

GitOps-flöde

develop  →  PR  →  main
   │                 │
   │                 └─ Flux (prod) deployr till klustret
   │
   └─ Flux (kind) reconciliar lokalt — testa innan PR
  • Allt arbete sker på develop
  • main är skyddad — kräver PR
  • Flux i prod tittar enbartmain

Kom igång

Se docs/local-dev.md för fullständig guide — ny dator, lokal setup, lägga till services, och vägen till produktion.

Snabbstart (redan satt upp)

# Starta kind-klustret
bash scripts/kind-setup.sh

# Applicera en app lokalt
bash scripts/local-apply.sh postgres

# Kolla Flux-status
flux get all -A

Secrets

Secrets krypteras med SOPS och age. Age-publicknyckeln finns i .sops.yaml.

sops -e secret.yaml > secret.enc.yaml   # kryptera
sops -d secret.enc.yaml                 # dekryptera

Den privata age-nyckeln lagras lokalt på ~/.config/sops/age/keys.txt — säkerhetskopiera den.