The GitHub Actions job "CI" on rocketmq-dashboard.git/pr/acl-push-to-broker has 
failed.
Run started by GitHub user lizhimins (triggered by lizhimins).

Head commit for run:
4fb2f1447f9c5c3f2d7799f064e6836fc272de4d / lizhimins <[email protected]>
feat(acl): push stored accounts and policies to Apache brokers, and restructure 
the ACL page

The dashboard's ACL store and the brokers drifted with no way to reconcile them:
creating or editing a plain access account only wrote the dashboard's own 
tables,
and the broker side had a read path but no write path. POST 
/api/acl/push-to-broker
now upserts every stored account of an instance on each master broker through 
the
ACL 2.0 admin API (createUser/updateUser for credentials, updateAcl for policies
under the User:<username> subject) in a single admin session. The push is
additive — broker accounts the dashboard does not know about stay untouched — 
and
every account/broker pair reports its own outcome, so one unreachable or
ACL-disabled broker cannot hide the successes; rules the broker model cannot
express (prefixed resources, actions outside PUB/SUB/GET) come back as 
per-account
skipped reasons. Resources are sent in the typed Topic:/Group: form a real 
broker
requires, and when the broker's auth module is off the push answers with a 409
naming the two switches to enable instead of four opaque CODE: 16 failures.
Verified against an ACL-enabled test broker: pushed 4 / failed 0, read back
identical.

The page follows: the user tab leads and is the default, the instance select 
moves
above the tabs (it used to live in the rule tab's filter bar, so the user tab 
had
no way to change instance), and the push button sits in the page header beside 
the
tab-aware add button, disabled with a reason when there is no instance or the
vendor has no push channel. The banner that claimed stored rules never reach the
selected instance — true before the push existed, misleading after — now has 
three
honest modes: Tencent roles, Apache push, and store-only for cloud vendors
without a push channel.

The deploy skill records that the test cluster may be operated on directly, plus
the traps found there: the broker store is an emptyDir, so a restart wipes every
message and topic config; ACL 2.0 needs the four provider class names and a JSON
initAuthenticationUser or even mqadmin cannot create the first account.

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/38670709950

With regards,
GitHub Actions via GitBox

Reply via email to