You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,3 +111,31 @@ see how we can make this happen.
111
111
112
112
There is [an open proposal](https://github.com/argoproj/argo-cd/issues/7385) to migrate this project into the `argoproj` org (out
113
113
of the `argoproj-labs` org) and include it in the installation of Argo CD.
114
+
115
+
## Engineering notes (recent changes)
116
+
117
+
- Registry client hardening
118
+
- HTTP transport reuse per registry with sane timeouts (keep-alives, capped TLS and response header timeouts) to cut connection churn under load.
119
+
- Singleflight-style deduplication and jittered retries (tags, manifests) with per-attempt deadlines to avoid thundering herds and reduce /jwt/auth pressure.
120
+
121
+
- Git write-back throughput
122
+
- Per-repo serialization to eliminate races in monorepos, plus a batched writer that coalesces multiple intents into a single commit/push per repo/branch.
123
+
- Multi-branch grouping: intents for different write branches never mix; each branch flushes independently.
124
+
- Logs reflect queued writes: look for "Queuing N parameter update(s) … (git write pending)" and the subsequent commit/push logs.
125
+
126
+
- Scheduling and fairness
127
+
- Optional scheduler flags to prioritize apps: `--schedule` (default|lru|fail-first), `--cooldown` (deprioritize recently successful apps), and `--per-repo-cap` (cap updates per repo per cycle).
128
+
- Goal: prevent a hot monorepo from starving others while keeping high concurrency.
129
+
130
+
- Operational guidance
131
+
- Concurrency: set `--max-concurrency` roughly ≥ number of active repos; monorepos serialize on their writer, others proceed in parallel.
132
+
- Registry RPS: tune `limit` in `registries.conf` (e.g., 30–50 RPS) and monitor latency/429s.
133
+
- Monorepos: prefer per-app write branches or rely on batching to reduce fetch/commit/push churn.
0 commit comments