Fix: config-sync sidecar OOMKill (disable git auto-gc + raise limit) #88
@@ -44,6 +44,14 @@ reload_ha() {
|
||||
log "starting (branch=${BRANCH} interval=${INTERVAL}s dir=${CONFIG_DIR})"
|
||||
cd "${CONFIG_DIR}"
|
||||
git config --global --add safe.directory "${CONFIG_DIR}" 2>/dev/null || true
|
||||
# This repo's .git is ~1.1 GB (a 1 GB backup tar sits in history). Auto-gc would
|
||||
# try to repack that whole pack inside this tiny sidecar and OOM. Disable it and
|
||||
# cap delta/window memory so fetch/checkout stay cheap (we only touch small
|
||||
# config blobs, never the big objects).
|
||||
git config --global gc.auto 0 2>/dev/null || true
|
||||
git config --global pack.windowMemory 32m 2>/dev/null || true
|
||||
git config --global pack.deltaCacheSize 32m 2>/dev/null || true
|
||||
git config --global core.deltaBaseCacheLimit 16m 2>/dev/null || true
|
||||
|
||||
while true; do
|
||||
if git fetch --quiet origin "${BRANCH}" 2>/dev/null; then
|
||||
|
||||
@@ -183,12 +183,15 @@ spec:
|
||||
- name: config-sync-script
|
||||
mountPath: /scripts
|
||||
readOnly: true
|
||||
# ~1.1 GB .git (a 1 GB backup tar in history); auto-gc is disabled in
|
||||
# the script so it never repacks. fetch/checkout of small config blobs
|
||||
# peak well under this; the headroom covers index-pack on first fetch.
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 32Mi
|
||||
limits:
|
||||
memory: 64Mi
|
||||
memory: 256Mi
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
Reference in New Issue
Block a user