Non-secret identity, a reproducible capacity observation, and host-ops labor/exit inputs for resource:hosteurope:railiance01. Booked price and contract dates stay unknown for their owners.
63 lines
2.6 KiB
Markdown
63 lines
2.6 KiB
Markdown
# 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)
|