fix(platform): per-CRD SSA annotation — ArgoCD App-level ServerSideApply=true falls back to CSA on existing resources, exceeding 262 KiB annotation limit on KEDA scaledjobs/scaledobjects

This commit is contained in:
OdooSky v3
2026-05-10 09:17:24 +02:00
parent 07c6a9e864
commit 6c9173af77
2 changed files with 12 additions and 5 deletions

View File

@@ -23,8 +23,8 @@ description: |
Git). Git).
type: application type: application
version: 0.7.5 version: 0.7.6
appVersion: "0.7.5" appVersion: "0.7.6"
# All 6 subcharts now resolve from registry.odoosky.cloud (mirrored # All 6 subcharts now resolve from registry.odoosky.cloud (mirrored
# 2026-05-08, KEDA stack added 2026-05-09). Mirror-first discipline # 2026-05-08, KEDA stack added 2026-05-09). Mirror-first discipline

View File

@@ -341,11 +341,18 @@ keda:
# newly-onboarded server gets CRDs on first sync. # newly-onboarded server gets CRDs on first sync.
# KEDA puts CRDs in templates/crds/ (not chart/crds/), so they # KEDA puts CRDs in templates/crds/ (not chart/crds/), so they
# need to flow through helm template — which they do once this is # need to flow through helm template — which they do once this is
# set. ArgoCD's App-level ServerSideApply=true sync option (set in # set. ArgoCD's App-level ServerSideApply=true sync option SHOULD
# backend/cmd/api/server_adapters.go:108) handles the 262 KiB # cover the 262 KiB annotation overflow these CRDs would hit with
# annotation overflow these CRDs would otherwise hit. # client-side apply (scaledjobs + scaledobjects each blow the limit
# because their schemas are huge), but ArgoCD's App-level setting
# falls back to client-side for resources that already exist with
# a different field-manager. Belt-and-suspenders: also annotate
# each CRD per-resource so the SSA path is taken regardless of
# who owned the field-manager first.
crds: crds:
install: true install: true
additionalAnnotations:
argocd.argoproj.io/sync-options: ServerSideApply=true
# operator + adapter + webhook — keep CPU/RAM modest. KEDA polls # operator + adapter + webhook — keep CPU/RAM modest. KEDA polls
# event sources every pollingInterval (default 30s); on a cluster # event sources every pollingInterval (default 30s); on a cluster
# with no ScaledObjects it does no work. # with no ScaledObjects it does no work.