Implements resource governance for all Argo CD components via kustomization overlay. This prevents unlimited memory consumption that led to the control plane resource exhaustion incident (DEV-281). Resource limits applied: - application-controller: 512Mi limit, 256Mi request - repo-server: 512Mi limit, 256Mi request - redis: 256Mi limit, 128Mi request - server: 256Mi limit, 128Mi request - notifications-controller: 128Mi limit, 64Mi request - applicationset-controller: 256Mi limit, 128Mi request The limits are based on observed usage patterns with headroom for growth while preventing runaway memory consumption. Usage: kubectl apply -k apps/argocd/ Co-Authored-By: Paperclip <noreply@paperclip.ing>
85 lines
1.9 KiB
YAML
85 lines
1.9 KiB
YAML
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
kind: Kustomization
|
|
|
|
namespace: argocd
|
|
|
|
resources:
|
|
- argocd-install.yaml
|
|
- argocd-ingress.yaml
|
|
- argocd-oidc-secret-sealed.yaml
|
|
- repo-basicstack-org-secret-sealed.yaml
|
|
- repo-stack-basicstack-de-secret-sealed.yaml
|
|
|
|
patches:
|
|
# Add memory limits to prevent OOM incidents (DEV-281)
|
|
- target:
|
|
kind: StatefulSet
|
|
name: argocd-application-controller
|
|
patch: |-
|
|
- op: add
|
|
path: /spec/template/spec/containers/0/resources
|
|
value:
|
|
limits:
|
|
memory: 512Mi
|
|
requests:
|
|
memory: 256Mi
|
|
|
|
- target:
|
|
kind: Deployment
|
|
name: argocd-repo-server
|
|
patch: |-
|
|
- op: add
|
|
path: /spec/template/spec/containers/0/resources
|
|
value:
|
|
limits:
|
|
memory: 512Mi
|
|
requests:
|
|
memory: 256Mi
|
|
|
|
- target:
|
|
kind: Deployment
|
|
name: argocd-redis
|
|
patch: |-
|
|
- op: add
|
|
path: /spec/template/spec/containers/0/resources
|
|
value:
|
|
limits:
|
|
memory: 256Mi
|
|
requests:
|
|
memory: 128Mi
|
|
|
|
- target:
|
|
kind: Deployment
|
|
name: argocd-server
|
|
patch: |-
|
|
- op: add
|
|
path: /spec/template/spec/containers/0/resources
|
|
value:
|
|
limits:
|
|
memory: 256Mi
|
|
requests:
|
|
memory: 128Mi
|
|
|
|
- target:
|
|
kind: Deployment
|
|
name: argocd-notifications-controller
|
|
patch: |-
|
|
- op: add
|
|
path: /spec/template/spec/containers/0/resources
|
|
value:
|
|
limits:
|
|
memory: 128Mi
|
|
requests:
|
|
memory: 64Mi
|
|
|
|
- target:
|
|
kind: Deployment
|
|
name: argocd-applicationset-controller
|
|
patch: |-
|
|
- op: add
|
|
path: /spec/template/spec/containers/0/resources
|
|
value:
|
|
limits:
|
|
memory: 256Mi
|
|
requests:
|
|
memory: 128Mi
|