FluxCD
Note: Since you have to go through setting up your repository there is no real TL;DR immediately. If you have done that already and are looking for the install script you can jump ahead to the bootstrap section. Otherwise the basic way to go about it is:
- Setting up SOPS + Age
- Setting up the infrastructure + apps
- Setting up the secrets and encrytping them
Introduction - Isn't it overkill?
Warming up to GitOps and the ideas behind it took some time because, especiallly for my use case (HomeOps), it seemed like an unnecessary overhead and since I had a lot of bash scripts left from the Docker days (how everything began <3) at the time I thought those scripts are more than enough. But once you understand the concept and try it you will never want to go back because it just makes everything so smooth and easy. Just make sure to document everything as good as possible because in some cases you will not touch it in a long time, especially if things like Renovate take care of updates, and you will otherwise spent time relearning things again.
Structure of the home-ops repository
There are different ways to go about structuring your home-ops repository and depending on your needs or preferences you will probably structure yours a different way than I did.
Which structures are proposed by the FluxCD team can be found here.
Which proposal this repository was modeled after can be found here.