Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
PSA: Web UI in the real world
Editing in the UI is
not
declarative
Make it read-only for your users (dev/ops). Only use for deployment monitoring
All changes should be through YAML in Git
Let’s do a quick demo of Argo CD web UI
Argo CD GitOps repo design options
Argo CD is flexible about how you organize your Git repos
Assume YAML is in a different repo from app code (a
12-Factor principle
) and many other reasons
Repo design often/should reflect org structure (
Conway’s Law
)
Minimal: Shared ownership
1
ring
repo to rule them all:
Kustomize + Helm + Argo CD App + Argo CD Config
Scalable: Split app configs from Argo CD configs 👈 my favorite
1 Kustomize/Helm repo per solution:
(Dev and DevOps share ownership)
1 Argo CD repo
: Argo CD App + Argo CD Config (DevOps or Ops team owns)
Optional: involves DevOps/Ops PR approval when first adding an app to Argo CD (since they own repo)
ApplicationSet
now enables Ops cluster control while Devs add/remove apps at will
Day to day, Devs can PR to their own Kustomize/Helm repos w/o Ops involvement
Dev self-service
By default, all Argo CD apps are managed within the same
argocd
namespace
This requires App YAML authors (Devs) to have Argo CD write perms, basically cluster admin
You can mitigate this with branch protection PR reviews by DevOps/Ops of app YAML (which is what I do)
That can slow down Devs, which now need a DevOps PR approval to add new Apps
What if Dev teams could manage their own apps in their own namespaces?
Repo design needs to be split further
Kustomize/Helm repo per "solution" or "area of responsibility" (Dev and DevOps share ownership)
Argo CD App repo (Dev teams own)
Argo CD Config repo (DevOps/Ops team owns)
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Loading slide...
Enter fullscreen
Go to previous slide
Go to next slide
Show slide overview
Switch to dark mode theme
Show drawing toolbar
More Options
121
/ 174
Close