Fill the Vergabe slot from railiance-apps 1af6d82 (RAPPS-WP-0014-T04): keep 60m request and 1000m/1Gi limits, raise memory request 256Mi->512Mi next wave, keep apps-pg at 100m for incremental pilot DB demand. Regenerated budget: serialized CPU +90m / memory +165Mi; all-concurrent CPU -390m / memory -347Mi. T03 stays in progress pending wave-1/wave-2 receiving tasks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 8340@bnt-lap001 Assistant-Session: 2e192b3d-b3e8-4403-94d4-d55a2c8b476c
18 KiB
18 KiB
Per-workload allocation proposals — 2026-10-21 (generated)
Generated by build_review.py from 2026-10-21-node-budget.json. Review inputs for owners, not applied changes.
CPU rule: max(floor, p95x1.5, peakx0.5) rounded up to 5m; floors 50m/pod databases, 10m/pod critical path, 5m/pod other; change only if |delta|>=15m or request is zero. Memory rule: request = 7d p95 working set x1.15 rounded to 16Mi when |delta|>=64Mi; limits unchanged (requests only affect placement/eviction ranking).
| Namespace/workload | Pods | CPU req→prop (m) | CPU lim | p95/peak 7d (m) | Mem req→prop (Mi) | Mem p95/peak (Mi) | Throttle | Action | Owner | Receiving record |
|---|---|---|---|---|---|---|---|---|---|---|
| activity-core/activity-core | 10 | 100→100 | 1000* | 62.8/132.5 | 256→944 | 811/1011 | 0.0 | keep + memory up | activity-core | needs receiving task in activity-core |
| argocd/argocd-application-controller | 1 | 50→30 | 1000 | 19.0/35.5 | 256→432 | 366/438 | 0.005 | decrease + memory up | railiance-enablement | needs receiving task in railiance-enablement |
| argocd/argocd-repo-server | 1 | 25→10 | 1000 | 0.9/4.9 | 128→128 | 63/73 | 0.0 | decrease | railiance-enablement | needs receiving task in railiance-enablement |
| audit-core/audit-core | 1 | 50→10 | 500 | 1.5/12.2 | 64→64 | 26/27 | 0.001 | decrease | audit-core | needs receiving task in audit-core |
| canned-prompts/canned-prompts | 1 | 25→5 | 500 | 2.5/6.6 | 96→96 | 63/65 | 0.0 | decrease | canned-prompts | needs receiving task in canned-prompts |
| cert-manager/cainjector | 1 | 0→10 | 0* | 1.1/2.8 | 0→96 | 71/94 | None | increase + memory up | railiance-cluster | needs receiving task in railiance-cluster |
| cert-manager/cert-manager | 1 | 0→10 | 0* | 1.4/3.5 | 0→80 | 56/90 | None | increase + memory up | railiance-cluster | needs receiving task in railiance-cluster |
| cert-manager/webhook | 1 | 0→10 | 0* | 0.4/0.9 | 0→0 | 29/57 | None | increase | railiance-cluster | needs receiving task in railiance-cluster |
| cnpg-system/cloudnative-pg | 1 | 100→50 | 100 | 2.5/4.4 | 100→100 | 72/86 | 0.005 | decrease | rapp-postgres | needs receiving task in rapp-postgres |
| core-hub/rapp-core-hub | 3 | 200→60 | 2500 | 39.2/63.5 | 896→288 | 247/292 | 0.002 | decrease + memory down | core-hub | needs receiving task in core-hub |
| coulomb/ihp-railiance-probe | 1 | 50→0 | 200 | 0.0/0.0 | 128→128 | 0/0 | None | retire/scale-to-zero (owner decision) | ihp-railiance-probe (unconfirmed; namespace owner unknown) | needs receiving task in ihp-railiance-probe |
| coulomb-social/coulomb-social | 1 | 100→15 | 1000 | 0.4/24.6 | 256→176 | 146/146 | 0.0 | decrease + memory down | coulomb-social | needs receiving task in coulomb-social |
| databases/forgejo-db | 1 | 200→105 | 1000 | 68.8/160.9 | 512→288 | 249/286 | 0.07 | decrease + memory down | rapp-postgres | needs receiving task in rapp-postgres |
| databases/net-kingdom-pg | 1 | 100→50 | 1000 | 10.3/48.0 | 256→256 | 229/497 | 0.001 | decrease | rapp-postgres | needs receiving task in rapp-postgres |
| databases/platform-pg | 1 | 100→50 | 1000 | 13.0/68.7 | 256→192 | 160/264 | 0.001 | decrease + memory down | rapp-postgres | needs receiving task in rapp-postgres |
| databases/platform-pg-2 | 1 | 100→50 | 1000 | 12.0/62.3 | 256→256 | 199/268 | 0.001 | decrease | rapp-postgres | needs receiving task in rapp-postgres |
| databases/state-hub-db | 1 | 0→70 | 0* | 36.7/133.2 | 0→416 | 349/359 | None | increase + memory up | state-hub | needs receiving task in state-hub |
| email-connect/email-connect | 1 | 25→5 | 250 | 0.3/0.8 | 64→64 | 13/13 | 0.001 | decrease | email-connect | needs receiving task in email-connect |
| external-secrets/external-secrets | 1 | 0→10 | 0* | 4.1/5.5 | 0→64 | 51/53 | None | increase + memory up | railiance-platform | needs receiving task in railiance-platform |
| external-secrets/external-secrets-cert-controller | 1 | 0→10 | 0* | 1.0/1.5 | 0→64 | 42/51 | None | increase + memory up | railiance-platform | needs receiving task in railiance-platform |
| external-secrets/external-secrets-webhook | 1 | 0→10 | 0* | 0.5/0.6 | 0→80 | 63/112 | None | increase + memory up | railiance-platform | needs receiving task in railiance-platform |
| flex-auth/flex-auth | 9 | 145→45 | 2700 | 2.2/18.6 | 288→176 | 140/191 | 0.002 | decrease + memory down | flex-auth (no local checkout) | needs receiving task in flex-auth |
| forgejo/forgejo-runner | 1 | 0→125 | 0* | 13.1/243.2 | 0→496 | 428/734 | None | increase + memory up | railiance-forge | needs receiving task in railiance-forge |
| forgejo/gitea | 1 | 100→200 | 0* | 133.2/376.7 | 128→1104 | 956/1005 | None | increase + memory up | railiance-forge | needs receiving task in railiance-forge |
| issue-core/issue-core | 1 | 50→5 | 500 | 2.0/3.4 | 128→48 | 41/51 | 0.0 | decrease + memory down | issue-core | needs receiving task in issue-core |
| knative-serving/knative-serving | 4 | 140→40 | 3500 | 7.2/9.9 | 360→176 | 146/211 | 0 | decrease + memory down | rail-knative | needs receiving task in rail-knative |
| knative-serving/net-kourier-controller | 1 | 30→10 | 1000 | 0.8/1.6 | 200→64 | 53/80 | 0 | decrease + memory down | rail-knative | needs receiving task in rail-knative |
| kourier-system/3scale-kourier-gateway | 1 | 50→10 | 1000 | 3.6/3.8 | 200→48 | 29/33 | 0 | decrease + memory down | rail-knative | needs receiving task in rail-knative |
| kube-system/coredns-7bdb54f89 | 1 | 100→50 | 0* | 7.8/10.3 | 70→70 | 35/77 | None | decrease | railiance-cluster | needs receiving task in railiance-cluster |
| kube-system/local-path-provisioner | 1 | 0→10 | 0* | 0.1/0.3 | 0→0 | 22/24 | None | increase | railiance-cluster | needs receiving task in railiance-cluster |
| kube-system/metrics-server-786d997795 | 1 | 100→10 | 0* | 4.9/5.1 | 70→70 | 47/48 | None | decrease | railiance-cluster | needs receiving task in railiance-cluster |
| kube-system/traefik | 1 | 0→10 | 0* | 3.8/16.0 | 0→80 | 69/149 | None | increase + memory up | railiance-cluster | needs receiving task in railiance-cluster |
| mas/mas-mx | 1 | 20→5 | 0* | 0.6/3.6 | 64→64 | 43/48 | None | decrease | mail-address-semantics | needs receiving task in mail-address-semantics |
| mfa/net-kingdom-sso-mfa | 1 | 110→20 | 1000 | 12.2/23.1 | 384→272 | 226/226 | 0.049 | decrease + memory down | net-kingdom | needs receiving task in net-kingdom |
| openbao/railiance-platform | 1 | 25→10 | 200 | 0.2/0.5 | 32→32 | 5/5 | 0.0 | decrease | railiance-platform | needs receiving task in railiance-platform |
| playwright/rapp-playwright | 1 | 100→65 | 1000 | 41.5/62.7 | 256→336 | 285/437 | 0.238 | decrease + review CPU limit (throttled) + memory up | railiance-platform | needs receiving task in railiance-platform |
| rapp-qonto/rapp-qonto-audit-collector | 1 | 20→5 | 200 | 0.4/3.5 | 32→32 | 14/14 | 0.0 | decrease | rapp-qonto | needs receiving task in rapp-qonto |
| rapp-qonto-egress/qonto-egress-proxy | 1 | 20→5 | 200 | 0.4/0.4 | 64→192 | 162/190 | 0 | decrease + memory up | rapp-qonto | needs receiving task in rapp-qonto |
| rein-aharness/rein-aharness | 1 | 25→5 | 500 | 0.0/0.0 | 64→64 | 0/0 | 0 | decrease | rein-aharness | needs receiving task in rein-aharness |
| reuse/reuse-surface | 2 | 110→10 | 550 | 2.1/10.2 | 288→80 | 56/57 | 0.0 | decrease + memory down | reuse-surface | needs receiving task in reuse-surface |
| sbom-nexus/sbom-nexus | 1 | 25→10 | 500 | 3.8/5.8 | 64→64 | 80/80 | 0.0 | decrease | sbom-nexus | needs receiving task in sbom-nexus |
| sso/net-kingdom-sso-mfa | 4 | 150→40 | 1150 | 22.4/34.5 | 256→176 | 140/179 | 0.537 | decrease + review CPU limit (throttled) + memory down | net-kingdom | needs receiving task in net-kingdom |
| state-hub/railiance-apps | 2 | 260→390 | 1500 | 258.5/975.0 | 640→640 | 744/798 | 0.0 | increase | state-hub | needs receiving task in state-hub |
| target-revenue/target-revenue | 1 | 50→5 | 1000 | 2.5/2.6 | 256→64 | 52/71 | 0 | decrease + memory down | target-revenue | needs receiving task in target-revenue |
| target-revenue/target-revenue-pg | 1 | 0→50 | 0* | 7.6/9.2 | 0→80 | 56/63 | None | increase + memory up | target-revenue | needs receiving task in target-revenue |
| telemetry/alertmanager | 1 | 25→5 | 250* | 0.7/0.8 | 64→64 | 39/57 | 0 | decrease | rapp-telemetry | needs receiving task in rapp-telemetry |
| telemetry/grafana | 1 | 70→35 | 700 | 12.5/61.0 | 192→512 | 436/520 | 0.007 | decrease + memory up | rapp-telemetry | needs receiving task in rapp-telemetry |
| telemetry/kube-state-metrics | 1 | 25→5 | 250 | 2.7/4.5 | 64→64 | 34/64 | 0.0 | decrease | rapp-telemetry | needs receiving task in rapp-telemetry |
| telemetry/prometheus | 1 | 100→205 | 1000* | 134.5/192.4 | 512→1152 | 992/1089 | 0.002 | increase + memory up | rapp-telemetry | needs receiving task in rapp-telemetry |
| telemetry/rapp-telemetry | 1 | 25→5 | 500 | 2.6/4.4 | 128→48 | 30/38 | 0.0 | decrease + memory down | rapp-telemetry | needs receiving task in rapp-telemetry |
| tenant-engine/tenant-engine | 1 | 25→5 | 300 | 2.4/2.6 | 48→48 | 53/68 | 0.0 | decrease | tenant-engine | needs receiving task in tenant-engine |
| user-engine/user-engine | 1 | 50→5 | 500 | 0.4/4.2 | 64→64 | 56/57 | 0.0 | decrease | user-engine | needs receiving task in user-engine |
| user-engine/user-engine-pg | 1 | 100→50 | 1000 | 7.5/9.7 | 256→96 | 78/103 | 0.0 | decrease + memory down | user-engine | needs receiving task in user-engine |
| vergabe-demo-company/vergabe-teilnahme | 1 | 60→60 | 1000 | 0.5/20.3 | 256→512 | 172/172 | 0.0 | keep CPU (replay-backed) + memory up | railiance-apps | needs receiving task in railiance-apps |
| activity-core/actcore-temporal-ui-tls-2-1888679036-1756117428 | 1 | 10→10 | 100 | 0.0/0.1 | 64→64 | 13/18 | 0 | keep | activity-core | — |
| approval-engine/approval-engine | 1 | 10→10 | 500 | 0.7/16.3 | 64→64 | 30/31 | 0.0 | keep | approval-engine | — |
| argocd/argocd-applicationset-controller | 1 | 10→10 | 250 | 0.7/1.0 | 64→64 | 84/113 | 0 | keep | railiance-enablement | — |
| argocd/argocd-redis | 1 | 10→10 | 200 | 5.0/5.1 | 32→32 | 6/27 | 0 | keep | railiance-enablement | — |
| bao-notice/bao-notice | 1 | 5→5 | 100 | 0.0/0.1 | 16→16 | 4/4 | 0 | keep | railiance-platform | — |
| databases/apps-pg | 1 | 100→100 | 1000 | 8.0/55.6 | 256→256 | 89/116 | 0.0 | keep | rapp-postgres | — |
| informed-decision/informed-decision | 1 | 5→5 | 500 | 1.2/23.2 | 64→64 | 39/47 | 0.0 | keep | informed-decision | — |
| kube-system/svclb-mas-smtp-d86db2b1 | 1 | 0→0 | 0* | 0.0/0.0 | 0→0 | 0/2 | None | keep | railiance-cluster | — |
| kube-system/svclb-traefik-0c8aecaf | 1 | 0→0 | 0* | 0.0/0.0 | 0→0 | 1/2 | None | keep | railiance-cluster | — |
| mas/mas-statute | 1 | 5→5 | 0* | 0.3/0.5 | 32→32 | 10/10 | None | keep | mail-address-semantics | — |
| openbao/openbao | 1 | 100→100 | 500 | 13.1/181.3 | 256→256 | 177/399 | 0.0 | keep | railiance-platform | — |
| policy-nexus/policy-nexus | 1 | 10→10 | 100 | 0.1/0.4 | 32→32 | 11/11 | 0.0 | keep | policy-nexus | — |
| state-hub/state-hub | 1 | 5→5 | 100 | 2.0/6.1 | 24→24 | 26/26 | 0.001 | keep | state-hub | — |
* = at least one container has no CPU limit.
Rationale for non-keep rows
activity-core/activity-core: Within rule tolerance; keep. Memory p95 811Mi vs 256Mi request; one container without CPU limit.argocd/argocd-application-controller: Rule p95x1.5 / peakx0.5 / floor.argocd/argocd-repo-server: Rule p95x1.5 / peakx0.5 / floor.audit-core/audit-core: Rule p95x1.5 / peakx0.5 / floor.canned-prompts/canned-prompts: Rule p95x1.5 / peakx0.5 / floor.cert-manager/cainjector: Rule p95x1.5 / peakx0.5 / floor.cert-manager/cert-manager: Rule p95x1.5 / peakx0.5 / floor.cert-manager/webhook: Rule p95x1.5 / peakx0.5 / floor.cnpg-system/cloudnative-pg: Rule p95x1.5 / peakx0.5 / floor.core-hub/rapp-core-hub: Rule p95x1.5 / peakx0.5 / floor. Production hub.coulomb.social: verify startup and rollout before lowering.coulomb/ihp-railiance-probe: ImagePullBackOff 21d from legacy registry 92.205.130.254; 50m reserved, 0 usage, two more stale pods. Scale to zero/retire only by owner decision.coulomb-social/coulomb-social: Rule p95x1.5 / peakx0.5 / floor.databases/forgejo-db: Rule p95x1.5 / peakx0.5 / floor.databases/net-kingdom-pg: Rule p95x1.5 / peakx0.5 / floor.databases/platform-pg: Rule p95x1.5 / peakx0.5 / floor.databases/platform-pg-2: Rule p95x1.5 / peakx0.5 / floor.databases/state-hub-db: Rule p95x1.5 / peakx0.5 / floor. Zero-request CNPG cluster, source state-hub/deploy/railiance/platform/state-hub-db-cluster.yaml; memory p95 349Mi.email-connect/email-connect: Rule p95x1.5 / peakx0.5 / floor.external-secrets/external-secrets: Rule p95x1.5 / peakx0.5 / floor.external-secrets/external-secrets-cert-controller: Rule p95x1.5 / peakx0.5 / floor.external-secrets/external-secrets-webhook: Rule p95x1.5 / peakx0.5 / floor.flex-auth/flex-auth: Rule p95x1.5 / peakx0.5 / floor.forgejo/forgejo-runner: Rule p95x1.5 / peakx0.5 / floor. Zero request, dind unbounded. Admit one concurrent job: request ~125m/512Mi, dind limit ~1500m/2Gi; job bursts above the request are the build reserve.forgejo/gitea: Rule p95x1.5 / peakx0.5 / floor. Main container has no requests/limits (100m effective comes from the init container); memory p95 956Mi vs 128Mi. Add memory request ~1Gi and limit ~1.5Gi.issue-core/issue-core: Rule p95x1.5 / peakx0.5 / floor.knative-serving/knative-serving: Rule p95x1.5 / peakx0.5 / floor. Requests already reduced by RAIL-KNATIVE-WP-0002 (finished); the open risk is HPA maxReplicas (see budget).knative-serving/net-kourier-controller: Rule p95x1.5 / peakx0.5 / floor.kourier-system/3scale-kourier-gateway: Rule p95x1.5 / peakx0.5 / floor.kube-system/coredns-7bdb54f89: DNS for every workload: floor 50m regardless of p95 7.8m.kube-system/local-path-provisioner: Rule p95x1.5 / peakx0.5 / floor.kube-system/metrics-server-786d997795: Rule p95x1.5 / peakx0.5 / floor.kube-system/traefik: Rule p95x1.5 / peakx0.5 / floor.mas/mas-mx: Rule p95x1.5 / peakx0.5 / floor.mfa/net-kingdom-sso-mfa: Rule p95x1.5 / peakx0.5 / floor.openbao/railiance-platform: Rule p95x1.5 / peakx0.5 / floor.playwright/rapp-playwright: Rule p95x1.5 / peakx0.5 / floor. 23.8% throttled; RPF-WP-0056 covers admission, not sizing.rapp-qonto/rapp-qonto-audit-collector: Rule p95x1.5 / peakx0.5 / floor.rapp-qonto-egress/qonto-egress-proxy: Rule p95x1.5 / peakx0.5 / floor.rein-aharness/rein-aharness: Rule p95x1.5 / peakx0.5 / floor. 0m/0Mi recorded over 7d; confirm the service is meant to run.reuse/reuse-surface: Rule p95x1.5 / peakx0.5 / floor.sbom-nexus/sbom-nexus: Rule p95x1.5 / peakx0.5 / floor.sso/net-kingdom-sso-mfa: Rule p95x1.5 / peakx0.5 / floor. 53.7% of CFS periods throttled: review the CPU limit on the login path, independent of the request.state-hub/railiance-apps: API p95 258m at 250m request = p95x1.5; the 975m peak is release/migration bursts carried by the surge reserve. Preflight models API surge 100m but live API pod requests 250m.target-revenue/target-revenue: Rule p95x1.5 / peakx0.5 / floor.target-revenue/target-revenue-pg: Rule p95x1.5 / peakx0.5 / floor. Zero-request CNPG cluster, source target-revenue/k8s/railiance/cnpg-cluster.yaml.telemetry/alertmanager: Rule p95x1.5 / peakx0.5 / floor.telemetry/grafana: Rule p95x1.5 / peakx0.5 / floor. Memory p95 436Mi vs 192Mi request; 3 restarts in 7d (cause not verified).telemetry/kube-state-metrics: Rule p95x1.5 / peakx0.5 / floor.telemetry/prometheus: Rule p95x1.5 / peakx0.5 / floor. Memory p95 992Mi vs 512Mi request. Forgejo request recording rule still returns no series.telemetry/rapp-telemetry: Rule p95x1.5 / peakx0.5 / floor.tenant-engine/tenant-engine: Rule p95x1.5 / peakx0.5 / floor.user-engine/user-engine: Rule p95x1.5 / peakx0.5 / floor.user-engine/user-engine-pg: Rule p95x1.5 / peakx0.5 / floor.vergabe-demo-company/vergabe-teilnahme: Target replay (RAPPS-WP-0014-T04, railiance-apps 1af6d82): keep 60m request and 1000m/1Gi limits; 0 errors, ordinary p95 0.192s under 36% throttling at ~25 req/s; loaded working set 320-480MiB exceeds the 256Mi request -> 512Mi.
Missing receiving tasks by owner repo
- activity-core (1): activity-core/activity-core
- audit-core (1): audit-core/audit-core
- canned-prompts (1): canned-prompts/canned-prompts
- core-hub (1): core-hub/rapp-core-hub
- coulomb-social (1): coulomb-social/coulomb-social
- email-connect (1): email-connect/email-connect
- flex-auth (1): flex-auth/flex-auth
- ihp-railiance-probe (1): coulomb/ihp-railiance-probe
- issue-core (1): issue-core/issue-core
- mail-address-semantics (1): mas/mas-mx
- net-kingdom (2): mfa/net-kingdom-sso-mfa, sso/net-kingdom-sso-mfa
- rail-knative (3): knative-serving/knative-serving, knative-serving/net-kourier-controller, kourier-system/3scale-kourier-gateway
- railiance-apps (1): vergabe-demo-company/vergabe-teilnahme
- railiance-cluster (7): cert-manager/cainjector, cert-manager/cert-manager, cert-manager/webhook, kube-system/coredns-7bdb54f89, kube-system/local-path-provisioner, kube-system/metrics-server-786d997795, kube-system/traefik
- railiance-enablement (2): argocd/argocd-application-controller, argocd/argocd-repo-server
- railiance-forge (2): forgejo/forgejo-runner, forgejo/gitea
- railiance-platform (5): external-secrets/external-secrets, external-secrets/external-secrets-cert-controller, external-secrets/external-secrets-webhook, openbao/railiance-platform, playwright/rapp-playwright
- rapp-postgres (5): cnpg-system/cloudnative-pg, databases/forgejo-db, databases/net-kingdom-pg, databases/platform-pg, databases/platform-pg-2
- rapp-qonto (2): rapp-qonto/rapp-qonto-audit-collector, rapp-qonto-egress/qonto-egress-proxy
- rapp-telemetry (5): telemetry/alertmanager, telemetry/grafana, telemetry/kube-state-metrics, telemetry/prometheus, telemetry/rapp-telemetry
- rein-aharness (1): rein-aharness/rein-aharness
- reuse-surface (1): reuse/reuse-surface
- sbom-nexus (1): sbom-nexus/sbom-nexus
- state-hub (2): databases/state-hub-db, state-hub/railiance-apps
- target-revenue (2): target-revenue/target-revenue, target-revenue/target-revenue-pg
- tenant-engine (1): tenant-engine/tenant-engine
- user-engine (2): user-engine/user-engine, user-engine/user-engine-pg