fix(quota): gate org-create + reconciler deadman + faster reconcile (#120/#121) #150
Inga granskare
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-infra!150
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "fix/120-121-safe-defenses"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
Low-risk defenses for the fail-open quota / org-bypass audit findings. (The fail-closed group default is intentionally split into a separate PR — it carries quota-semantics risk.)
Changes
forgejo_default_allow_create_org: false(DEFAULT_ALLOW_CREATE_ORGANIZATION = false). Closes "anyone can create an unlimited, un-quota'd org → disk-fill outage". Safe: the reconciler is live (reconciler_apply: true) and PATCHesallow_create_organizationper-user toent_orgsmembers every run, so entitled users keep it; non-entitled users lose the bypass.ReconcilerStalecritical alert ((time() - gitborg_reconciler_last_run_timestamp_seconds)/60 > 30).ReconcilerFailedonly fires on a failed run; a dead timer was previously invisible while entitlement sync silently stopped. The metric stamps on every run (success or fail), so staleness == the timer isn't firing.*:0/15 → *:0/5. Bounds how long a new JIT account waits for its tier group (esp. once PR-C makes the group-less default fail-closed).Validation
ansible-lint (production profile) ·
--syntax-check·--check --diffrenders clean (0 failed); confirmedDEFAULT_ALLOW_CREATE_ORGANIZATION = false,OnCalendar=*:0/5, and the ReconcilerStale rule.Apply-day note
--tags forgejo,monitoring,reconciler. Confirm the reconciler has granted org-create to any currently-entitled users (it runs every 5 min) — existing entitled users are unaffected; only the global default changes.Refs #120, #121.