-
v0.6.11 Stable
released this
2026-07-07 19:36:41 +00:00 | 75 commits to main since this releaseChanged
ForgejoTagProtection+ForgejoCollaborator: skip the write when already in
sync, so steady-state reconciles no longer edit/re-grant every requeue. Tag
protection compares the live whitelist (order-insensitive) before
EditTagProtection; the collaborator grant is skipped when the user is already
a direct collaborator (IsCollaborator) at the desired permission
(CollaboratorPermission, with owner→admin coercion) — gated on direct
membership so an effective-permission match (repo owner, org admin, or
public-repo reader) never skips a genuinely-needed grant. This completes the
drift-skip audit: the other 10 controllers already diff-gate their writes.- Cut steady-state Forgejo API load. The gitea client — and its construction-time
GET /api/v1/versionprobe — is now cached per endpoint instead of rebuilt on
every reconcile of every resource, so the version is probed once per credential
rather than once per reconcile (~halving API calls); all clients share one
connection-pooledhttp.Transportwith a larger per-host idle pool. The default
drift-resync interval is raised from 5m to 15m — Forgejo has no watch/event API
for the settings these controllers manage, so periodic resync is the only drift
signal, and since the operator is the writer, drift is rare. - Reconcile + client timings are now configurable (defaults unchanged in spirit)
via flags that govern all controllers uniformly through the shared harness:
--resync-interval,--progressing-interval,--transient-interval,
--forgejo-client-timeout,--max-concurrent-reconciles,--retry-base-delay,
--retry-max-delay. Previously these were hardcoded.
Included changes (v0.6.10 -> v0.6.11)
c547128af5e6Merge branch 'trunk' of https://code.sean.farm/sean/forgejo-operator into feat/driftskip-tag-collaborator9868082c185aperf(controllers): drift-skip the last two unconditional writers17020fcfe0eeMerge branch 'trunk' of https://code.sean.farm/sean/forgejo-operator into feat/reduce-forgejo-polling34ff7e7b7b23perf(client): cache Forgejo client + configurable reconcile timings
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads