Aias00 opened a new pull request, #4352:
URL: https://github.com/apache/rocketmq-dashboard/pull/4352
## Summary
Implements #4348 by making the Ops page manage Studio's default Apache
RocketMQ connection when explicitly enabled. The feature remains disabled by
default and fails closed when runtime management is unavailable.
## What changed
- Added persisted Ops runtime settings for managed NameServer addresses,
selected default address, VIP mode, and TLS mode.
- Seeded runtime settings from external configuration with precedence:
`studio.ops.runtime.namesrv-addr` > `studio.cluster.admin.namesrv-addr` >
`studio.rocketmq.namesrv-addr`.
- Applied the effective runtime connection to default
admin/producer/consumer client paths before clients start.
- Kept instance-scoped endpoints/credentials separate from the Ops-managed
default connection.
- Added atomic repository update with row locking/retry on concurrent insert
to avoid cross-replica lost updates.
- Added secure TLS validation: TLS writes require non-test mode, server
auth, and a readable trust cert path; no TLS secrets are persisted.
- Added service-level admin enforcement for all Ops runtime writes so
anonymous/non-admin requests cannot write even if global login is disabled.
- Documented disabled-by-default deployment configuration.
Fixes #4348
## Verification
-
`JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home
mvn -B -ntp -f server/pom.xml validate compile`
- Checkstyle: 0 violations; main compile passed.
-
`JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home
mvn -B -ntp -f server/pom.xml
-Dtest=OpsServiceTest,OpsRuntimeConnectionTest,OpsRuntimePropertiesTest,MybatisPlusOpsConnectionRepositoryTest,MqAdminExtFactoryTest,MqClientPoolTest,OpsDefaultClientTest,RealClusterProviderTest,McpCredentialAuthenticationTest
test`
- 74 tests passed; Checkstyle: 0 violations.
-
`JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home
mvn -B -ntp -f server/pom.xml -Dspring.profiles.active=dev test`
- 2410 tests passed; 0 failures/errors.
-
`JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home
mvn -B -ntp -f server/pom.xml -Dtest=OpsDefaultClientTest test`
- 3 tests passed; covers one-snapshot default-client selection.
-
`JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home
mvn -B -ntp -f server/pom.xml -Dtest=RealClusterProviderTest test`
- 11 tests passed; covers consistent managed discovery endpoint labeling.
- `git diff --check origin/rocketmq-studio...HEAD`
- clean.
## Notes
Java LSP diagnostics are not available in this workspace; Maven compile/test
is the Java verification source. The local worktree has unrelated concurrent
uncommitted edits after the pushed branch; they are not included in this PR.
--
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]