Before v1.0, it is crucial to establish clear boundaries for the DRAForge public API, CLI, Helm chart, and configurations.
This document outlines the exposed surfaces of DRAForge, their stability guarantees, and the change policies that govern them.
DRAForge exposes a strictly read-only HTTP API from its server component. This API is consumed by the web dashboard and potentially other visualization tools.
All endpoints are prefixed with /api/ (except for /metrics, /healthz, and /readyz).
| Endpoint | Method | Stability | Description |
|---|---|---|---|
/api/summary |
GET | Stable | Cluster-wide overview statistics. |
/api/pools |
GET | Stable | List of active device pools (simulated or real). |
/api/devices |
GET | Stable | Discovered hardware/simulated devices. |
/api/claims |
GET | Stable | ResourceClaims and allocation status. |
/api/graph |
GET | Stable | Snapshot of the resource relationship graph. |
/api/explain?claim=X&namespace=default |
GET | Stable | Explanation tree for a claim’s status. |
/api/doctor |
GET | Stable | Cluster diagnostic checks (PASS/WARN/FAIL). |
/api/stream |
SSE | Beta | Server-Sent Events stream for graph updates. |
/api/version |
GET | Stable | Binary build version and commit. |
/metrics |
GET | Stable | Prometheus-compatible telemetry. |
/healthz |
GET | Stable | Liveness probe endpoint. |
/readyz |
GET | Stable | Readiness probe endpoint. |
The draforge command-line interface provides administration and inspection tools.
| Command | Stability | Description |
|---|---|---|
version |
Stable | Prints version information. |
discover |
Stable | Lists DRA resources. |
claims |
Stable | Summarizes claim allocations. |
graph |
Stable | Exports graph (JSON, DOT, Mermaid). |
explain <claim> |
Stable | Troubleshoots claim allocation. |
doctor |
Stable | Runs cluster diagnostics. |
serve |
Stable | Starts the HTTP API and dashboard. |
tui |
Stable | Starts the terminal UI. |
scenario apply -f <file> |
Stable | Applies a SimulatedDevicePool scenario. |
scenario reset |
Stable | Cleans up all scenarios. |
inject-fault |
Beta | Injects a simulation fault. |
clear-faults |
Beta | Clears injected faults. |
--kubeconfig, --namespace) are stable.-o json) are stable.The official DRAForge Helm chart defines the installation boundary.
| Values/Config | Stability | Description |
|---|---|---|
values.yaml schema |
Stable | Structure of values configuring server, controller, and simulator. |
DRAFORGE_METRICS_DETAIL |
Beta | Env var enabling high-cardinality metrics. |
CORS_ALLOWED_ORIGINS |
Stable | Env var restricting dashboard API access. |
values.yaml requires a major version bump. Adding new keys is allowed in minor versions.| Group/Version | Kind | Stability | Description |
|---|---|---|---|
draforge.oaslananka/v1alpha1 |
SimulatedDevicePool |
Alpha | Configures the virtual device simulator. |
v1alpha1 -> v1beta1 -> v1).v1alpha1 are allowed. Upon promotion to v1, structural changes require a new API version and conversion webhook.