docs: consolidate architecture docs into bible

This commit is contained in:
2026-02-23 17:51:25 +03:00
parent fcd57c1ba9
commit 38cc051f23
11 changed files with 161 additions and 123 deletions

View File

@@ -16,6 +16,7 @@
Upload a vendor diagnostic archive or a JSON snapshot.
**Request:** `multipart/form-data`, field name `archive`.
Server-side multipart limit: **100 MiB**.
Accepted inputs:
- `.tar`, `.tar.gz`, `.tgz` — vendor diagnostic archives
@@ -30,7 +31,7 @@ Accepted inputs:
### `POST /api/collect`
Start a live Redfish collection job.
Start a live collection job (`redfish` or `ipmi`).
**Request body:**
```json
@@ -45,9 +46,24 @@ Start a live Redfish collection job.
}
```
`tls_mode` values: `insecure` | `verify`
Supported values:
- `protocol`: `redfish` | `ipmi`
- `auth_type`: `password` | `token`
- `tls_mode`: `strict` | `insecure`
**Response:** `202 Accepted` with `{ "id": "<job-id>" }`
**Response:** `202 Accepted`
```json
{
"job_id": "job_a1b2c3d4e5f6",
"status": "queued",
"message": "Collection job accepted",
"created_at": "2026-02-23T12:00:00Z"
}
```
Validation behavior:
- `400 Bad Request` for invalid JSON
- `422 Unprocessable Entity` for semantic validation errors (missing/invalid fields)
### `GET /api/collect/{id}`
@@ -56,9 +72,12 @@ Poll job status and progress log.
**Response:**
```json
{
"id": "...",
"job_id": "job_a1b2c3d4e5f6",
"status": "running",
"logs": ["Connecting to BMC...", "Collecting CPUs..."]
"progress": 55,
"logs": ["..."],
"created_at": "2026-02-23T12:00:00Z",
"updated_at": "2026-02-23T12:00:10Z"
}
```
@@ -78,18 +97,28 @@ Returns source metadata for the current dataset.
```json
{
"loaded": true,
"filename": "redfish://bmc01.example.local",
"vendor": "redfish",
"source_type": "api",
"protocol": "redfish",
"target_host": "bmc01.example.local",
"collected_at": "2026-02-10T15:30:00Z"
"collected_at": "2026-02-10T15:30:00Z",
"stats": { "events": 0, "sensors": 0, "fru": 0 }
}
```
`source_type`: `archive` | `api`
When no dataset is loaded, response is `{ "loaded": false }`.
### `GET /api/config`
Returns the full canonical hardware inventory (`hardware.devices`) plus board info.
Returns source metadata plus:
- `hardware.board`
- `hardware.firmware`
- canonical `hardware.devices`
- computed `specification` summary lines
### `GET /api/events`
@@ -139,6 +168,7 @@ Clear current in-memory dataset.
### `POST /api/shutdown`
Gracefully shut down the server process.
This endpoint terminates the current process after responding.
---