https://github.com/pausic/homeops
GitOps-managed k3s homelab cluster with Flux
https://github.com/pausic/homeops
flux gitops helm k3s k8s k8s-at-home renovate selfhosted
Last synced: 15 days ago
JSON representation
GitOps-managed k3s homelab cluster with Flux
- Host: GitHub
- URL: https://github.com/pausic/homeops
- Owner: pausic
- Created: 2026-01-07T12:34:49.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2026-06-19T06:18:06.000Z (about 1 month ago)
- Last Synced: 2026-06-19T08:19:56.100Z (about 1 month ago)
- Topics: flux, gitops, helm, k3s, k8s, k8s-at-home, renovate, selfhosted
- Homepage:
- Size: 200 KB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# homeops
### GitOps-managed Kubernetes homelab
[](https://k3s.io/)
[](https://fluxcd.io/)
[](https://github.com/pausic/homeops/commits/master)
---
## :cloud: Overview
This repository defines the state of my single-node [k3s](https://k3s.io/) cluster using [Flux v2](https://fluxcd.io/) and GitOps principles.
## :bricks: Infrastructure
| Component | Details |
|-----------|---------|
| **Node** | Single-node k3s cluster |
| **OS** | Ubuntu |
| **Ingress** | [Traefik](https://traefik.io/) |
| **Storage** | [Longhorn](https://longhorn.io/) |
| **Certificates** | [cert-manager](https://cert-manager.io/) (self-signed CA) |
| **Databases** | [CloudNativePG](https://cloudnative-pg.io/) |
| **Secrets** | [SOPS](https://github.com/getsops/sops) |
## :hourglass_flowing_sand: GitOps Flow
Flux Kustomizations are chained with `wait: true` to enforce deployment order:
```
flux-system (bootstrap)
└─ infra-sources (HelmRepositories, OCIRepositories)
└─ infra-controllers (Traefik, Longhorn, CNPG, cert-manager, ...)
└─ infra-configs (StorageClass, PG Clusters, Middleware, Certificates)
└─ apps (Monitoring, Media, Networking, Productivity)
```
## :telescope: Namespaces
- [`flux-system`](./clusters/homelab/flux-system/)
- [`kube-system`](./infrastructure/controllers/)
- [`longhorn-system`](./infrastructure/controllers/)
- [`monitoring`](./apps/monitoring/)
- [`storage`](./infrastructure/configs/cnpg/)
- [`media`](./apps/media/)
- [`networking`](./apps/networking/)
- [`productivity`](./apps/productivity/)
## :file_folder: Repository Structure
```
homeops/
├── clusters/homelab/ # Flux bootstrap entry point
├── infrastructure/
│ ├── sources/ # HelmRepository / OCIRepository definitions
│ ├── controllers/ # Infrastructure HelmReleases
│ └── configs/ # Post-controller config (certs, PG clusters, middleware)
└── apps/
├── monitoring/ # Observability stack
├── media/ # Media management
├── networking/ # Network services
└── productivity/ # Productivity tools
```