Flux watches my kubernetes folder (see Directories below) and makes the changes to my cluster based on the YAML manifests.
Flux is setup to recursively search the kubernetes/apps folder until it finds the most top level kustomization.yaml
per directory and then apply all the resources listed in it. That aforementioned kustomization.yaml
will generally only have a namespace resource and one or many Flux kustomizations. Those Flux kustomizations will generally have a HelmRelease
or other resources related to the application underneath it which will be applied.
Renovate watches my entire repository looking for dependency updates, when they are found a PR is automatically created. When some PRs are merged Flux applies the changes to my cluster.
This Git repository contains the following directories under kubernetes.
📁 k8s-home-ops
├── 📁 kubernetes # kubernetes configurations
│ ├── 📁 apps # applications
│ │ └─ 📁 networking # namespace folder
│ │ └─ 📁 multus # application folder
│ ├── 📁 bootstrap # bootstrap procedures
│ ├── 📁 flux # core flux configuration
└── └── 📁 talos # talos configuration
You can most likely skip over this part of the README; I'm using it to track the progress of an audit across all of my apps. Lots of different fields and configurations have been applied as I've borrowed a lot of the manifests from various different places; as an effort to unify my approach, I'm auditing all apps to make sure they are properly configured the way I'd like them to be.
- databases
- cloudnative-pg
- development
- drone
- drone-runner-docker
- downloads
- flaresolverr
- prowlarr
- rdt-client
- home
- ha-fpp-mqtt
- home-assistant
- mosquitto
- weatherflow2mqtt
- wyoming-piper
- zigbee2mqtt
- zwavejs2mqtt
- ingress
- media
- bazarr
- common
- lidarr
- radarr
- sonarr
- monitoring
- networking
- nvr
- storage
- system
- web
This is just a list of things that I'd like to accomplish when I have time to cleanup this repository.
- Re-work grafana dashboards
- Remove "common" folders
- Determine if we want to support
app.kubernetes.io/name
andapp.kubernetes.io/instance
everywhere