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
1789 lines
52 KiB
JSON
1789 lines
52 KiB
JSON
{
|
|
"schema": "resource-control.node-allocation-review.v1",
|
|
"workplan": "RESOURCE-WP-0008",
|
|
"beneficiary": "CUST-WP-0071-T03",
|
|
"observed_at": "2026-10-21T06:08:20Z",
|
|
"allocatable_cpu_m": 4000,
|
|
"allocatable_memory_mi": 15993,
|
|
"rule": {
|
|
"cpu": "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": "request = 7d p95 working set x1.15 rounded to 16Mi when |delta|>=64Mi; limits unchanged (requests only affect placement/eviction ranking)"
|
|
},
|
|
"budget_rows": [
|
|
{
|
|
"item": "Proposed steady pod requests (incl. Vergabe 60m provisional)",
|
|
"current_m": 3605,
|
|
"proposed_m": 2450,
|
|
"basis": "Kubernetes API 06:08Z + proposals"
|
|
},
|
|
{
|
|
"item": "Host / k3s control plane (no system/kube-reserved; allocatable == capacity)",
|
|
"current_m": 900,
|
|
"proposed_m": 900,
|
|
"basis": "kubelet summary 8 samples 06:25Z: non-pod 677-871m, k3s 415-504m; no 7d series"
|
|
},
|
|
{
|
|
"item": "Release surge + migration hook (one release at a time)",
|
|
"current_m": 310,
|
|
"proposed_m": 310,
|
|
"basis": "state-hub API 250m surge + MCP 10m + migrate 50m; largest live RollingUpdate"
|
|
},
|
|
{
|
|
"item": "Admitted factory/build execution (one runner job burst above runner request)",
|
|
"current_m": 250,
|
|
"proposed_m": 250,
|
|
"basis": "forgejo-runner pod peak 243m; namespace peak 1033m incl. gitea"
|
|
},
|
|
{
|
|
"item": "Maintenance CronJobs (7 jobs, 10-25m, overlapping 02:40-04:00)",
|
|
"current_m": 50,
|
|
"proposed_m": 50,
|
|
"basis": "kubectl cronjobs; keycape-factor-renewer every 10 min"
|
|
},
|
|
{
|
|
"item": "Knative HPA scale-out headroom (requests at max replicas minus 1)",
|
|
"current_m": 1520,
|
|
"proposed_m": 230,
|
|
"basis": "activator 20/gateway 10/webhook 5 -> proposed caps 3/3/2"
|
|
},
|
|
{
|
|
"item": "Pilot growth reserve (next tenant / user growth; Vergabe itself is in steady requests)",
|
|
"current_m": 0,
|
|
"proposed_m": 200,
|
|
"basis": "Replay: two-user pilot needs no CPU request increase; reserve is unmeasured headroom for growth and human-paced apps-pg demand"
|
|
}
|
|
],
|
|
"budget_total_all_concurrent": {
|
|
"current_m": 6635,
|
|
"proposed_m": 4390,
|
|
"residual_current_m": -2635,
|
|
"residual_proposed_m": -390
|
|
},
|
|
"budget_total_serialized_events": {
|
|
"current_m": 6075,
|
|
"proposed_m": 3910,
|
|
"residual_current_m": -2075,
|
|
"residual_proposed_m": 90
|
|
},
|
|
"measured_demand_7d": {
|
|
"containers_cpu_p95_m": 966,
|
|
"containers_cpu_peak_m": 1740,
|
|
"host_non_pod_cpu_m_sample": [
|
|
677,
|
|
871
|
|
],
|
|
"note": "Measured demand (containers p95 + host) ~1.8 cores, peaks ~2.6 cores; the deficit is reservation, not demand."
|
|
},
|
|
"memory_budget_mi": {
|
|
"allocatable": 15993,
|
|
"host_k3s_sample": 2604,
|
|
"release_surge_state_hub_api": 864,
|
|
"build_runner_burst": 512,
|
|
"pilot_growth_reserve": 256,
|
|
"current": {
|
|
"requests": 9856,
|
|
"total_all_concurrent": 13836,
|
|
"residual_all_concurrent": 2157,
|
|
"total_serialized": 13324,
|
|
"residual_serialized": 2669
|
|
},
|
|
"proposed": {
|
|
"requests": 12104,
|
|
"total_all_concurrent": 16340,
|
|
"residual_all_concurrent": -347,
|
|
"total_serialized": 15828,
|
|
"residual_serialized": 165
|
|
}
|
|
},
|
|
"vergabe_slot": {
|
|
"current_request_m": 60,
|
|
"proposed_request_m": 60,
|
|
"current_memory_request_mi": 256,
|
|
"proposed_memory_request_mi": 512,
|
|
"status": "replay-backed keep (CPU), memory request raise in next wave",
|
|
"replay_result": {
|
|
"source": "railiance-apps 1af6d82 docs/evidence/2026-10-21-vergabe-target-replay/ (RAPPS-WP-0014-T04)",
|
|
"image": "deployed digest sha256:a26444f5..., 3 gunicorn workers, 60m/256Mi request, 1000m/1Gi limit, target node",
|
|
"ordinary_ops": 3675,
|
|
"errors": 0,
|
|
"ordinary_p95_s": 0.192,
|
|
"transfer_p95_s": 0.076,
|
|
"restart_to_ready_s": 18.98,
|
|
"app_cpu_mean_p95_peak_m": [
|
|
775,
|
|
998,
|
|
1020
|
|
],
|
|
"app_throttle_ratio": 0.357,
|
|
"app_memory_peak_mib": 483,
|
|
"db_incremental_cpu_mean_p95_m": [
|
|
320,
|
|
480
|
|
],
|
|
"db_note": "isolated PostgreSQL 16 pod, not shared CNPG apps-pg",
|
|
"rate": "~25 req/s closed loop, far above two human users",
|
|
"recommendation": "keep 60m request and 1000m/1Gi limits; raise memory request 256Mi->512Mi next wave; budget 0.3-0.5 core incremental apps-pg demand at synthetic load",
|
|
"not_established": [
|
|
"production settings (SSO, ingress/TLS)",
|
|
"shared apps-pg contention",
|
|
"observed human demand",
|
|
"busy-hour node contention (CI, backups)",
|
|
"human/recovery acceptance (RAPPS-WP-0014-T03)"
|
|
]
|
|
}
|
|
},
|
|
"pilot_stress_note": "At the synthetic rate the pilot used ~1.1 core (app ~775m + db ~320m) inside limits; that is burst usage, not reservation. During the replay node free CPU p5 fell to ~150m.",
|
|
"workloads": [
|
|
{
|
|
"namespace": "activity-core",
|
|
"workload": "activity-core",
|
|
"pods": 10,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 8,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 62.8,
|
|
"cpu_peak_m_7d": 132.5,
|
|
"memory_p95_mi_7d": 811.0,
|
|
"memory_peak_mi_7d": 1011.0,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 95,
|
|
"action": "keep + memory up",
|
|
"proposed_cpu_request_m": 100,
|
|
"proposed_memory_request_mi": 944,
|
|
"owner_repo": "activity-core",
|
|
"receiving_record": "needs receiving task in activity-core",
|
|
"rationale": "Within rule tolerance; keep. Memory p95 811Mi vs 256Mi request; one container without CPU limit."
|
|
},
|
|
{
|
|
"namespace": "argocd",
|
|
"workload": "argocd-application-controller",
|
|
"pods": 1,
|
|
"cpu_request_m": 50,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 19.0,
|
|
"cpu_peak_m_7d": 35.5,
|
|
"memory_p95_mi_7d": 365.8,
|
|
"memory_peak_mi_7d": 438.5,
|
|
"throttle_ratio_7d": 0.005,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 30,
|
|
"action": "decrease + memory up",
|
|
"proposed_cpu_request_m": 30,
|
|
"proposed_memory_request_mi": 432,
|
|
"owner_repo": "railiance-enablement",
|
|
"receiving_record": "needs receiving task in railiance-enablement",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "argocd",
|
|
"workload": "argocd-repo-server",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 128.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 0.9,
|
|
"cpu_peak_m_7d": 4.9,
|
|
"memory_p95_mi_7d": 63.1,
|
|
"memory_peak_mi_7d": 73.4,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 128.0,
|
|
"owner_repo": "railiance-enablement",
|
|
"receiving_record": "needs receiving task in railiance-enablement",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "audit-core",
|
|
"workload": "audit-core",
|
|
"pods": 1,
|
|
"cpu_request_m": 50,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 1.5,
|
|
"cpu_peak_m_7d": 12.2,
|
|
"memory_p95_mi_7d": 26.4,
|
|
"memory_peak_mi_7d": 26.6,
|
|
"throttle_ratio_7d": 0.001,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "audit-core",
|
|
"receiving_record": "needs receiving task in audit-core",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "canned-prompts",
|
|
"workload": "canned-prompts",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 96.0,
|
|
"memory_limit_mi": 384.0,
|
|
"cpu_p95_m_7d": 2.5,
|
|
"cpu_peak_m_7d": 6.6,
|
|
"memory_p95_mi_7d": 63.3,
|
|
"memory_peak_mi_7d": 65.0,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 96.0,
|
|
"owner_repo": "canned-prompts",
|
|
"receiving_record": "needs receiving task in canned-prompts",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "cert-manager",
|
|
"workload": "cainjector",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 1.1,
|
|
"cpu_peak_m_7d": 2.8,
|
|
"memory_p95_mi_7d": 70.7,
|
|
"memory_peak_mi_7d": 94.1,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 96,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": "needs receiving task in railiance-cluster",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "cert-manager",
|
|
"workload": "cert-manager",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 1.4,
|
|
"cpu_peak_m_7d": 3.5,
|
|
"memory_p95_mi_7d": 56.3,
|
|
"memory_peak_mi_7d": 89.8,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 80,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": "needs receiving task in railiance-cluster",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "cert-manager",
|
|
"workload": "webhook",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 0.4,
|
|
"cpu_peak_m_7d": 0.9,
|
|
"memory_p95_mi_7d": 29.1,
|
|
"memory_peak_mi_7d": 57.0,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "increase",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 0.0,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": "needs receiving task in railiance-cluster",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "cnpg-system",
|
|
"workload": "cloudnative-pg",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 100,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 100.0,
|
|
"memory_limit_mi": 200.0,
|
|
"cpu_p95_m_7d": 2.5,
|
|
"cpu_peak_m_7d": 4.4,
|
|
"memory_p95_mi_7d": 72.4,
|
|
"memory_peak_mi_7d": 86.5,
|
|
"throttle_ratio_7d": 0.005,
|
|
"restarts_7d": 1.0,
|
|
"rule_cpu_m": 50,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 50,
|
|
"proposed_memory_request_mi": 100.0,
|
|
"owner_repo": "rapp-postgres",
|
|
"receiving_record": "needs receiving task in rapp-postgres",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "core-hub",
|
|
"workload": "rapp-core-hub",
|
|
"pods": 3,
|
|
"cpu_request_m": 200,
|
|
"cpu_limit_m": 2500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 896.0,
|
|
"memory_limit_mi": 2560.0,
|
|
"cpu_p95_m_7d": 39.2,
|
|
"cpu_peak_m_7d": 63.5,
|
|
"memory_p95_mi_7d": 247.0,
|
|
"memory_peak_mi_7d": 292.0,
|
|
"throttle_ratio_7d": 0.002,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 60,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 60,
|
|
"proposed_memory_request_mi": 288,
|
|
"owner_repo": "core-hub",
|
|
"receiving_record": "needs receiving task in core-hub",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. Production hub.coulomb.social: verify startup and rollout before lowering."
|
|
},
|
|
{
|
|
"namespace": "coulomb",
|
|
"workload": "ihp-railiance-probe",
|
|
"pods": 1,
|
|
"cpu_request_m": 50,
|
|
"cpu_limit_m": 200,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 128.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 0.0,
|
|
"cpu_peak_m_7d": 0.0,
|
|
"memory_p95_mi_7d": 0.0,
|
|
"memory_peak_mi_7d": 0.0,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "retire/scale-to-zero (owner decision)",
|
|
"proposed_cpu_request_m": 0,
|
|
"proposed_memory_request_mi": 128.0,
|
|
"owner_repo": "ihp-railiance-probe (unconfirmed; namespace owner unknown)",
|
|
"receiving_record": "needs receiving task in ihp-railiance-probe",
|
|
"rationale": "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."
|
|
},
|
|
{
|
|
"namespace": "coulomb-social",
|
|
"workload": "coulomb-social",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 0.4,
|
|
"cpu_peak_m_7d": 24.6,
|
|
"memory_p95_mi_7d": 146.2,
|
|
"memory_peak_mi_7d": 146.3,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 1.0,
|
|
"rule_cpu_m": 15,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 15,
|
|
"proposed_memory_request_mi": 176,
|
|
"owner_repo": "coulomb-social",
|
|
"receiving_record": "needs receiving task in coulomb-social",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "databases",
|
|
"workload": "forgejo-db",
|
|
"pods": 1,
|
|
"cpu_request_m": 200,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 512.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 68.8,
|
|
"cpu_peak_m_7d": 160.9,
|
|
"memory_p95_mi_7d": 249.4,
|
|
"memory_peak_mi_7d": 286.4,
|
|
"throttle_ratio_7d": 0.07,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 105,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 105,
|
|
"proposed_memory_request_mi": 288,
|
|
"owner_repo": "rapp-postgres",
|
|
"receiving_record": "needs receiving task in rapp-postgres",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "databases",
|
|
"workload": "net-kingdom-pg",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 10.3,
|
|
"cpu_peak_m_7d": 48.0,
|
|
"memory_p95_mi_7d": 228.7,
|
|
"memory_peak_mi_7d": 497.3,
|
|
"throttle_ratio_7d": 0.001,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 50,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 50,
|
|
"proposed_memory_request_mi": 256.0,
|
|
"owner_repo": "rapp-postgres",
|
|
"receiving_record": "needs receiving task in rapp-postgres",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "databases",
|
|
"workload": "platform-pg",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 13.0,
|
|
"cpu_peak_m_7d": 68.7,
|
|
"memory_p95_mi_7d": 160.1,
|
|
"memory_peak_mi_7d": 263.9,
|
|
"throttle_ratio_7d": 0.001,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 50,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 50,
|
|
"proposed_memory_request_mi": 192,
|
|
"owner_repo": "rapp-postgres",
|
|
"receiving_record": "needs receiving task in rapp-postgres",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "databases",
|
|
"workload": "platform-pg-2",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 12.0,
|
|
"cpu_peak_m_7d": 62.3,
|
|
"memory_p95_mi_7d": 198.8,
|
|
"memory_peak_mi_7d": 267.7,
|
|
"throttle_ratio_7d": 0.001,
|
|
"restarts_7d": 1.0,
|
|
"rule_cpu_m": 50,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 50,
|
|
"proposed_memory_request_mi": 256.0,
|
|
"owner_repo": "rapp-postgres",
|
|
"receiving_record": "needs receiving task in rapp-postgres",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "databases",
|
|
"workload": "state-hub-db",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 36.7,
|
|
"cpu_peak_m_7d": 133.2,
|
|
"memory_p95_mi_7d": 349.4,
|
|
"memory_peak_mi_7d": 359.0,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 70,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 70,
|
|
"proposed_memory_request_mi": 416,
|
|
"owner_repo": "state-hub",
|
|
"receiving_record": "needs receiving task in state-hub",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. Zero-request CNPG cluster, source state-hub/deploy/railiance/platform/state-hub-db-cluster.yaml; memory p95 349Mi."
|
|
},
|
|
{
|
|
"namespace": "email-connect",
|
|
"workload": "email-connect",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 250,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 0.3,
|
|
"cpu_peak_m_7d": 0.8,
|
|
"memory_p95_mi_7d": 13.0,
|
|
"memory_peak_mi_7d": 13.0,
|
|
"throttle_ratio_7d": 0.001,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "email-connect",
|
|
"receiving_record": "needs receiving task in email-connect",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "external-secrets",
|
|
"workload": "external-secrets",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 4.1,
|
|
"cpu_peak_m_7d": 5.5,
|
|
"memory_p95_mi_7d": 51.2,
|
|
"memory_peak_mi_7d": 53.3,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 64,
|
|
"owner_repo": "railiance-platform",
|
|
"receiving_record": "needs receiving task in railiance-platform",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "external-secrets",
|
|
"workload": "external-secrets-cert-controller",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 1.0,
|
|
"cpu_peak_m_7d": 1.5,
|
|
"memory_p95_mi_7d": 42.2,
|
|
"memory_peak_mi_7d": 51.4,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 64,
|
|
"owner_repo": "railiance-platform",
|
|
"receiving_record": "needs receiving task in railiance-platform",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "external-secrets",
|
|
"workload": "external-secrets-webhook",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 0.5,
|
|
"cpu_peak_m_7d": 0.6,
|
|
"memory_p95_mi_7d": 63.2,
|
|
"memory_peak_mi_7d": 111.9,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 80,
|
|
"owner_repo": "railiance-platform",
|
|
"receiving_record": "needs receiving task in railiance-platform",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "flex-auth",
|
|
"workload": "flex-auth",
|
|
"pods": 9,
|
|
"cpu_request_m": 145,
|
|
"cpu_limit_m": 2700,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 288.0,
|
|
"memory_limit_mi": 1728.0,
|
|
"cpu_p95_m_7d": 2.2,
|
|
"cpu_peak_m_7d": 18.6,
|
|
"memory_p95_mi_7d": 139.8,
|
|
"memory_peak_mi_7d": 191.1,
|
|
"throttle_ratio_7d": 0.002,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 45,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 45,
|
|
"proposed_memory_request_mi": 176,
|
|
"owner_repo": "flex-auth (no local checkout)",
|
|
"receiving_record": "needs receiving task in flex-auth",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "forgejo",
|
|
"workload": "forgejo-runner",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 2,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 13.1,
|
|
"cpu_peak_m_7d": 243.2,
|
|
"memory_p95_mi_7d": 428.0,
|
|
"memory_peak_mi_7d": 734.1,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 2.0,
|
|
"rule_cpu_m": 125,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 125,
|
|
"proposed_memory_request_mi": 496,
|
|
"owner_repo": "railiance-forge",
|
|
"receiving_record": "needs receiving task in railiance-forge",
|
|
"rationale": "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."
|
|
},
|
|
{
|
|
"namespace": "forgejo",
|
|
"workload": "gitea",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 128.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 133.2,
|
|
"cpu_peak_m_7d": 376.7,
|
|
"memory_p95_mi_7d": 955.5,
|
|
"memory_peak_mi_7d": 1005.0,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 200,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 200,
|
|
"proposed_memory_request_mi": 1104,
|
|
"owner_repo": "railiance-forge",
|
|
"receiving_record": "needs receiving task in railiance-forge",
|
|
"rationale": "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."
|
|
},
|
|
{
|
|
"namespace": "issue-core",
|
|
"workload": "issue-core",
|
|
"pods": 1,
|
|
"cpu_request_m": 50,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 128.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 2.0,
|
|
"cpu_peak_m_7d": 3.4,
|
|
"memory_p95_mi_7d": 41.4,
|
|
"memory_peak_mi_7d": 50.7,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 48,
|
|
"owner_repo": "issue-core",
|
|
"receiving_record": "needs receiving task in issue-core",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "knative-serving",
|
|
"workload": "knative-serving",
|
|
"pods": 4,
|
|
"cpu_request_m": 140,
|
|
"cpu_limit_m": 3500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 360.0,
|
|
"memory_limit_mi": 3100.0,
|
|
"cpu_p95_m_7d": 7.2,
|
|
"cpu_peak_m_7d": 9.9,
|
|
"memory_p95_mi_7d": 145.7,
|
|
"memory_peak_mi_7d": 210.9,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 40,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 40,
|
|
"proposed_memory_request_mi": 176,
|
|
"owner_repo": "rail-knative",
|
|
"receiving_record": "needs receiving task in rail-knative",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. Requests already reduced by RAIL-KNATIVE-WP-0002 (finished); the open risk is HPA maxReplicas (see budget)."
|
|
},
|
|
{
|
|
"namespace": "knative-serving",
|
|
"workload": "net-kourier-controller",
|
|
"pods": 1,
|
|
"cpu_request_m": 30,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 200.0,
|
|
"memory_limit_mi": 500.0,
|
|
"cpu_p95_m_7d": 0.8,
|
|
"cpu_peak_m_7d": 1.6,
|
|
"memory_p95_mi_7d": 53.3,
|
|
"memory_peak_mi_7d": 79.5,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 64,
|
|
"owner_repo": "rail-knative",
|
|
"receiving_record": "needs receiving task in rail-knative",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "kourier-system",
|
|
"workload": "3scale-kourier-gateway",
|
|
"pods": 1,
|
|
"cpu_request_m": 50,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 200.0,
|
|
"memory_limit_mi": 800.0,
|
|
"cpu_p95_m_7d": 3.6,
|
|
"cpu_peak_m_7d": 3.8,
|
|
"memory_p95_mi_7d": 28.6,
|
|
"memory_peak_mi_7d": 33.3,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 48,
|
|
"owner_repo": "rail-knative",
|
|
"receiving_record": "needs receiving task in rail-knative",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "kube-system",
|
|
"workload": "coredns-7bdb54f89",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 70.0,
|
|
"memory_limit_mi": 170.0,
|
|
"cpu_p95_m_7d": 7.8,
|
|
"cpu_peak_m_7d": 10.3,
|
|
"memory_p95_mi_7d": 35.3,
|
|
"memory_peak_mi_7d": 76.7,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 15,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 50,
|
|
"proposed_memory_request_mi": 70.0,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": "needs receiving task in railiance-cluster",
|
|
"rationale": "DNS for every workload: floor 50m regardless of p95 7.8m."
|
|
},
|
|
{
|
|
"namespace": "kube-system",
|
|
"workload": "local-path-provisioner",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 0.1,
|
|
"cpu_peak_m_7d": 0.3,
|
|
"memory_p95_mi_7d": 21.8,
|
|
"memory_peak_mi_7d": 24.4,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "increase",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 0.0,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": "needs receiving task in railiance-cluster",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "kube-system",
|
|
"workload": "metrics-server-786d997795",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 70.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 4.9,
|
|
"cpu_peak_m_7d": 5.1,
|
|
"memory_p95_mi_7d": 46.6,
|
|
"memory_peak_mi_7d": 48.4,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 70.0,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": "needs receiving task in railiance-cluster",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "kube-system",
|
|
"workload": "traefik",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 3.8,
|
|
"cpu_peak_m_7d": 16.0,
|
|
"memory_p95_mi_7d": 69.1,
|
|
"memory_peak_mi_7d": 148.7,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 80,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": "needs receiving task in railiance-cluster",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "mas",
|
|
"workload": "mas-mx",
|
|
"pods": 1,
|
|
"cpu_request_m": 20,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 0.6,
|
|
"cpu_peak_m_7d": 3.6,
|
|
"memory_p95_mi_7d": 43.3,
|
|
"memory_peak_mi_7d": 47.9,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "mail-address-semantics",
|
|
"receiving_record": "needs receiving task in mail-address-semantics",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "mfa",
|
|
"workload": "net-kingdom-sso-mfa",
|
|
"pods": 1,
|
|
"cpu_request_m": 110,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 384.0,
|
|
"memory_limit_mi": 896.0,
|
|
"cpu_p95_m_7d": 12.2,
|
|
"cpu_peak_m_7d": 23.1,
|
|
"memory_p95_mi_7d": 225.6,
|
|
"memory_peak_mi_7d": 225.8,
|
|
"throttle_ratio_7d": 0.049,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 20,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 20,
|
|
"proposed_memory_request_mi": 272,
|
|
"owner_repo": "net-kingdom",
|
|
"receiving_record": "needs receiving task in net-kingdom",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "openbao",
|
|
"workload": "railiance-platform",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 200,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 32.0,
|
|
"memory_limit_mi": 128.0,
|
|
"cpu_p95_m_7d": 0.2,
|
|
"cpu_peak_m_7d": 0.5,
|
|
"memory_p95_mi_7d": 4.8,
|
|
"memory_peak_mi_7d": 4.8,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 32.0,
|
|
"owner_repo": "railiance-platform",
|
|
"receiving_record": "needs receiving task in railiance-platform",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "playwright",
|
|
"workload": "rapp-playwright",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 41.5,
|
|
"cpu_peak_m_7d": 62.7,
|
|
"memory_p95_mi_7d": 285.1,
|
|
"memory_peak_mi_7d": 437.2,
|
|
"throttle_ratio_7d": 0.238,
|
|
"restarts_7d": 1.0,
|
|
"rule_cpu_m": 65,
|
|
"action": "decrease + review CPU limit (throttled) + memory up",
|
|
"proposed_cpu_request_m": 65,
|
|
"proposed_memory_request_mi": 336,
|
|
"owner_repo": "railiance-platform",
|
|
"receiving_record": "needs receiving task in railiance-platform",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. 23.8% throttled; RPF-WP-0056 covers admission, not sizing."
|
|
},
|
|
{
|
|
"namespace": "rapp-qonto",
|
|
"workload": "rapp-qonto-audit-collector",
|
|
"pods": 1,
|
|
"cpu_request_m": 20,
|
|
"cpu_limit_m": 200,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 32.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 0.4,
|
|
"cpu_peak_m_7d": 3.5,
|
|
"memory_p95_mi_7d": 14.2,
|
|
"memory_peak_mi_7d": 14.5,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 32.0,
|
|
"owner_repo": "rapp-qonto",
|
|
"receiving_record": "needs receiving task in rapp-qonto",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "rapp-qonto-egress",
|
|
"workload": "qonto-egress-proxy",
|
|
"pods": 1,
|
|
"cpu_request_m": 20,
|
|
"cpu_limit_m": 200,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 0.4,
|
|
"cpu_peak_m_7d": 0.4,
|
|
"memory_p95_mi_7d": 161.8,
|
|
"memory_peak_mi_7d": 190.2,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease + memory up",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 192,
|
|
"owner_repo": "rapp-qonto",
|
|
"receiving_record": "needs receiving task in rapp-qonto",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "rein-aharness",
|
|
"workload": "rein-aharness",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 512.0,
|
|
"cpu_p95_m_7d": 0.0,
|
|
"cpu_peak_m_7d": 0.0,
|
|
"memory_p95_mi_7d": 0.4,
|
|
"memory_peak_mi_7d": 0.4,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "rein-aharness",
|
|
"receiving_record": "needs receiving task in rein-aharness",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. 0m/0Mi recorded over 7d; confirm the service is meant to run."
|
|
},
|
|
{
|
|
"namespace": "reuse",
|
|
"workload": "reuse-surface",
|
|
"pods": 2,
|
|
"cpu_request_m": 110,
|
|
"cpu_limit_m": 550,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 288.0,
|
|
"memory_limit_mi": 576.0,
|
|
"cpu_p95_m_7d": 2.1,
|
|
"cpu_peak_m_7d": 10.2,
|
|
"memory_p95_mi_7d": 56.2,
|
|
"memory_peak_mi_7d": 57.0,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 80,
|
|
"owner_repo": "reuse-surface",
|
|
"receiving_record": "needs receiving task in reuse-surface",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "sbom-nexus",
|
|
"workload": "sbom-nexus",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 3.8,
|
|
"cpu_peak_m_7d": 5.8,
|
|
"memory_p95_mi_7d": 80.0,
|
|
"memory_peak_mi_7d": 80.0,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 1.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "sbom-nexus",
|
|
"receiving_record": "needs receiving task in sbom-nexus",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "sso",
|
|
"workload": "net-kingdom-sso-mfa",
|
|
"pods": 4,
|
|
"cpu_request_m": 150,
|
|
"cpu_limit_m": 1150,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 640.0,
|
|
"cpu_p95_m_7d": 22.4,
|
|
"cpu_peak_m_7d": 34.5,
|
|
"memory_p95_mi_7d": 140.5,
|
|
"memory_peak_mi_7d": 179.1,
|
|
"throttle_ratio_7d": 0.537,
|
|
"restarts_7d": 2.0,
|
|
"rule_cpu_m": 40,
|
|
"action": "decrease + review CPU limit (throttled) + memory down",
|
|
"proposed_cpu_request_m": 40,
|
|
"proposed_memory_request_mi": 176,
|
|
"owner_repo": "net-kingdom",
|
|
"receiving_record": "needs receiving task in net-kingdom",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. 53.7% of CFS periods throttled: review the CPU limit on the login path, independent of the request."
|
|
},
|
|
{
|
|
"namespace": "state-hub",
|
|
"workload": "railiance-apps",
|
|
"pods": 2,
|
|
"cpu_request_m": 260,
|
|
"cpu_limit_m": 1500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 640.0,
|
|
"memory_limit_mi": 2560.0,
|
|
"cpu_p95_m_7d": 258.5,
|
|
"cpu_peak_m_7d": 975.0,
|
|
"memory_p95_mi_7d": 744.5,
|
|
"memory_peak_mi_7d": 797.5,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 490,
|
|
"action": "increase",
|
|
"proposed_cpu_request_m": 390,
|
|
"proposed_memory_request_mi": 640.0,
|
|
"owner_repo": "state-hub",
|
|
"receiving_record": "needs receiving task in state-hub",
|
|
"rationale": "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."
|
|
},
|
|
{
|
|
"namespace": "target-revenue",
|
|
"workload": "target-revenue",
|
|
"pods": 1,
|
|
"cpu_request_m": 50,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 512.0,
|
|
"cpu_p95_m_7d": 2.5,
|
|
"cpu_peak_m_7d": 2.6,
|
|
"memory_p95_mi_7d": 52.0,
|
|
"memory_peak_mi_7d": 70.9,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 64,
|
|
"owner_repo": "target-revenue",
|
|
"receiving_record": "needs receiving task in target-revenue",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "target-revenue",
|
|
"workload": "target-revenue-pg",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 7.6,
|
|
"cpu_peak_m_7d": 9.2,
|
|
"memory_p95_mi_7d": 56.2,
|
|
"memory_peak_mi_7d": 63.4,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 50,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 50,
|
|
"proposed_memory_request_mi": 80,
|
|
"owner_repo": "target-revenue",
|
|
"receiving_record": "needs receiving task in target-revenue",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. Zero-request CNPG cluster, source target-revenue/k8s/railiance/cnpg-cluster.yaml."
|
|
},
|
|
{
|
|
"namespace": "telemetry",
|
|
"workload": "alertmanager",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 250,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 128.0,
|
|
"cpu_p95_m_7d": 0.7,
|
|
"cpu_peak_m_7d": 0.8,
|
|
"memory_p95_mi_7d": 38.6,
|
|
"memory_peak_mi_7d": 56.8,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "rapp-telemetry",
|
|
"receiving_record": "needs receiving task in rapp-telemetry",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "telemetry",
|
|
"workload": "grafana",
|
|
"pods": 1,
|
|
"cpu_request_m": 70,
|
|
"cpu_limit_m": 700,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 192.0,
|
|
"memory_limit_mi": 640.0,
|
|
"cpu_p95_m_7d": 12.5,
|
|
"cpu_peak_m_7d": 61.0,
|
|
"memory_p95_mi_7d": 436.0,
|
|
"memory_peak_mi_7d": 520.0,
|
|
"throttle_ratio_7d": 0.007,
|
|
"restarts_7d": 3.0,
|
|
"rule_cpu_m": 35,
|
|
"action": "decrease + memory up",
|
|
"proposed_cpu_request_m": 35,
|
|
"proposed_memory_request_mi": 512,
|
|
"owner_repo": "rapp-telemetry",
|
|
"receiving_record": "needs receiving task in rapp-telemetry",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. Memory p95 436Mi vs 192Mi request; 3 restarts in 7d (cause not verified)."
|
|
},
|
|
{
|
|
"namespace": "telemetry",
|
|
"workload": "kube-state-metrics",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 250,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 128.0,
|
|
"cpu_p95_m_7d": 2.7,
|
|
"cpu_peak_m_7d": 4.5,
|
|
"memory_p95_mi_7d": 34.1,
|
|
"memory_peak_mi_7d": 63.5,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "rapp-telemetry",
|
|
"receiving_record": "needs receiving task in rapp-telemetry",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "telemetry",
|
|
"workload": "prometheus",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 512.0,
|
|
"memory_limit_mi": 1536.0,
|
|
"cpu_p95_m_7d": 134.5,
|
|
"cpu_peak_m_7d": 192.4,
|
|
"memory_p95_mi_7d": 992.4,
|
|
"memory_peak_mi_7d": 1088.9,
|
|
"throttle_ratio_7d": 0.002,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 205,
|
|
"action": "increase + memory up",
|
|
"proposed_cpu_request_m": 205,
|
|
"proposed_memory_request_mi": 1152,
|
|
"owner_repo": "rapp-telemetry",
|
|
"receiving_record": "needs receiving task in rapp-telemetry",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor. Memory p95 992Mi vs 512Mi request. Forgejo request recording rule still returns no series."
|
|
},
|
|
{
|
|
"namespace": "telemetry",
|
|
"workload": "rapp-telemetry",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 128.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 2.6,
|
|
"cpu_peak_m_7d": 4.4,
|
|
"memory_p95_mi_7d": 30.3,
|
|
"memory_peak_mi_7d": 38.0,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 48,
|
|
"owner_repo": "rapp-telemetry",
|
|
"receiving_record": "needs receiving task in rapp-telemetry",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "tenant-engine",
|
|
"workload": "tenant-engine",
|
|
"pods": 1,
|
|
"cpu_request_m": 25,
|
|
"cpu_limit_m": 300,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 48.0,
|
|
"memory_limit_mi": 192.0,
|
|
"cpu_p95_m_7d": 2.4,
|
|
"cpu_peak_m_7d": 2.6,
|
|
"memory_p95_mi_7d": 53.1,
|
|
"memory_peak_mi_7d": 67.8,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 48.0,
|
|
"owner_repo": "tenant-engine",
|
|
"receiving_record": "needs receiving task in tenant-engine",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "user-engine",
|
|
"workload": "user-engine",
|
|
"pods": 1,
|
|
"cpu_request_m": 50,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 0.4,
|
|
"cpu_peak_m_7d": 4.2,
|
|
"memory_p95_mi_7d": 55.7,
|
|
"memory_peak_mi_7d": 56.7,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "decrease",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "user-engine",
|
|
"receiving_record": "needs receiving task in user-engine",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "user-engine",
|
|
"workload": "user-engine-pg",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 7.5,
|
|
"cpu_peak_m_7d": 9.7,
|
|
"memory_p95_mi_7d": 78.3,
|
|
"memory_peak_mi_7d": 102.7,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 50,
|
|
"action": "decrease + memory down",
|
|
"proposed_cpu_request_m": 50,
|
|
"proposed_memory_request_mi": 96,
|
|
"owner_repo": "user-engine",
|
|
"receiving_record": "needs receiving task in user-engine",
|
|
"rationale": "Rule p95x1.5 / peakx0.5 / floor."
|
|
},
|
|
{
|
|
"namespace": "vergabe-demo-company",
|
|
"workload": "vergabe-teilnahme",
|
|
"pods": 1,
|
|
"cpu_request_m": 60,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 0.5,
|
|
"cpu_peak_m_7d": 20.3,
|
|
"memory_p95_mi_7d": 171.5,
|
|
"memory_peak_mi_7d": 171.6,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 15,
|
|
"action": "keep CPU (replay-backed) + memory up",
|
|
"proposed_cpu_request_m": 60,
|
|
"proposed_memory_request_mi": 512,
|
|
"owner_repo": "railiance-apps",
|
|
"receiving_record": "needs receiving task in railiance-apps",
|
|
"rationale": "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."
|
|
},
|
|
{
|
|
"namespace": "activity-core",
|
|
"workload": "actcore-temporal-ui-tls-2-1888679036-1756117428",
|
|
"pods": 1,
|
|
"cpu_request_m": 10,
|
|
"cpu_limit_m": 100,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 64.0,
|
|
"cpu_p95_m_7d": 0.0,
|
|
"cpu_peak_m_7d": 0.1,
|
|
"memory_p95_mi_7d": 12.8,
|
|
"memory_peak_mi_7d": 18.5,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "activity-core",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "approval-engine",
|
|
"workload": "approval-engine",
|
|
"pods": 1,
|
|
"cpu_request_m": 10,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 0.7,
|
|
"cpu_peak_m_7d": 16.3,
|
|
"memory_p95_mi_7d": 30.1,
|
|
"memory_peak_mi_7d": 30.6,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "approval-engine",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "argocd",
|
|
"workload": "argocd-applicationset-controller",
|
|
"pods": 1,
|
|
"cpu_request_m": 10,
|
|
"cpu_limit_m": 250,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 0.7,
|
|
"cpu_peak_m_7d": 1.0,
|
|
"memory_p95_mi_7d": 84.1,
|
|
"memory_peak_mi_7d": 113.1,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "railiance-enablement",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "argocd",
|
|
"workload": "argocd-redis",
|
|
"pods": 1,
|
|
"cpu_request_m": 10,
|
|
"cpu_limit_m": 200,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 32.0,
|
|
"memory_limit_mi": 128.0,
|
|
"cpu_p95_m_7d": 5.0,
|
|
"cpu_peak_m_7d": 5.1,
|
|
"memory_p95_mi_7d": 6.4,
|
|
"memory_peak_mi_7d": 26.9,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 32.0,
|
|
"owner_repo": "railiance-enablement",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "bao-notice",
|
|
"workload": "bao-notice",
|
|
"pods": 1,
|
|
"cpu_request_m": 5,
|
|
"cpu_limit_m": 100,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 16.0,
|
|
"memory_limit_mi": 64.0,
|
|
"cpu_p95_m_7d": 0.0,
|
|
"cpu_peak_m_7d": 0.1,
|
|
"memory_p95_mi_7d": 4.3,
|
|
"memory_peak_mi_7d": 4.4,
|
|
"throttle_ratio_7d": 0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 16.0,
|
|
"owner_repo": "railiance-platform",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "databases",
|
|
"workload": "apps-pg",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 1000,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 1024.0,
|
|
"cpu_p95_m_7d": 8.0,
|
|
"cpu_peak_m_7d": 55.6,
|
|
"memory_p95_mi_7d": 89.1,
|
|
"memory_peak_mi_7d": 116.1,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 50,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 100,
|
|
"proposed_memory_request_mi": 256.0,
|
|
"owner_repo": "rapp-postgres",
|
|
"receiving_record": null,
|
|
"rationale": "Keep 100m (rule would give 50m): Vergabe replay adds ~320m mean / ~480m p95 incremental PostgreSQL CPU at synthetic load; shared apps-pg behaviour unproven."
|
|
},
|
|
{
|
|
"namespace": "informed-decision",
|
|
"workload": "informed-decision",
|
|
"pods": 1,
|
|
"cpu_request_m": 5,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 64.0,
|
|
"memory_limit_mi": 256.0,
|
|
"cpu_p95_m_7d": 1.2,
|
|
"cpu_peak_m_7d": 23.2,
|
|
"memory_p95_mi_7d": 38.8,
|
|
"memory_peak_mi_7d": 46.7,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 15,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 64.0,
|
|
"owner_repo": "informed-decision",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "kube-system",
|
|
"workload": "svclb-mas-smtp-d86db2b1",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 0.0,
|
|
"cpu_peak_m_7d": 0.0,
|
|
"memory_p95_mi_7d": 0.5,
|
|
"memory_peak_mi_7d": 1.9,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 0,
|
|
"proposed_memory_request_mi": 0.0,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": null,
|
|
"rationale": "k3s klipper DaemonSet, ~0m measured; accepted documented zero."
|
|
},
|
|
{
|
|
"namespace": "kube-system",
|
|
"workload": "svclb-traefik-0c8aecaf",
|
|
"pods": 1,
|
|
"cpu_request_m": 0,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 2,
|
|
"memory_request_mi": 0.0,
|
|
"memory_limit_mi": 0.0,
|
|
"cpu_p95_m_7d": 0.0,
|
|
"cpu_peak_m_7d": 0.0,
|
|
"memory_p95_mi_7d": 0.9,
|
|
"memory_peak_mi_7d": 2.3,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 0,
|
|
"proposed_memory_request_mi": 0.0,
|
|
"owner_repo": "railiance-cluster",
|
|
"receiving_record": null,
|
|
"rationale": "k3s klipper DaemonSet, ~0m measured; accepted documented zero."
|
|
},
|
|
{
|
|
"namespace": "mas",
|
|
"workload": "mas-statute",
|
|
"pods": 1,
|
|
"cpu_request_m": 5,
|
|
"cpu_limit_m": 0,
|
|
"containers_without_cpu_limit": 1,
|
|
"memory_request_mi": 32.0,
|
|
"memory_limit_mi": 64.0,
|
|
"cpu_p95_m_7d": 0.3,
|
|
"cpu_peak_m_7d": 0.5,
|
|
"memory_p95_mi_7d": 9.6,
|
|
"memory_peak_mi_7d": 9.6,
|
|
"throttle_ratio_7d": null,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 32.0,
|
|
"owner_repo": "mail-address-semantics",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "openbao",
|
|
"workload": "openbao",
|
|
"pods": 1,
|
|
"cpu_request_m": 100,
|
|
"cpu_limit_m": 500,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 256.0,
|
|
"memory_limit_mi": 512.0,
|
|
"cpu_p95_m_7d": 13.1,
|
|
"cpu_peak_m_7d": 181.3,
|
|
"memory_p95_mi_7d": 177.0,
|
|
"memory_peak_mi_7d": 399.0,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 95,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 100,
|
|
"proposed_memory_request_mi": 256.0,
|
|
"owner_repo": "railiance-platform",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "policy-nexus",
|
|
"workload": "policy-nexus",
|
|
"pods": 1,
|
|
"cpu_request_m": 10,
|
|
"cpu_limit_m": 100,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 32.0,
|
|
"memory_limit_mi": 64.0,
|
|
"cpu_p95_m_7d": 0.1,
|
|
"cpu_peak_m_7d": 0.4,
|
|
"memory_p95_mi_7d": 11.4,
|
|
"memory_peak_mi_7d": 11.4,
|
|
"throttle_ratio_7d": 0.0,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 5,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 10,
|
|
"proposed_memory_request_mi": 32.0,
|
|
"owner_repo": "policy-nexus",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
},
|
|
{
|
|
"namespace": "state-hub",
|
|
"workload": "state-hub",
|
|
"pods": 1,
|
|
"cpu_request_m": 5,
|
|
"cpu_limit_m": 100,
|
|
"containers_without_cpu_limit": 0,
|
|
"memory_request_mi": 24.0,
|
|
"memory_limit_mi": 96.0,
|
|
"cpu_p95_m_7d": 2.0,
|
|
"cpu_peak_m_7d": 6.1,
|
|
"memory_p95_mi_7d": 25.9,
|
|
"memory_peak_mi_7d": 26.1,
|
|
"throttle_ratio_7d": 0.001,
|
|
"restarts_7d": 0.0,
|
|
"rule_cpu_m": 10,
|
|
"action": "keep",
|
|
"proposed_cpu_request_m": 5,
|
|
"proposed_memory_request_mi": 24.0,
|
|
"owner_repo": "state-hub",
|
|
"receiving_record": null,
|
|
"rationale": "Within rule tolerance; keep."
|
|
}
|
|
],
|
|
"missing_receiving_tasks": {
|
|
"activity-core": [
|
|
"activity-core/activity-core"
|
|
],
|
|
"audit-core": [
|
|
"audit-core/audit-core"
|
|
],
|
|
"canned-prompts": [
|
|
"canned-prompts/canned-prompts"
|
|
],
|
|
"core-hub": [
|
|
"core-hub/rapp-core-hub"
|
|
],
|
|
"coulomb-social": [
|
|
"coulomb-social/coulomb-social"
|
|
],
|
|
"email-connect": [
|
|
"email-connect/email-connect"
|
|
],
|
|
"flex-auth": [
|
|
"flex-auth/flex-auth"
|
|
],
|
|
"ihp-railiance-probe": [
|
|
"coulomb/ihp-railiance-probe"
|
|
],
|
|
"issue-core": [
|
|
"issue-core/issue-core"
|
|
],
|
|
"mail-address-semantics": [
|
|
"mas/mas-mx"
|
|
],
|
|
"net-kingdom": [
|
|
"mfa/net-kingdom-sso-mfa",
|
|
"sso/net-kingdom-sso-mfa"
|
|
],
|
|
"rail-knative": [
|
|
"knative-serving/knative-serving",
|
|
"knative-serving/net-kourier-controller",
|
|
"kourier-system/3scale-kourier-gateway"
|
|
],
|
|
"railiance-apps": [
|
|
"vergabe-demo-company/vergabe-teilnahme"
|
|
],
|
|
"railiance-cluster": [
|
|
"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": [
|
|
"argocd/argocd-application-controller",
|
|
"argocd/argocd-repo-server"
|
|
],
|
|
"railiance-forge": [
|
|
"forgejo/forgejo-runner",
|
|
"forgejo/gitea"
|
|
],
|
|
"railiance-platform": [
|
|
"external-secrets/external-secrets",
|
|
"external-secrets/external-secrets-cert-controller",
|
|
"external-secrets/external-secrets-webhook",
|
|
"openbao/railiance-platform",
|
|
"playwright/rapp-playwright"
|
|
],
|
|
"rapp-postgres": [
|
|
"cnpg-system/cloudnative-pg",
|
|
"databases/forgejo-db",
|
|
"databases/net-kingdom-pg",
|
|
"databases/platform-pg",
|
|
"databases/platform-pg-2"
|
|
],
|
|
"rapp-qonto": [
|
|
"rapp-qonto/rapp-qonto-audit-collector",
|
|
"rapp-qonto-egress/qonto-egress-proxy"
|
|
],
|
|
"rapp-telemetry": [
|
|
"telemetry/alertmanager",
|
|
"telemetry/grafana",
|
|
"telemetry/kube-state-metrics",
|
|
"telemetry/prometheus",
|
|
"telemetry/rapp-telemetry"
|
|
],
|
|
"rein-aharness": [
|
|
"rein-aharness/rein-aharness"
|
|
],
|
|
"reuse-surface": [
|
|
"reuse/reuse-surface"
|
|
],
|
|
"sbom-nexus": [
|
|
"sbom-nexus/sbom-nexus"
|
|
],
|
|
"state-hub": [
|
|
"databases/state-hub-db",
|
|
"state-hub/railiance-apps"
|
|
],
|
|
"target-revenue": [
|
|
"target-revenue/target-revenue",
|
|
"target-revenue/target-revenue-pg"
|
|
],
|
|
"tenant-engine": [
|
|
"tenant-engine/tenant-engine"
|
|
],
|
|
"user-engine": [
|
|
"user-engine/user-engine",
|
|
"user-engine/user-engine-pg"
|
|
]
|
|
}
|
|
}
|