# Evidence interface — `resource:hosteurope:railiance01` Stable, non-secret facts that `resource-control` should read for the Host Europe virtual server `Railiance01`. This directory is the interface. `resource-control` remains the portfolio record; `fin-hub` remains booked cost. Do not copy invoices or credentials into either side. ## Files | Path | Task | What it fills | | --- | --- | --- | | `identity-lifecycle.yaml` | T01 | provider, product, IDs, location, lifecycle, classified unknowns | | `observations/*.json` | T02 | timestamped OS / provider / k3s capacity and utilization | | `observations/latest.json` | T02 | symlink to the newest observation | | `labor-and-exit.yaml` | T03 | recurring host-ops activities, estimated hours, exit path | Producer: `scripts/observe-host-capacity.py Railiance01` ```bash make observe-railiance01 ``` Recommended cadence: monthly, and after any provider resize. Traffic allowance is still unknown (operator / panel). ## How to fold into resource-control Map, do not duplicate operating strings into a shadow inventory: | Inventory field | Source | | --- | --- | | `provider.name` | Host Europe GmbH | | `provider.product_ref` | `oh.hosting.c2.r4.d100` | | `provider.provider_resource_id` | `c0e697d1-4c71-40f5-9746-0b4c4b9e5c17` | | `provider.account_ref` | `openstack-project:f6491e4f796146d1a7ce30d569d5f122` | | `location.country` | `FR` | | `location.region` | `sxb1` | | `location.residency` | `EU` | | `lifecycle.commissioned_on` | `2026-03-08` | | `lifecycle.ordered_on` / `renews_on` / `cancel_by` | remain `null` (unknown, operator) | | `cost.*` booked price | remain unknown; owner `fin-hub` / `FIN-WP-0004` | | `capacity[]` | latest observation, kinds `usable` / `provisioned` / `observed` | | labor hours in forecasts | `labor-and-exit.yaml#monthly_host_ops_hours` (basis `estimated`) | Cluster utilization and PVC allocation stay `RAIL-BS-WP-0014`. ## Layers in an observation 1. **provider_declared** — instance type and UUIDs from named cloud-init keys. 2. **operating_system** — what the kernel sees (CPU, memory, root filesystem). 3. **kubernetes** — k3s capacity, allocatable, and `kubectl top` when present. Do not treat k3s allocatable as the provider grant. On 2026-08-15 they happened to match for CPU and memory; ephemeral-storage allocatable is smaller than the root filesystem. ## What is still unknown - Host Europe order date, renewal date, cancellation deadline, contract term - Billing customer number (restricted) - Traffic allowance - Booked recurring price and tax treatment (`fin-hub`) - Measured operator hours (no time records; estimates only)