apache / apache/rocketmq-dashboard
[Studio][Feature] Compare ACL policies across instances
- Dominant language
- Java
- Stars
- 1.4k
- Forks
- 683
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 62
Description
## Problem
Operators maintain equivalent ACL users and rules across production, staging, and disaster-recovery RocketMQ instances. Studio currently exposes one instance at a time, so policy reviews require manual exports and carry a risk of overlooking a missing or divergent grant.
## Proposed behavior
Add a read-only ACL comparison workflow that:
- loads complete paginated user and rule inventories from two instances;
- classifies policies as matching, drifted, source-only, or target-only;
- compares user administration, cluster association, read, and write permissions;
- compares rule actions, decision, and ACL version under a stable principal/resource identity;
- preserves duplicate logical rules instead of collapsing them;
- supports kind/status/search filters and filtered CSV export.
## Sensitive-data boundary
The comparison must never call credential reveal endpoints. Secret keys, masked secrets, access-key display variants, database ids, and creation timestamps are excluded from comparisons and exports.
## Acceptance criteria
1. Inventory walks are bounded and include every page.
2. Source and target can be swapped without stale results.
3. User and rule drift has field-level evidence.
4. CSV export follows active filters and contains no secret material.
5. Chinese and English UI text and focused regression tests are included.
## Scope
This feature is observational and does not create, update, delete, or synchronize ACL policies.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the Studio ACL user and rule inventory entry points, the instance-switching state, and the CSV export flow. Trace how pagination, filters, and source/target changes are handled before checking existing focused tests. Done means read-only field-level drift comparison, filtered secret-free export, Chinese and English text, and regression coverage for the acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, frontend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100