railiance-cluster/workplans/RCLUSTER-WP-0014-capacity-utilization-and-allocation-evidence.md
codex ea0452b9a9
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Publish cluster resource evidence and gate ThreePhoenix
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02669-87ee-7a31-b111-edc95a16e0fa
2026-08-22 12:34:25 +02:00

4.4 KiB

id type title domain repo status owner topic_slug created updated related state_hub_workstream_id
RCLUSTER-WP-0014 workplan Publish cluster capacity, utilization, and allocation evidence financials railiance-cluster finished codex railiance 2026-08-11 2026-08-22
RAIL-BS-WP-0007
RESOURCE-WP-0003
ADR-0006
ADR-0008
ea6ec98a-0d65-4afa-b6c5-6e7ed34011ac

RCLUSTER-WP-0014 — cluster resource evidence

Goal

Publish reproducible non-secret evidence for resource:railiance:reef-railiance:k3s: capacity, requested and observed utilization, persistent-storage exposure, failure domains, and allocation drivers. Origin: RESOURCE-WP-0003-T04 delegated evidence gap.

This is ADR-0006 reef evidence (capacity headroom, failure-domain assumptions). It does not promote a binding to production-approved. It does not publish a public metrics listener (ADR-0008). Collect in-cluster or via the operator tunnel.

Current reality: one Ready node (railiance01), local storage, Traefik. Do not invent a three-domain map or report Longhorn as live capacity. RAIL-BS-WP-0007 is the HA target.

S2 publishes facts. reef-railiance cites them. resource-control / fin-hub allocate. No booked EUR in this repo.

T01 — Produce periodic cluster capacity observations

id: RCLUSTER-WP-0014-T01
status: done
priority: high
state_hub_task_id: "a144bf1d-0402-4526-9bda-17846390270c"

Collect node count, allocatable CPU/memory/storage/pods, workload requests and limits, observed usage when metrics are available, and PVC requested capacity. Aggregate by namespace/workload without exposing Secret data or pod environment. Preserve observation time, cluster identity, units, unavailable metrics, and source commands.

Done when repeated observations use a stable machine-readable interface and resource-control can distinguish headroom, reservations, and actual usage.

Outcome (2026-08-22): make cluster-observe REMOTE=railiance01 now emits versioned, timestamped JSON with node allocatable/observed resources, namespace/workload requests and limits, PVC/PV/storage-class state, stable units, source commands, and explicit gaps without reading Secrets or pod environments.

T02 — Publish the failure-domain and storage contract

id: RCLUSTER-WP-0014-T02
status: done
priority: high
state_hub_task_id: "6460d9aa-3ded-420a-bf01-f0ccdeee0a02"

Expose the current node-to-host/provider failure-domain map and the actual storage-class/PVC durability contract. Link the target ThreePhoenix work in RAIL-BS-WP-0007 without reporting target nodes or distributed storage as current capacity.

Done when consumers can calculate correlated-failure risk and recognize which state remains local to railiance01.

Outcome (2026-08-22): the evidence contract reports one Ready node, local-path storage, threephoenix_ready: false, and the missing independent region/zone labels. Target HA and Longhorn capacity are not represented as current facts.

T03 — Define technical allocation-driver evidence

id: RCLUSTER-WP-0014-T03
status: done
priority: medium
state_hub_task_id: "e5ff9b6c-e883-4356-9eca-b31757661d2f"

Evaluate namespace/workload CPU-request hours, memory-request hours, PVC GB-month, and observed usage as allocation drivers. Publish numerator, denominator, residual/unallocated capacity, method version, and uncertainty; do not convert the result into booked spend.

Done when resource-control can create an explainable allocation and fin-hub can reconcile it to referenced financial facts.

Outcome (2026-08-22): cluster-raw-drivers-v1 publishes CPU requests, memory requests, PVC bytes, observed usage, totals, residual capacity, and uncertainty, while leaving formula selection and booked cost to resource-control.

Acceptance

  • Capacity evidence separates allocatable, requested, limited, and observed.
  • Current single-host/local-storage risk is machine-readable.
  • Allocation drivers reconcile to explicit totals and residuals.

Completion evidence

  • python3 -m unittest discover -s tests -p 'test_*.py' -v: 2 tests passed.
  • Live read-only capture: docs/evidence/resource-reef-railiance-k3s/observations/20260822T100349Z.json.
  • Observed totals: 1 node, 53 workloads, 25 claims; 4,000m allocatable CPU, 3,830m requested CPU, 16,770,076,672 allocatable memory bytes, and 137,438,953,472 requested PVC bytes.