what’s everyone tooling of choice for gitops? Pers...
# gitops
d
what’s everyone tooling of choice for gitops? Personally big fan of github with either flux or argo. Not the most exciting combo but it works well
k
Been using flux for a while, and it does the trick in my usecases. Never tried Argo though. What would be the pros and cons comparing those two tools?
d
flux more closely follows the Unix tool philosophy: do one thing, do it well. Sync CRDs to cluster(s). CLI interface Argo is more of a do-it-all tool which is really appealing depending on the org/skill levels involved. Web user interface, visualizations, etc
r
GitHub Actions to Build & Push Docker Images, Helm as OCI to GHCR. As well as Automated creation of Deployment PRs to the cluster Repo where ArgoCD is hooked to (flux could also do the trick here, but it’s installed per Repo right? Do you still have a central GitOps repo for FluxCD CRDs?)
k
What I usually do when setting up Flux is to have a centralized GitOps github repo with application manifests structured such that Flux handles environment differences with kustomization overlays. I like to use Flux to automatically update new images in the manifests with its ImageReflectorController and ImageAutomationController which basically looks for new images in your image repository and update the image tag in manifests in github automatically (which I belive you cannot achive with Argo alone?). If you want Flux to look and sync manifest from other repos than the centralized GitOps repo it is possible if you add GitRepository and Kustimization manifests (available from Flux CRDs) to your centralized GitOps repo.
a
Been 1+ year on Flux (now v2). Additional things we did for developers: GitHub Action to manually deploy to Production should they want, Prometheus + Grafana for some metrics and dashboards. Don't want to get too fancy with Argo; we have automated CI/CD for all environments: We don't really need more. Looking into incorporating SOPS into it now.