From d3cd1a274ed06343de377809904b69422f68a80c Mon Sep 17 00:00:00 2001 From: tegwick Date: Thu, 22 Oct 2026 00:05:11 +0200 Subject: [PATCH] Wave-2 right-sizing: activity-core requests to 100m CPU / 944Mi memory total (ACTIVITY-WP-0049) Per-container requests distributed by 7d p95 (requests only, no new limits): api 5m/96Mi, worker 5m/176Mi, event-router 5m/80Mi (k8s/gitops and the 20-runtime copy), statehub-edge-relay 50m/128Mi -> 10m/96Mi, temporal 35m/240Mi, temporal-ui 5m/16Mi, nats 5m/16Mi, app-db 50m/256Mi -> 10m/48Mi, temporal-db 50m/256Mi -> 15m/128Mi. llm-connect (5m/48Mi) is in the llm-connect repo. The app-db/temporal-db source requests and 1Gi memory limits were never applied live. Evidence: resource-control 2026-10-21 node budget (3d9b1bd). Co-Authored-By: Claude Opus 5.5 Assistant: claude-code Assistant-Model: opus Assistant-Process: 276069@bnt-lap001 Assistant-Session: 2e192b3d-b3e8-4403-94d4-d55a2c8b476c --- k8s/gitops/runtime.yaml | 15 ++++++++++++--- k8s/railiance/10-infrastructure.yaml | 20 ++++++++++++++++---- k8s/railiance/20-runtime.yaml | 19 ++++++++++++++----- 3 files changed, 42 insertions(+), 12 deletions(-) diff --git a/k8s/gitops/runtime.yaml b/k8s/gitops/runtime.yaml index 474b9da..f1f48cf 100644 --- a/k8s/gitops/runtime.yaml +++ b/k8s/gitops/runtime.yaml @@ -1736,7 +1736,10 @@ spec: periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 - resources: {} + resources: + requests: + cpu: 5m + memory: 96Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: @@ -1811,7 +1814,10 @@ spec: - containerPort: 9090 name: metrics protocol: TCP - resources: {} + resources: + requests: + cpu: 5m + memory: 176Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: @@ -1959,7 +1965,10 @@ spec: image: forgejo.coulomb.social/coulomb/activity-core@sha256:cd4e924c2809f0d1d319e53a9ddd20db2e88a1b543d62e6442702c184b7842f4 imagePullPolicy: IfNotPresent name: event-router - resources: {} + resources: + requests: + cpu: 5m + memory: 80Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst diff --git a/k8s/railiance/10-infrastructure.yaml b/k8s/railiance/10-infrastructure.yaml index db0581e..680aec2 100644 --- a/k8s/railiance/10-infrastructure.yaml +++ b/k8s/railiance/10-infrastructure.yaml @@ -75,8 +75,8 @@ spec: failureThreshold: 6 resources: requests: - cpu: 50m - memory: 256Mi + cpu: 10m + memory: 48Mi limits: memory: 1Gi volumeMounts: @@ -167,8 +167,8 @@ spec: failureThreshold: 6 resources: requests: - cpu: 50m - memory: 256Mi + cpu: 15m + memory: 128Mi limits: memory: 1Gi volumeMounts: @@ -226,6 +226,10 @@ spec: - name: nats image: nats:2.10-alpine imagePullPolicy: IfNotPresent + resources: + requests: + cpu: 5m + memory: 16Mi args: ["-js", "-sd", "/data", "-m", "8222"] ports: - name: client @@ -295,6 +299,10 @@ spec: - name: temporal image: temporalio/auto-setup:1.29.1 imagePullPolicy: IfNotPresent + resources: + requests: + cpu: 35m + memory: 240Mi ports: - name: grpc containerPort: 7233 @@ -377,6 +385,10 @@ spec: - name: temporal-ui image: temporalio/ui:latest imagePullPolicy: IfNotPresent + resources: + requests: + cpu: 5m + memory: 16Mi ports: - name: http containerPort: 8080 diff --git a/k8s/railiance/20-runtime.yaml b/k8s/railiance/20-runtime.yaml index 6543f8a..1538c7d 100644 --- a/k8s/railiance/20-runtime.yaml +++ b/k8s/railiance/20-runtime.yaml @@ -2193,8 +2193,8 @@ spec: failureThreshold: 3 resources: requests: - cpu: 50m - memory: 128Mi + cpu: 10m + memory: 96Mi limits: cpu: 500m memory: 512Mi @@ -2363,7 +2363,10 @@ spec: periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 - resources: {} + resources: + requests: + cpu: 5m + memory: 96Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: @@ -2457,7 +2460,10 @@ spec: - containerPort: 9090 name: metrics protocol: TCP - resources: {} + resources: + requests: + cpu: 5m + memory: 176Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: @@ -2605,7 +2611,10 @@ spec: image: forgejo.coulomb.social/coulomb/activity-core@sha256:cd4e924c2809f0d1d319e53a9ddd20db2e88a1b543d62e6442702c184b7842f4 imagePullPolicy: IfNotPresent name: event-router - resources: {} + resources: + requests: + cpu: 5m + memory: 80Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst