tramai-spring-boot-starter-sovereign-ops-rest
Version: 0.6.0
Status: Preview
Role: Opt-in HTTP surface over the sovereign ops services. Disabled by default.
Purpose
This add-on puts a REST control plane in front of the services from tramai-spring-boot-starter-sovereign-ops: read an approval, approve, deny or resume it, and query the approval inbox. Controllers delegate to the ops services — the module contains no persistence logic of its own.
Both the control plane and the reviewer UI are off until you switch them on. Authentication and authorization are explicitly not part of this module: expose these endpoints only behind your own access control.
What it provides
| Component | Endpoint |
|---|---|
ApprovalControlPlaneController | GET {base-path}/{approvalId}, POST {base-path}/{approvalId}/approve, POST …/deny, POST …/resume |
ApprovalInboxController | GET {base-path}, GET {base-path}/{approvalId}/work-item |
ApprovalReviewerUiController | GET /tramai/sovereign/reviewer (HTML) |
ApprovalControlPlaneResponse, ApprovalStatusResponse, ApprovalInboxItemResponse, ApprovalInboxListResponse, ApprovalWorkItemResponse, ApproveDenyRequest, ResumeRequest | Request/response DTOs |
base-path defaults to /tramai/sovereign/approvals for the approval endpoints and /tramai/sovereign for the reviewer UI, and is configurable through tramai.sovereign.ops.rest.base-path.
Dependencies
dependencies {
implementation(platform("dev.tramai:tramai-bom:0.6.0"))
implementation("dev.tramai:tramai-spring-boot-starter")
implementation("dev.tramai:tramai-spring-boot-starter-sovereign-ops")
implementation("dev.tramai:tramai-spring-boot-starter-sovereign-ops-rest")
}
tramai:
profile: sovereign
sovereign:
ops:
enabled: true
rest-control-plane-enabled: true # registers the controllers
reviewer-ui-enabled: true # registers the HTML reviewer page
When to use this add-on
- A reviewer or operator needs to inspect the inbox and decide on approvals over HTTP or a browser page.
- You already have an authentication/authorization layer to put in front of it.
When NOT to use this add-on
- The application decides approvals programmatically through the ops services — skip the HTTP surface.
- You cannot terminate with your own authorization: this module ships no authentication.
- You only need worker visibility: use
-ops-actuatorinstead.
