Shadow Link: Role Sync Support - Self Hosted - #2592
Open
r-vasquez wants to merge 4 commits into
Open
Conversation
The core admin API now exposes RoleSyncOptions on shadow link configurations, but the create flow had no way to choose which RBAC roles a link shadows. Add a "Shadow roles" card above the consumer groups section, mirroring its all/specify filter pattern. An untouched form sends a single "*" include filter so all roles sync by default, matching the consumer groups behavior. Interval and paused are left unset so the backend applies its defaults. Filter tab labels were hardcoded to "topics"; they now follow the resource type, and the role name placeholder tracks the selected pattern tab.
Now the role filter section appears in the details view of the Shadow Link. Map roleNameFilters through the unified model from the dataplane API only; the controlplane proto does not expose role sync yet, so the section is hidden when the data is unavailable instead of showing a misleading "no filters" empty state. Name filter labels now take a resource noun, so role and consumer group rows no longer read "Include specific topics".
Let users change which RBAC roles a shadow link syncs from the shadowing tab, reusing the create-flow roles card and the consumer groups diffing pattern: a single configurations.role_sync_options mask path is emitted only when the mode or filters changed. A link without role sync options hydrates to specify mode with no filters, so saving an untouched form never enables role syncing. The controlplane proto does not carry role sync yet; its update builder skips the category and the card is hidden in embedded mode so edits cannot be dropped silently.
Show the shadow roles card and send role sync options only on clusters running 26.2.0 or newer, reusing the endpoint compatibility check added for schema registry sync. The request builders skip role_sync_options too, since an untouched create form defaults to an include-all filter.
Contributor
🚨 Registry drift detectedApp:
Components needing attention
Refresh command: bunx shadcn@latest add @redpanda/tabs --overwriteGenerated by lookout audit-changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds role sync support to the shadow link UI, and hides it on clusters that don't support it (< 26.2.0)
Changes
role_sync_optionsat all. This matters because an untouched create form would otherwise send an include-all role filter.Notes
*include filter.intervalandpausedare not exposed in the UI and are preserved on edit.Examples
Create & Edit

Details
