Aias00 opened a new pull request, #4390: URL: https://github.com/apache/rocketmq-dashboard/pull/4390
## Summary - add a guarded, disabled-by-default deployment adapter for Broker, NameServer and Proxy lifecycle operations; - wire the existing Broker and Proxy restart controls to typed dispatch results; - add independently allowlisted NameServer create/update/restart/upgrade/delete operations without conflating process lifecycle with registry CRUD; - validate discovered targets and version/address argument tokens before process launch; - bound adapter output and runtime, terminate descendant processes on timeout, and audit every dispatch; - document that exit code 0 means accepted, not healthy or converged. Fixes #4311 Fixes #4355 ## Review follow-up - The Broker restart button now calls the lifecycle service instead of rendering `restartNotSupported`. - Studio uses a registered global `AuthInterceptor`, not Spring Security annotations. With login protection enabled, all lifecycle POST routes reject readers; focused tests cover Broker, NameServer and Proxy endpoints. `login-required=false` remains an explicit local mode without an admin boundary. - `targetVersion` is normalized and validated at both the service and executor boundaries; option-like, whitespace/control-containing and oversized values never reach `ProcessBuilder`. - The NameServer tab remains registry CRUD. It is intentionally not wired to process create/update/delete because a registry row is an address directory entry, not deployment inventory. The lifecycle API/service contract stays separate for deployment integrations and a future discovered-node workflow. ## Adapter contract The deployment-owned executable maps validated cluster/address/version values to controlled inventory and owns idempotency, placement, health convergence and rollback. Studio does not embed Docker, Kubernetes or SSH orchestration. A retry may dispatch twice unless the adapter deduplicates by `requestId`. ## Verification - Java 21 with isolated H2 MySQL-compatible datasource: 2445 backend tests passed, Checkstyle 0 violations. - Focused lifecycle/auth backend tests: 111 passed. - Frontend: 1042 tests passed across 122 files; ClusterPage focused suite 27 passed. - Frontend production build passed. - Frontend lint passed with 0 errors; 10 existing warnings remain in unrelated files. - `git diff --check` passed. - Independent code review found no remaining issues. GitHub Actions may still report repository-level startup failures before jobs are created; the commands above are local verification evidence. --- Replaces #4356 because its base branch (`rocketmq-studio`) was deleted. This PR uses the same head commit and targets `master`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
