Repository navigation
[Blog] Add post on permission key migration and PermissionShield integration - #2850
rishiraj38 wants to merge 4 commits into
Conversation
…ven permission keys Signed-off-by: Rishi Raj <[email protected]>
✅ Deploy Preview for mesheryio-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Warning Review limit reached
Next review available in: 32 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe pull request adds a technical article about Meshery’s migration from handwritten permission UUIDs to generated schema keys. It documents provider integration, declarative UI permission handling, contextual feedback, migration workflows, tests, metrics, and conclusions. ChangesAuthorization migration documentation
Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Preview deployment for PR #2850 removed. This PR preview was automatically pruned because we keep only the 6 most recently updated previews on GitHub Pages to stay within deployment size limits. If needed, push a new commit to this PR to generate a fresh preview. |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@collections/_posts/2026/08/02/2026-08-02-refactoring-authorization-at-scale-permission-key-migration.md`:
- Line 332: Update the author metadata sentence beginning “Rishi Raj is” to
hyphenate the compound modifier as “open-source contributor.”
- Around line 143-153: Update the before-and-after example so both snippets use
the same corresponding workspace edit permission: align the CAN check in the
“Before” snippet with Keys.WorkspaceManagementEditEnvironment used by the
“After” snippet, preserving the migration comparison.
- Around line 287-296: Declare and assign the popup button element to btn using
the existing screen.getByTestId lookup before asserting or calling
user.click(btn) in the “respects the permissionKey prop” test.
- Around line 250-267: Update the pipeline diagram’s opening code fence in the
authorization documentation to specify the text language, changing the bare
fence to a text-labeled fence while leaving the diagram content unchanged.
- Around line 122-126: Update the userName construction in permissionUserContext
to filter out missing firstName and lastName values before joining them, then
fall back to loggedInUser?.email when no profile name is present; keep the
existing orgName, roleNames, and memo dependencies unchanged.
- Around line 113-115: Revise the compile-time validation claim to state that
TypeScript verifies only the existence and shape of each Keys.* reference, not
the correctness of manually mapped permission IDs, actions, or scopes. Do not
claim full mapping validation unless an executable check against generated
permission metadata is added.
- Around line 246-271: Update the “Pipeline, End-to-End” section to reflect that
the workflow commits only server/permissions/keys.csv, while schema publication
and the versioned `@meshery/schemas` dependency update occur separately before the
UI rebuild consumes new permission keys. Either document those release and
rebuild steps explicitly or revise the claims about immediate imports and
TypeScript compile errors to match the actual propagation process.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: e98646aa-ac2f-47e7-96a2-8ca92ba6f68a
📒 Files selected for processing (1)
collections/_posts/2026/08/02/2026-08-02-refactoring-authorization-at-scale-permission-key-migration.md
Signed-off-by: Rishi Raj <[email protected]>
… post Signed-off-by: Rishi Raj <[email protected]>
…warnings Signed-off-by: Rishi Raj <[email protected]>
df1252a to
24ba8de
Compare
|
Here's a good starting point, @Maanvi212006. Thanks for showing interest! Please read this blog once, and if you have any questions, feel free to ask me. I think you already have a bit of context on permission keys since we have spoken about this topic before. |
|
This is a good item to add to the weekly Websites meeting agenda (https://meet.meshery.io/websites-minutes). You can add this item in the doc, attend, and present it. Meeting details can be found at https://meshery.io/calendar. |
Description
Adds a new blog post titled "From 110 Hardcoded UUIDs to Zero: How Meshery's Permission System Became Self-Updating" to
collections/_posts/2026/08/02/.This post details the end-to-end refactoring of Meshery's UI authorization system across three key areas:
@meshery/schemas.PermissionProviderandPermissionShield, providing users with clear tooltips showing missing permissions, role context, and organizational guidance.Google Spreadsheet → GitHub Actions workflow → keys.csv → @meshery/schemaspipeline for zero-manual-maintenance permission updates.Changes Included
collections/_posts/2026/08/02/2026-08-02-refactoring-authorization-at-scale-permission-key-migration.mdsecurity,architecture,extensibilityVerification
meshery.ioJekyll post structureSigned commits
Summary by CodeRabbit