From 9491744e5adab4464070c164d7172a7392ae1e15 Mon Sep 17 00:00:00 2001 From: tegwick Date: Fri, 11 Sep 2026 18:47:52 +0200 Subject: [PATCH] Configure the invited Vergabe prototype at 60m CPU Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc --- .../2026-09-11-vergabe-pilot-60m.json | 60 +++++++++++++++++++ docs/vergabe-teilnahme-pilot.md | 35 +++++++++-- ...ergabe-teilnahme-pilot-values.example.yaml | 5 ++ .../RAPPS-WP-0014-vergabe-invited-pilot.md | 27 ++++++--- 4 files changed, 112 insertions(+), 15 deletions(-) create mode 100644 docs/evidence/2026-09-11-vergabe-pilot-60m.json diff --git a/docs/evidence/2026-09-11-vergabe-pilot-60m.json b/docs/evidence/2026-09-11-vergabe-pilot-60m.json new file mode 100644 index 0000000..41a49db --- /dev/null +++ b/docs/evidence/2026-09-11-vergabe-pilot-60m.json @@ -0,0 +1,60 @@ +{ + "captured_at": "2026-09-11T16:32:35.266833+00:00", + "mode": "source_validation_only", + "user_decision": "explicit acceptance of 60m requested CPU for one tenant with very few users", + "sizing_workplan": "CUST-WP-0071", + "sizing_workplan_uuid": "2249bddb-7524-5add-bd5c-c4163a6ca0f3", + "image": "forgejo.coulomb.social/coulomb/vergabe-teilnahme@sha256:963240ef4180a01e5b8af7fbeb88be27e56203a45da8ecd633326b4c6d262005", + "resources": { + "limits": { + "cpu": "1000m", + "memory": "1Gi" + }, + "requests": { + "cpu": "60m", + "memory": "256Mi" + } + }, + "replicas": 1, + "strategy": { + "type": "Recreate" + }, + "distinct_retained_claims": [ + "vergabe-teilnahme-media", + "vergabe-teilnahme-app-state" + ], + "helm_lint_exit": 0, + "helm_render_exit": 0, + "cluster_snapshot": { + "allocatable_cpu_m": 4000, + "requested_cpu_m": 3905, + "pilot_request_m": 60, + "remaining_after_pilot_m": 35, + "source": "fresh kubectl describe nodes in this session; API read-only; no deployment performed" + }, + "binding_status": "tenant/host/empty-versus-existing data choice pending; example hostname remains unassigned", + "checks": [ + "effective request 60m", + "CPU limit 1000m", + "memory request 256Mi and limit 1Gi", + "one Recreate replica", + "exact published image digest", + "two distinct retained PVCs" + ], + "live_deployment_performed": false, + "database_metadata": { + "source": "read-only Kubernetes CNPG CRs; no SQL or secret data reads", + "cluster": "databases/apps-pg", + "ready_instances": 1, + "database_cr": "vergabe-db", + "database_name": "vergabe_db", + "owner_role": "vergabe", + "applied": true, + "managed_consumers": 2, + "per_consumer_connection_limit": 20, + "last_successful_backup": "2026-09-11T02:15:11Z", + "daily_schedule": "0 15 2 * * *", + "data_reuse_selected": false + }, + "decision_id": "d221e067-078a-4867-be26-46d07ba82d26" +} diff --git a/docs/vergabe-teilnahme-pilot.md b/docs/vergabe-teilnahme-pilot.md index 3518cb0..0f516ff 100644 --- a/docs/vergabe-teilnahme-pilot.md +++ b/docs/vergabe-teilnahme-pilot.md @@ -108,9 +108,32 @@ acceptance remain open. See `docs/evidence/2026-09-11-invited-pilot-release.json for source, CI and artifact receipts; this candidate has not been deployed. -The shared `databases/apps-pg` cluster is currently healthy (1/1). The node has -4000m allocatable CPU and 3905m in requests, leaving 95m against this pilot's -100m request. This is a reservation constraint, not a utilization measurement. -RAPPS-WP-0014-T02 retains capacity admission before deployment; use existing -owner observations or add capacity, and retain operating room for factory -services. Do not silently reduce the pilot request to make the chart fit. +## Accepted prototype allocation — 2026-09-11 + +The user explicitly accepts a 60m CPU request for this invited prototype with +one tenant and very few users. Set `resources.requests.cpu: 60m` in the company +binding, as shown in the pilot example. The chart's inherited 100m was an initial +May 19 default, not a measured requirement. CPU limit remains 1000m, memory +request 256Mi and memory limit 1Gi; one replica and Recreate remain in effect. + +Fresh metadata shows `databases/apps-pg` healthy (1/1), 4000m allocatable CPU and +3905m requested. The 60m pilot application fits the current 95m reservation +headroom with 35m remaining. This is a scheduling snapshot, not a throughput, +latency or availability guarantee; database and host demand are separate. +Refresh the actual rendered placement and transient migration demand before +applying. The user accepts low allocation to exercise deployment and onboarding +without first optimizing other infrastructure. Do not change unrelated services. + +CUST-WP-0071 (`the-custodian/workplans/CUST-WP-0071-measured-workload-sizing-and-weekly-review.md`) +is registered for later measurement, sizing changes and a final weekly +assessment setup. It is not a prerequisite to this prototype. Exact tenant/host/ +data binding, protected access and the pilot's existing recovery/onboarding +checks continue in RAPPS-WP-0014 and VERGABE-WP-0019. See factory decision +`decisions/0012-accept-60m-invited-prototype.md`. + + +Read-only CNPG metadata also reports `vergabe-db` applied for `vergabe_db` owned +by `vergabe`, two managed consumers with 20-connection limits, and the most recent +apps-pg backup successful at 2026-09-11T02:15:11Z. This establishes the declared +database/backup metadata; no customer data was read, selected for reuse or +modified. The tenant/data choice remains open. diff --git a/helm/vergabe-teilnahme-pilot-values.example.yaml b/helm/vergabe-teilnahme-pilot-values.example.yaml index 1d94977..0133ce0 100644 --- a/helm/vergabe-teilnahme-pilot-values.example.yaml +++ b/helm/vergabe-teilnahme-pilot-values.example.yaml @@ -6,6 +6,11 @@ pilot: image: digest: "" # Required; the old published image lacks the pilot access gate. replicaCount: 1 +# User-approved prototype allocation, 2026-09-11. Measure under CUST-WP-0071. +# CPU limit and memory resources inherit the chart values. +resources: + requests: + cpu: 60m envSecretName: vergabe-pilot-env env: DJANGO_SETTINGS_MODULE: vergabe_teilnahme.settings.prod diff --git a/workplans/RAPPS-WP-0014-vergabe-invited-pilot.md b/workplans/RAPPS-WP-0014-vergabe-invited-pilot.md index 4904cbf..5d7f765 100644 --- a/workplans/RAPPS-WP-0014-vergabe-invited-pilot.md +++ b/workplans/RAPPS-WP-0014-vergabe-invited-pilot.md @@ -9,7 +9,7 @@ owner: the-custodian topic_slug: railiance created: "2026-09-11" updated: "2026-09-11" -related: [VERGABE-WP-0019, VERGABE-WP-0018, HFACT-WP-0001] +related: [VERGABE-WP-0019, VERGABE-WP-0018, HFACT-WP-0001, CUST-WP-0071] state_hub_workstream_id: "c7fdaa7e-cab8-5d1d-86c2-f1aad7927c57" --- @@ -51,14 +51,23 @@ data. Resolve target inventory before using historical runbook names: the checked Railiance cluster has no vergabe-teilnahme namespace or matching Deployment on 2026-09-11. Do not infer data loss or authorization to recreate it. -Current metadata also shows `databases/apps-pg` healthy (1/1), but the sole node -has 3905m CPU requests against 4000m allocatable: only 95m remains versus the -pilot's 100m request. Placement does not currently fit. Resolve capacity with -the Railiance owner using measured demand or added capacity, and reserve room -for the remaining factory services/operations; do not lower requests merely -to pass scheduling. STATE-WP-0091 is the existing shared-headroom observation -return, not a grant to resize unrelated workloads. Database/role/data presence -has not been read. See the dated inventory receipt. +The user explicitly accepts a 60m CPU request for one tenant with very few +users on 2026-09-11. This prototype prioritizes the deployment/onboarding path; +60m is not a measured minimum or a production sizing claim. The pilot values +now override the inherited 100m request; CPU limit and memory remain unchanged. +Fresh metadata still shows `databases/apps-pg` healthy (1/1), 3905m requested +against 4000m allocatable and 95m available. A 60m application pod fits that +CPU snapshot with 35m remaining; refresh exact placement and any transient +migration/rollout demand before applying. This supersedes the earlier demand- +measurement prerequisite for this specific prototype, not unrelated allocations. + +CUST-WP-0071 is persisted/registered for later measured sizing and a final weekly +assessment setup. STATE-WP-0091 retains release preflight and shared-headroom +work. Neither is a new prerequisite for this accepted pilot. Fresh CNPG metadata reports `vergabe-db` applied for `vergabe_db`/`vergabe`, +two managed consumer roles with 20-connection limits, and a successful apps-pg +backup at 2026-09-11T02:15:11Z. Database contents have not been inspected or +modified; metadata does not select reuse or grant access to that data. See the +dated inventory and pilot allocation receipt. Use `docs/vergabe-teilnahme-pilot.md` for the review packet. Secret creation, operator access and placement consume existing platform lanes; they do not