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

   ## Summary
   
   - add a Go module under `tools/rmq` with a deterministic generator that 
embeds the canonical server tool catalog, records its SHA-256, generates CLI 
reference Markdown, and fails CI on drift
   - add safe multi-context `~/.rmqctl/config.yaml` management that stores 
credential environment-variable references rather than token values and 
validates URLs, custom-CA paths, permissions, symlinks, and atomic publication
   - add local-only `rmqctl` commands for config, explain, version, and shell 
completion, plus stable table/JSON/YAML output primitives
   - add an independent Go CI job and cross-platform build support for Darwin, 
Linux, and Windows on amd64 and arm64
   
   Closes #547.
   
   ## Why
   
   The catalog-driven Tool Gateway landed in #514. RIP-3 now needs a small 
cross-platform CLI foundation that consumes that same contract without 
duplicating RocketMQ business logic or credentials. This PR intentionally stops 
before remote execution so configuration, generation, output, command 
construction, and CI can be reviewed independently.
   
   Competition context: 
https://www.taiyi.top/competition-details?id=2f410866-6fa3-11f1-b193-02420a000011
   
   ## Compatibility and safety
   
   - The server YAML remains the only hand-maintained tool source; generated Go 
and Markdown include its exact digest.
   - The command tree contains only local commands in this slice. Remote reads, 
mutations, MCP transports, and LLM UI changes remain separate follow-up PRs.
   - Configuration persists `tokenEnv`, never the bearer-token value, and 
redacts credential material from output.
   - Plain HTTP is limited to loopback development endpoints; TLS verification 
is never disabled.
   - Config writes use restrictive file modes, no-follow path validation, 
atomic replacement, directory sync, and concurrency checks.
   - Existing backend, frontend, and frontend Docker CI jobs are preserved; the 
Go checks run as an independent job.
   
   ## Validation
   
   - `go test -count=1 -race ./...` — passed
   - `go vet ./...` — passed
   - `go run ./cmd/cataloggen -check` — passed without writes
   - six `CGO_ENABLED=0` builds — Darwin/Linux/Windows × amd64/arm64 passed
   - local CLI smoke tests — version, explain JSON, zsh completion, temporary 
config init/set/use/get passed without writing the user's home config
   - `mvn -B -ntp clean verify` — 260 tests passed, Checkstyle 0, executable 
JAR produced
   - `npm run lint` — 0 errors; 4 existing React Fast Refresh warnings
   - `npm run build` — passed; existing bundle-size warning only
   - `npm test -- src/api/ai.test.ts --run` — 9 tests passed
   - independent final review — no Critical, Important, or Minor findings
   


-- 
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