You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "tju-yxq (via GitHub)" <gi...@apache.org> on 2026/10/03 04:55:02 UTC
[PR] feat(ops): export every operational inventory from its page [rocketmq-dashboard]
tju-yxq opened a new pull request, #5481:
URL: https://github.com/apache/rocketmq-dashboard/pull/5481
### Which Issue(s) This PR Fixes
- Fixes #3557
- Fixes #3558
- Fixes #3559
- Fixes #3561
- Fixes #3565
- Fixes #5200
### Brief Description
Consolidates six previously separate one-export-per-page PRs into one cohesive change, following the grouping guideline in #2107 ("one PR per page for the same feature" is exactly the fragmentation it asks contributors to avoid). Every inventory an operator is asked to hand over — instances, ACL users, K8s certificates, maintenance windows, notification deliveries, message traces — can now be exported from the page it lives on:
1. **Instance inventory** (#3557): server-side CSV export of the filtered list — bounded at 10,000 rows, honoring the active vendor/type/search filters, secrets (endpoints with credentials) masked.
2. **ACL users** (#3558): masked CSV of the ACL user inventory (no access keys or secrets), bounded at 10,000 rows.
3. **K8s certificates** (#3559): CSV of the certificate inventory with validity windows, days remaining and status.
4. **Notification deliveries** (#3561): CSV of the paged delivery feed honoring the active channel/status filters, bounded at 10,000 rows.
5. **Maintenance windows** (#3565): CSV of the configured silence/maintenance windows.
6. **Message trace** (#5200): JSON export of the loaded trace (context, nodes, per-group consumer status) from the message detail's trace tab — the format audit tooling can diff.
All exports use the shared `CsvUtil` (quoted cells, formula-prefix escaping) or a typed JSON payload, respect the filters the user sees, and are bounded so an export can never turn into an unbounded table scan.
### How Did You Test This Change?
All affected suites together on the consolidated branch (the member PRs each passed their own suites; this verifies the combination):
```
cd server && mvn '-Dtest=NotificationOutboxServiceTest,SystemAlertControllerTest,AlertSilenceControllerTest,AlertSilenceServiceTest,AclControllerTest,AclServiceTest,InstanceServiceTest,InstanceControllerTest' test
[INFO] Tests run: 283, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS
```
```
cd web && npm test -- K8sCertsPage.test.tsx NotificationDeliveriesPage.test.tsx SystemAlertsPage.test.tsx AclPage.test.tsx InstancePage.test.tsx MessagePage.test.tsx --run
Test Files 6 passed (6)
Tests 119 passed (119)
```
Each export has its regression test: bounded row caps, filter round-trips, secret masking, and the exported payload shape.
```
cd web && npm run lint
✖ 10 problems (0 errors, 10 warnings) # the trunk baseline
```
```
cd web && npx tsc -b --force
(no output — exit 0)
```
### Checklist
- [x] One coherent change; unrelated modifications are not bundled in (one purpose — operational exports — across the six inventories, per the grouping guideline #2107)
- [x] Commit subject follows Conventional Commits
- [x] Tests added or updated for non-trivial changes, test methods named `...Test`
- [x] New UI text has both Chinese and English entries under `web/src/i18n/`
- [x] Architecture constraints stay green (`mvn test` runs the ArchUnit checks)
- [x] New source files carry the ASF license header
- [ ] Documentation touched where behaviour changed (README / `docs/` / in-app help)
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat(ops): export every operational inventory from its page [rocketmq-dashboard]
Posted by "tju-yxq (via GitHub)" <gi...@apache.org>.
tju-yxq commented on PR #5481:
URL: https://github.com/apache/rocketmq-dashboard/pull/5481#issuecomment-6096586359
Keep-alive: this PR is still maintained. A rebase against the current `rocketmq-studio` head is in progress and will be pushed shortly.
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat(ops): export every operational inventory from its page [rocketmq-dashboard]
Posted by "tju-yxq (via GitHub)" <gi...@apache.org>.
tju-yxq commented on PR #5481:
URL: https://github.com/apache/rocketmq-dashboard/pull/5481#issuecomment-6206351591
Keep-alive: this PR is still maintained. A rebase against the current `rocketmq-studio` head is in progress and will be pushed shortly.
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat(ops): export every operational inventory from its page [rocketmq-dashboard]
Posted by "tju-yxq (via GitHub)" <gi...@apache.org>.
tju-yxq commented on PR #5481:
URL: https://github.com/apache/rocketmq-dashboard/pull/5481#issuecomment-6258058539
Keep-alive: this PR is still maintained and ready for review.
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org