Kubernetes manifests for everything self-hosted on my k3s cluster: how each app is deployed, configured, and wired together https://mitko.sh
  • Go Template 48.6%
  • HTML 47.1%
  • Go 3%
  • Shell 0.9%
  • Dockerfile 0.4%
Find a file
2026-07-13 01:54:41 +03:00
done created a runner and general forgejo cleanup 2026-07-13 01:54:41 +03:00
test initial commit to my public repo 2026-07-12 23:22:33 +03:00
to-do created a runner and general forgejo cleanup 2026-07-13 01:54:41 +03:00
README.md README adjustment 2026-07-12 23:44:54 +03:00

yamls

My k3s hosted applications and workflows — the Kubernetes manifests and Helm configs behind everything running on the cluster, organized by service.

This is the application layer. Cluster provisioning itself (NixOS, Ansible, disko, k3s) lives in a separate infrastructure-as-code repo: k3s-setup.

Layout

done/     services that are live on the cluster
to-do/    staged / not yet deployed
test/     experiments, scratch manifests

Each service gets its own subdirectory with whatever mix of raw manifests, Kustomize, or vendored Helm charts it needs.

Services

Service Status Notes
Longhorn done cluster storage
MetalLB done bare-metal LoadBalancer
cert-manager / Cloudflare DNS-01 done TLS certs
Harbor done container registry
Forgejo to-do git hosting
n8n done workflow automation
mox done mail server
Synapse (Matrix) to-do chat
coturn to-do TURN/STUN for Synapse
XMPP to-do chat
Jellyfin done media
Wiki done personal wiki
Monero node to-do p2p + RPC over Tor
ArgoCD done GitOps
Family sites (amalia, etc.) done small personal/family web apps

The Secrets

No real credentials are committed here — every Secret manifest's stringData/data holds the placeholder value.

Status

Personal homelab config — expect rough edges, half-finished services in to-do/, and experiments in test/ that aren't meant to run anywhere.