feat(rmm): finish PMS-100 story (connections, mappings, rules, ingest) #34

Closed
David wants to merge 0 commits from feat/rmm-story-pms-100 into main
Owner

Closes #PMS-100

Closes #PMS-100
feat(rmm): scaffold + connections, device mappings, alert rules, ingest
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
ff4b78e616
Batches PMS-101..105:
- PMS-101 scaffold + router wire (replaces `/rmm/*` stubs)
- PMS-102 RMM connections CRUD; `api_key` / `api_secret` AES-256-GCM at rest. `POST /rmm/connections/:id/test` decrypts the credentials and HEADs the api_url to confirm reachability; updates `sync_status`.
- PMS-103 device mappings with optional `rmm_connection_id` filter
- PMS-104 alert rules CRUD + `POST /api/v1/rmm/alerts` ingest. Ingest authenticates via HMAC-SHA256 (`X-Signature` header, base64-encoded, constant-time compare) using the connection's stored secret; matched rules with `auto_create_ticket = true` open tickets attributed to the rule's assignee/queue and the tenant's contact mapping
- PMS-105 second provider variant: extends the `provider` field set; same data model, no separate trait required at the schema level.

Adds `hmac`, `sha2`, `constant_time_eq` to host deps for the signature verify.

#PMS-101 State Done
#PMS-102 State Done
#PMS-103 State Done
#PMS-104 State Done
#PMS-105 State Done
vas2000-work closed this pull request 2026-05-21 02:42:58 +02:00
Some checks are pending
Create release / Create release from merged PR (pull_request) Has been skipped
Check / * (pull_request)
Required
E2E / * (pull_request)
Required

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-server!34
No description provided.