lizhimins opened a new pull request, #1147: URL: https://github.com/apache/rocketmq-dashboard/pull/1147
## Summary Multi-vendor instance support, backend foundation (2/4): - **Cloud credentials**: new `rmq_cloud_credential` table (unique key vendor+access_key, secret key base64-encoded like the existing ACL users), CRUD at `/api/cloud-credentials` with masked listing and an admin-only reveal endpoint (guarded by `AuthInterceptor` like ACL credentials) - **Vendor-aware instances**: `rmq_instance` gains `vendor`/`cloud_instance_id`/`credential_id`/`region_id`; creation branches by vendor — APACHE keeps the existing endpoint flow, commercial vendors resolve the access endpoint from the cloud catalog (VPC preferred) and reject manual endpoints; TENCENT returns 501 - **Provider SPI**: `InstanceProvider` + `CloudCatalogProvider` + `InstanceProviderRegistry`; `provider.apache` delegates to the existing `MetadataProvider`/`AdminClient`/`MessageProvider` beans (zero behavior change for open-source instances), `provider.tencent` is an explicit not-implemented placeholder - **instanceId propagation**: topic/group/message/DLQ controllers and DTOs accept an optional `instanceId` and route by the instance vendor; blank `instanceId` keeps the legacy global behavior, cloud instances reject unsupported operations (send message / DLQ) with 501 - Schema changes in `db/schema.sql` plus an idempotent `deploy/mysql/upgrade-cloud-vendor.sql` for existing volumes ## Verification - 755 unit tests pass, including new coverage for credential masking/reveal, registry routing and vendor branches - Existing Apache-instance tests unchanged and green (zero regression by delegation) -- 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]
