From 55abb17f5081d0d4bb2939413919bd2d5970cf40 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Sat, 18 Apr 2026 13:03:57 -0700 Subject: [PATCH] Add resource limits to ArgoCD pods to prevent unbounded consumption All 7 ArgoCD containers had no resource limits, allowing them to consume unlimited CPU/memory during node pressure events. This contributed to cluster-wide probe timeout cascades on minikube-indri. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../argocd/argocd-resources-patch.yaml | 118 ++++++++++++++++++ argocd/manifests/argocd/kustomization.yaml | 1 + .../+argocd-resource-limits.infra.md | 1 + 3 files changed, 120 insertions(+) create mode 100644 argocd/manifests/argocd/argocd-resources-patch.yaml create mode 100644 docs/changelog.d/+argocd-resource-limits.infra.md diff --git a/argocd/manifests/argocd/argocd-resources-patch.yaml b/argocd/manifests/argocd/argocd-resources-patch.yaml new file mode 100644 index 0000000..1ae0675 --- /dev/null +++ b/argocd/manifests/argocd/argocd-resources-patch.yaml @@ -0,0 +1,118 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-server +spec: + template: + spec: + containers: + - name: argocd-server + resources: + requests: + cpu: 50m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-repo-server +spec: + template: + spec: + containers: + - name: argocd-repo-server + resources: + requests: + cpu: 50m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: argocd-application-controller +spec: + template: + spec: + containers: + - name: argocd-application-controller + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + cpu: "1" + memory: 1Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-applicationset-controller +spec: + template: + spec: + containers: + - name: argocd-applicationset-controller + resources: + requests: + cpu: 25m + memory: 64Mi + limits: + cpu: 250m + memory: 256Mi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-dex-server +spec: + template: + spec: + containers: + - name: dex + resources: + requests: + cpu: 25m + memory: 64Mi + limits: + cpu: 250m + memory: 256Mi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-redis +spec: + template: + spec: + containers: + - name: redis + resources: + requests: + cpu: 25m + memory: 64Mi + limits: + cpu: 250m + memory: 256Mi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: argocd-notifications-controller +spec: + template: + spec: + containers: + - name: argocd-notifications-controller + resources: + requests: + cpu: 25m + memory: 64Mi + limits: + cpu: 250m + memory: 256Mi diff --git a/argocd/manifests/argocd/kustomization.yaml b/argocd/manifests/argocd/kustomization.yaml index 85dfa7e..9bdac10 100644 --- a/argocd/manifests/argocd/kustomization.yaml +++ b/argocd/manifests/argocd/kustomization.yaml @@ -16,3 +16,4 @@ patches: - path: argocd-ssh-known-hosts-cm.yaml - path: argocd-cm-patch.yaml - path: argocd-rbac-cm-patch.yaml + - path: argocd-resources-patch.yaml diff --git a/docs/changelog.d/+argocd-resource-limits.infra.md b/docs/changelog.d/+argocd-resource-limits.infra.md new file mode 100644 index 0000000..ba24a5a --- /dev/null +++ b/docs/changelog.d/+argocd-resource-limits.infra.md @@ -0,0 +1 @@ +Add resource limits to all ArgoCD pods to prevent unbounded resource consumption during node-wide pressure events.