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]
