GitOps
Flux
I liked the semantics. Lack of UI was main gripe. There’s now a UI as part of https://github.com/weaveworks/weave-gitops.
ArgoCD
I tried ArgoCD drawn by the UI but the semantics don’t seem to be what I want https://github.com/argoproj/argo-cd/issues/11494.
- It was also running (Dex?) for OIDC which was a bit annoying.
Config Sync Won’t Work
Tried Config Sync and ran into the following issues
It doesn’t have a way to ignore certain files (e.g. .lastsync.yaml).
It doesn’t have a feature to validate the K8s configs before apply them
It only seems to use polling to check for changes which means it might not immediately pick up changes
It wasn’t clear how to break it up into different atomic units that are applied individually.
The builtin UI in gcloud was a draw but the others make it seem like it won’t work
GitOps and ACM
- On an ACM cluster; we can’t install flux because we aren’t allowed to run workloads on that cluster
- If we use ConfigSync we hit the issues above but I think we can work around it in this limited context
- ConfigSync has a high polling period 15s so the latency isn’t too bad
- Unlike application changes the iteration loop arguably doesn’t need to be as tight
- We probably don’t need to chunk up our configuration into different atomic units; this also means we can alos deal with “.lastsync.yaml” by using a subdirectory