Kubernetes configuration for my personal homelab, managed via GitOps with FluxCD and running on Talos Linux.
| Component | Technology |
|---|---|
| OS | Talos Linux |
| GitOps | FluxCD v2 |
| Package Management | Helm |
| Secrets | SOPS + Age |
| Development Shell | Nix |
├── clusters/homelab/ # FluxCD Kustomizations
├── infrastructure/ # Core infra (networking, storage, etc.)
├── apps/ # Application deployments
├── monitoring/ # Observability stack
└── addons/ # Cluster-wide addons
# Enter development shell
nix develop
# Format and validate
nix fmtThis repository uses FluxCD Image Update Automation to automatically keep container images up-to-date:
- Detection: Flux scans container registries every 5 hours for new image versions
- Branch Creation: When updates are found, Flux creates feature branches with pattern
image-update-<app-name> - Automatic PRs: GitHub Actions automatically creates pull requests from these branches
- Review: PRs can be reviewed and merged to apply updates
- Semantic Branch Naming: Uses
image-update-*pattern to filter automation branches - PR Deduplication: Prevents duplicate PRs for the same update
- Automatic Labeling: PRs are labeled with
image-updateandautomated - Rich Descriptions: Includes commit details and verification information
Built with care for learning, experimentation, and reliable self-hosting.