You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Goal: capture every HMM web API endpoint the Java/Palemoon GUI uses, so we can build a typed Python SDK without guessing.
This is the single blocking dependency for Sprints 2–5 of Phase 5. Until it is done, the SDK and IaC providers cannot be written without reverse-engineering one operation at a time.
Why now
The HMM exposes some operations through Redfish (mostly read-only inventory). The actual menus operators use — Stateless Computing, easyLink, Bulk Upgrade, Alarms, Switch profiles, NIC profiles — are served by a chassis-private JSON-over-HTTPS API that the Palemoon UI consumes. We need to document this API completely.
Method
Workstation setup (operator side):
Install mitmproxy (uvx mitmproxy) or use Chrome DevTools Network tab in Palemoon.
Trust mitmproxy CA in Palemoon if using TLS interception.
Set Palemoon proxy to http://127.0.0.1:8080.
Operator workflow:
Log into HMM web UI.
For each operation in the checklist below: do it once with mitmproxy/DevTools recording.
Save the resulting flow file (mitmproxy save_flows) or HAR export.
Documentation:
One markdown doc per HMM menu under docs/hmm-api/ (e.g. chassis-settings.md, stateless.md, easylink.md, upgrade.md).
Each endpoint entry must include:
Method + path + query params
Request headers (auth token format, CSRF)
Request body schema (with example values, redacted)
Response schema (with example values, redacted)
Side effects (does it write? trigger reboot? long-running?)
Idempotency notes
Output draft OpenAPI spec at docs/hmm-api/openapi.yaml.
Capture checklist (priority order)
Priority 1 — Networking (drives Sprints 3-4)
List all switches (with model, serial, FW version)
Alarm Monitoring → list active alarms (with filtering)
Alarm Monitoring → Alarm Settings (subscriptions)
System Mgmt → Log Information → System Logs (paged)
System Mgmt → Log Information → Operation Logs
Priority 5 — Auth & users
Login flow (CSRF + session cookie or token format)
System Mgmt → Account → MM Users (CRUD)
System Mgmt → Account → LDAP config
System Mgmt → Account → Two-Factor Authentication
Logout
Session refresh / heartbeat
Priority 6 — Diagnostics for HMM behaviour
Chassis Settings → Black Box (event log dump)
Information Collection (full diagnostic bundle)
Configuration Restore endpoint
Acceptance criteria
Every checklist item above either has a documented endpoint in docs/hmm-api/<menu>.md, or is annotated "not exposed via HMM web API — use Redfish/SSH" with the alternative.
docs/hmm-api/openapi.yaml validates with openapi-spec-validator.
The captured .mitmproxy or .har flow files are committed (with redacted tokens) under re/captures/hmm-web-api/.
Estimate
1 week of operator-driven capture + 2-3 days of doc cleanup.
Goal: capture every HMM web API endpoint the Java/Palemoon GUI uses, so we can build a typed Python SDK without guessing.
This is the single blocking dependency for Sprints 2–5 of Phase 5. Until it is done, the SDK and IaC providers cannot be written without reverse-engineering one operation at a time.
Why now
The HMM exposes some operations through Redfish (mostly read-only inventory). The actual menus operators use — Stateless Computing, easyLink, Bulk Upgrade, Alarms, Switch profiles, NIC profiles — are served by a chassis-private JSON-over-HTTPS API that the Palemoon UI consumes. We need to document this API completely.
Method
Workstation setup (operator side):
mitmproxy(uvx mitmproxy) or use Chrome DevTools Network tab in Palemoon.http://127.0.0.1:8080.Operator workflow:
mitmproxy save_flows) or HAR export.Documentation:
docs/hmm-api/(e.g.chassis-settings.md,stateless.md,easylink.md,upgrade.md).docs/hmm-api/openapi.yaml.Capture checklist (priority order)
Priority 1 — Networking (drives Sprints 3-4)
Priority 2 — Bulk Firmware (drives Sprint 3)
Priority 3 — Compute / Stateless (drives Sprint 5)
Priority 4 — Inventory & monitoring (drives Sprint 2 SDK + audit)
Priority 5 — Auth & users
Priority 6 — Diagnostics for HMM behaviour
Acceptance criteria
docs/hmm-api/<menu>.md, or is annotated "not exposed via HMM web API — use Redfish/SSH" with the alternative.docs/hmm-api/openapi.yamlvalidates withopenapi-spec-validator..mitmproxyor.harflow files are committed (with redacted tokens) underre/captures/hmm-web-api/.Estimate
1 week of operator-driven capture + 2-3 days of doc cleanup.
Blocks
hmm-snapshot— needs alarm + log + account endpoints)hmm-restore— needs Configuration Restore endpoint)