Aias00 opened a new pull request, #4387:
URL: https://github.com/apache/rocketmq-dashboard/pull/4387

   ## Summary
   - Make Ops manage Studio default Apache RocketMQ NameServer selection, VIP 
channel, and TLS only when explicitly enabled; leave instance-scoped endpoints 
and credentials untouched.
   - Persist the separate `ops-connection` settings row and read the current 
configuration for each default-client operation. Validate addresses, protect 
the active/last address, and enforce admin rights at service level even when 
login enforcement is disabled.
   - Apply VIP/TLS before admin, producer, or pull-consumer startup. TLS 
enabling requires secure (non-test) server verification and a readable 
deployment-owned trust certificate; no secrets are persisted.
   - Use one immutable selection for endpoint metadata and the actual client 
call; retire obsolete managed clients without shutting down in-flight 
admin/send operations, and key Proxy discovery cache by the selected default 
NameServer.
   - Keep the feature disabled by default and document Compose/JVM setup.
   
   Fixes #4348
   
   ## Verification
   - Java 21, isolated H2 MySQL-compatible datasource: `cd server && env 
JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home
 
PATH=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home/bin:/opt/homebrew/bin:/usr/bin:/bin
 
SPRING_DATASOURCE_URL="jdbc:h2:mem:ops_runtime_lease_full_suite;MODE=MySQL;DATABASE_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1"
 SPRING_DATASOURCE_USERNAME=sa SPRING_DATASOURCE_PASSWORD= 
SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.h2.Driver mvn -B -ntp -q test` -> exit 
0; 2421 tests, 0 failures/errors, Checkstyle 0 violations.
   - Focused provider suite -> 180 tests passed; cache/proxy/lease regression 
suite -> 40 tests passed; default-cluster MCP credentials -> 23 tests passed.
   - `cd web && npm test -- --run src/pages/studio/__tests__/Ops.test.tsx` -> 6 
passed; `npm run build` -> passed; `npm run lint` -> 0 errors, 10 existing 
warnings in unchanged files.
   - `docker compose --env-file deploy/.env.example -f 
deploy/docker-compose.yml config --format json` -> Ops environment values 
resolve; custom default/override NameServer variants verified.
   - `git diff --check` -> clean.
   
   The lease tests first failed because a runtime update shut down 
admin/producer clients while actions were still in progress, then passed after 
deferred retirement. The Proxy cache test first returned the previous cluster 
addresses after switching NameServer, then passed with endpoint-scoped keys.
   
   ## CI note
   GitHub Actions is currently `startup_failure` before creating jobs for this 
PR and other `rocketmq-studio` PRs. Local clean-suite results above are the 
available validation evidence.
   
   ## Scope note
   PR #4154 adds complementary Ops frontend preflight, not the backend runtime 
application implemented here. No frontend source files are changed in this PR.
   
   ---
   
   Replaces #4352 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]

Reply via email to