Initial commit: VMware vSphere API simulator scaffold.
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API contracts, docs, client examples, and the unit/integration/compatibility test suite for local client and tooling labs without a real vCenter.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
**Language / Язык:** [English](observability.md) | [Русский](ru/observability.md)
|
||||
|
||||
# Observability
|
||||
|
||||
## Health
|
||||
|
||||
| Path | Meaning |
|
||||
|---|---|
|
||||
| `GET /health/live` | Process liveness — no dependency checks |
|
||||
| `GET /health/ready` | Database reachable via `database.is_ready()`; HTTP 503 when not |
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
curl -sk https://localhost/health/live
|
||||
curl -sk https://localhost/health/ready
|
||||
```
|
||||
|
||||
Implementation: [`app/observability/health.py`](../app/observability/health.py).
|
||||
|
||||
## Request correlation
|
||||
|
||||
Incoming requests accept or generate an ID via `REQUEST_ID_HEADER`
|
||||
(default `X-Request-ID`). Structured logs include correlation fields and
|
||||
redact known secret patterns (session ids, passwords, ticket-like tokens).
|
||||
|
||||
## Metrics / tracing
|
||||
|
||||
There is **no** Prometheus `/metrics` scrape endpoint and **no** bundled
|
||||
OpenTelemetry exporter in the current application. Architecture notes that
|
||||
mention them describe target design, not shipping telemetry.
|
||||
|
||||
Do not confuse vSphere REST paths under `/api/vcenter/activity-history` or
|
||||
the seeded appliance health/timesync endpoints with simulator process
|
||||
telemetry — those handlers simulate vCenter appliance state inside
|
||||
PostgreSQL, not this process's own metrics.
|
||||
|
||||
## Compatibility evidence
|
||||
|
||||
Operational compatibility reports:
|
||||
|
||||
- `/ui/api/compatibility?major=N`
|
||||
|
||||
Also available through the Web UI compatibility panel. See
|
||||
[Compatibility](compatibility.md).
|
||||
Reference in New Issue
Block a user