diff --git a/docs/devops/single_azure_vm/docker/DEPLOYMENT_STATUS_2026-03-29.md b/docs/devops/single_azure_vm/docker/DEPLOYMENT_STATUS_2026-03-29.md index bcd2718a..e8f5f5b7 100644 --- a/docs/devops/single_azure_vm/docker/DEPLOYMENT_STATUS_2026-03-29.md +++ b/docs/devops/single_azure_vm/docker/DEPLOYMENT_STATUS_2026-03-29.md @@ -16,6 +16,7 @@ The VM moved forward after the original snapshot: - `prometheus`, `node-exporter`, `cadvisor`, and `valkey` are now running - `admin-web` and `tracker-web` are healthy again - `extraction-service` product rate limiting now uses Valkey-backed shared counters +- the admin ops page now includes VM inventory and Valkey inspection panels - live verification confirmed a request for `productId=valkey-check-2` created the key `extraction:product-rate-limit:29582406:valkey-check-2` in Valkey with value `1` ### What is working diff --git a/docs/devops/single_azure_vm/docker/README.md b/docs/devops/single_azure_vm/docker/README.md index 16d69550..60d56cdf 100644 --- a/docs/devops/single_azure_vm/docker/README.md +++ b/docs/devops/single_azure_vm/docker/README.md @@ -179,6 +179,7 @@ Notes: - neither `prometheus` nor `valkey` needs a raw public port exposure for normal operation - `extraction-service` now uses Valkey for shared per-product rate limiting when `PRODUCT_RATE_LIMIT_STORE=valkey` - `extraction-service` falls back to its in-memory limiter only if Valkey is unavailable at runtime +- the admin Mission Control page now includes a VM inventory tab and a read-only Valkey inspector tab ### Shared limiter env @@ -199,6 +200,16 @@ docker exec learning_ai_common_plat-valkey-1 \ valkey-cli KEYS 'extraction:product-rate-limit:*' ``` +### Admin ops surface + +The internal admin dashboard at `http://:3001/ops` now exposes: + +- Mission Control health for the internal stack +- a VM inventory view of Docker-managed services and host tooling +- a read-only Valkey inspector for key pattern scans, TTLs, and small previews + +These views are protected by the admin dashboard auth layer. + ## Environment Variables All optional — defaults work for most setups: