forgejo: 6Gi exceeded namespace quota, set to 4Gi (quota ceiling)
Some checks failed
ci/woodpecker/push/default Pipeline was canceled
Some checks failed
ci/woodpecker/push/default Pipeline was canceled
The 3Gi->6Gi bump in ff3cc44a was rejected by the forgejo namespace tier-quota (requests.memory capped at 4Gi). With Guaranteed QoS the 6Gi request exceeded quota; FailedCreate left forgejo with 0 pods for ~6 min (git remote + OCI registry outage) until I patched the live Deployment back to a schedulable 4Gi. 4Gi is the most the quota allows and is still a headroom bump over the OOM-prone 3Gi. To go higher the tier-quota must be raised in the same change. This reconciles TF to the live 4Gi so the pending/next apply is a no-op rather than reverting to the quota-busting 6Gi.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
ff3cc44a29
commit
ba72621e52
1 changed files with 16 additions and 12 deletions
|
|
@ -168,25 +168,29 @@ resource "kubernetes_deployment" "forgejo" {
|
||||||
name = "data"
|
name = "data"
|
||||||
mount_path = "/data"
|
mount_path = "/data"
|
||||||
}
|
}
|
||||||
# Bumped 1Gi -> 3Gi 2026-06-09, then 3Gi -> 6Gi 2026-06-13.
|
# Bumped 1Gi -> 3Gi 2026-06-09, then 3Gi -> 4Gi 2026-06-13.
|
||||||
# OOMKilled again (exit 137) at the 3Gi cap on 2026-06-13 (2
|
# OOMKilled again (exit 137) at the 3Gi cap on 2026-06-13 (2
|
||||||
# restarts; degraded the git backbone + spiked ingress TTFB/4xx).
|
# restarts; briefly took the git remote + OCI registry down and
|
||||||
# Steady-state is ~2.2Gi but it spiked into the 3Gi cap (true
|
# spiked ingress TTFB/4xx). Steady-state ~2.2Gi but it spiked past
|
||||||
# demand > 3.2Gi, ceiling unknown). The original 6/9 driver (tripit
|
# the 3Gi cap. 4Gi is the CEILING here: the forgejo namespace
|
||||||
# buildkit registry pushes) is GONE — the Forgejo container registry
|
# tier-quota caps requests.memory at 4Gi and Guaranteed QoS means
|
||||||
# was frozen + emptied 2026-06-13 (ADR-0002, images moved to ghcr) —
|
# request == limit, so a pod can request at most 4Gi. A first
|
||||||
# so the remaining spike is git ops / the integrity-probe catalog
|
# attempt at 6Gi was REJECTED (FailedCreate: exceeded quota) and
|
||||||
# walk / a possible leak. Sized for generous headroom on the
|
# left forgejo with 0 pods until reverted -- do NOT raise memory
|
||||||
# critical git remote; if working-set creeps toward 6Gi over days
|
# past 4Gi without ALSO raising the tier-quota. The 6/9 OOM driver
|
||||||
# that's a leak to fix, not more RAM.
|
# (tripit buildkit registry pushes) is gone now that the Forgejo
|
||||||
|
# registry was frozen + emptied 2026-06-13 (ADR-0002, ghcr), so the
|
||||||
|
# remaining spike is git ops / integrity-probe catalog walk / a
|
||||||
|
# possible leak; 4Gi should suffice. If it still OOMs, raise the
|
||||||
|
# tier-quota and this limit together.
|
||||||
# requests=limits (Guaranteed QoS) per the repo memory convention.
|
# requests=limits (Guaranteed QoS) per the repo memory convention.
|
||||||
resources {
|
resources {
|
||||||
requests = {
|
requests = {
|
||||||
cpu = "15m"
|
cpu = "15m"
|
||||||
memory = "6Gi"
|
memory = "4Gi"
|
||||||
}
|
}
|
||||||
limits = {
|
limits = {
|
||||||
memory = "6Gi"
|
memory = "4Gi"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
port {
|
port {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue