A GitOps-managed Kuberentes homelab running infrastructure services and some of my custom containerized workloads.
apps/roothas a root application that ArgoCD uses for bootstrapping new applications.- Infrastructure components are deployed via ArgoCD sync waves to prevent out-of-order resource deployment.
- Helm charts consume values that are stored in this repository.
- The Discord bot is deployed as an application workload.
- Tailscale provides private access to internal services.
flowchart TD
Git[Git Repository] --> Argo[Argo CD]
Argo --> Cilium[Cilium]
Argo --> Longhorn[Longhorn]
Argo --> Monitoring[Prometheus and Grafana]
Argo --> Secrets[Sealed Secrets]
Argo --> Tailscale[Tailscale Operator]
Argo --> Bot[Discord Bot]
Bot --> Storage[(Longhorn PVC)]
Cron[Daily Export CronJob] --> Bot
| Path | Purpose |
|---|---|
apps/root |
ArgoCD root application |
apps/infrastructure |
Cluster networking and storage |
apps/platform |
Shared platform services |
apps/workloads |
Application-level ArgoCD definitions |
manifests |
Helm values and Kubernetes workload manifests |
- ArgoCD: GitOps reconciliation
- Cilium: Container networking
- Longhorn: Persistent block storage
- Tailscale Operator: Private ingress/service access
- Sealed Secrets: Encrypted, secure secret storage in Git
- kube-prometheus-stack: Metrics and dashboards
- Discord Bot: Application workload
- Disciord export CronJob: Scheduled batch processing