Lowercase RBAC resource name headings to match case-sensitive matching#4242
Lowercase RBAC resource name headings to match case-sensitive matching#4242nvanthao wants to merge 1 commit into
Conversation
The vendor RBAC policy engine matches resource strings byte-exact (case-sensitive), and all canonical resource literals in vandoor are lowercase. A prior heading-capitalization pass wrongly title-cased these case-sensitive names (KOTS, Integration, Registry, VM, Team, User, Installer, SupportBundle, download-URL), which would silently fail to match if copied into a policy. Restore the H3 resource-name headings to lowercase.
✅ Deploy Preview for replicated-docs-upgrade ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for replicated-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
vale
docs/vendor/team-management-rbac-resource-names.md|137 col 5| [Replicated.Headings] 'kots/app/[:appid]/license/[:customerid]/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|141 col 5| [Replicated.Headings] 'kots/app/[:appid]/license/[:customerid]/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|145 col 5| [Replicated.Headings] 'kots/app/[:appid]/license/[:customerid]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|153 col 5| [Replicated.Headings] 'kots/app/[:appid]/license/[:customerid]/slack-notifications/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|157 col 5| [Replicated.Headings] 'kots/app/[:appid]/license/[:customerid]/slack-notifications/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|161 col 5| [Replicated.Headings] 'kots/app/[:appid]/builtin-licensefields/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|165 col 5| [Replicated.Headings] 'kots/app/[:appid]/builtin-licensefields/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|173 col 5| [Replicated.Headings] 'kots/license/[:customerid]/archive' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|177 col 5| [Replicated.Headings] 'kots/license/[:customerid]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|185 col 5| [Replicated.Headings] 'kots/app/[:appid]/licensefields/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|189 col 5| [Replicated.Headings] 'kots/app/[:appid]/licensefields/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|193 col 5| [Replicated.Headings] 'kots/app/[:appid]/licensefields/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|197 col 5| [Replicated.Headings] 'kots/app/[:appid]/licensefields/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|201 col 5| [Replicated.Headings] 'kots/app/[:appid]/release/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|205 col 5| [Replicated.Headings] 'kots/app/[:appid]/release/[:sequence]/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|209 col 5| [Replicated.Headings] 'kots/app/[:appid]/release/[:sequence]/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|213 col 5| [Replicated.Headings] 'kots/app/[:appid]/release/[:sequence]/archive' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|217 col 5| [Replicated.Headings] 'kots/app/[:appid]/releases/test' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|221 col 5| [Replicated.Headings] 'kots/app/[:appid]/customhostname/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|225 col 5| [Replicated.Headings] 'kots/app/[:appid]/customhostname/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|229 col 5| [Replicated.Headings] 'kots/app/[:appid]/customhostname/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|233 col 5| [Replicated.Headings] 'kots/app/[:appid]/customhostname/default/set' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|237 col 5| [Replicated.Headings] 'kots/app/[:appid]/customhostname/default/unset' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|241 col 5| [Replicated.Headings] 'kots/app/[:appid]/defaulthostname/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|245 col 5| [Replicated.Headings] 'kots/app/[:appid]/supportbundle/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|249 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/access/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|253 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/access/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|257 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/branding/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|261 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/branding/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|265 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/customer-users/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|269 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/customer-user/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|273 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/customer-user/login' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|277 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/customer-user/[:customerid]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|281 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/customer-allowed-domains/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|285 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/customer-allowed-domains/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|289 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/customer-allowed-domains/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|293 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/documentation/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|297 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/documentation/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|301 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/email-domain/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|305 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/email-domain/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|309 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/email-domain/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|313 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/email-domain/verify' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|317 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/email-templates/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|321 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/email-templates/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|325 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/email-templates/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|329 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/failed-login-attempts/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|333 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/install-attempts/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|337 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/install-options/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|341 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/install-options/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|345 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/install-options/[:installoptionid]/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|349 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/install-options/[:installoptionid]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|353 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/instances/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|357 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/service-accounts/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|361 col 5| [Replicated.Headings] 'kots/app/[:appid]/enterprise-portal/service-accounts/[:serviceaccountid]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|367 col 5| [Replicated.Headings] 'registry/namespace/:namespace/pull' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|371 col 5| [Replicated.Headings] 'registry/namespace/:namespace/push' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|377 col 5| [Replicated.Headings] 'kots/cluster/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|381 col 5| [Replicated.Headings] 'kots/cluster/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|385 col 5| [Replicated.Headings] 'kots/cluster/[:clusterid]' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|389 col 5| [Replicated.Headings] 'kots/cluster/[:clusterid]/upgrade' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|393 col 5| [Replicated.Headings] 'kots/cluster/tag/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|409 col 5| [Replicated.Headings] 'kots/cluster/[:clusterid]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|429 col 5| [Replicated.Headings] 'kots/cluster/[:clusterid]/port/expose' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|433 col 5| [Replicated.Headings] 'kots/cluster/[:clusterid]/port/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|437 col 5| [Replicated.Headings] 'kots/cluster/[:clusterid]/port/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|441 col 5| [Replicated.Headings] 'kots/cluster/list-quotas' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|445 col 5| [Replicated.Headings] 'kots/cluster/credits/buy' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|449 col 5| [Replicated.Headings] 'kots/cluster/increase-quota' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|453 col 5| [Replicated.Headings] 'kots/network/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|457 col 5| [Replicated.Headings] 'kots/network/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|461 col 5| [Replicated.Headings] 'kots/network/[:networkid]' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|465 col 5| [Replicated.Headings] 'kots/network/[:networkid]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|469 col 5| [Replicated.Headings] 'kots/network/[:networkid]/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|511 col 5| [Replicated.Headings] 'team/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|515 col 5| [Replicated.Headings] 'team/auditlog/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|519 col 5| [Replicated.Headings] 'team/authentication/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|523 col 5| [Replicated.Headings] 'team/authentication/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|527 col 5| [Replicated.Headings] 'team/integration/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|531 col 5| [Replicated.Headings] 'team/integration/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|535 col 5| [Replicated.Headings] 'team/integration/[:integrationid]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|539 col 5| [Replicated.Headings] 'team/integration/[:integrationid]/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|543 col 5| [Replicated.Headings] 'team/members/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|547 col 5| [Replicated.Headings] 'team/member/invite' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|551 col 5| [Replicated.Headings] 'team/members/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|555 col 5| [Replicated.Headings] 'team/members/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|563 col 5| [Replicated.Headings] 'team/policy/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|567 col 5| [Replicated.Headings] 'team/policy/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|571 col 5| [Replicated.Headings] 'team/policy/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|575 col 5| [Replicated.Headings] 'team/policy/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|579 col 5| [Replicated.Headings] 'team/security/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|583 col 5| [Replicated.Headings] 'team/serviceaccount/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|587 col 5| [Replicated.Headings] 'team/serviceaccount/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|591 col 5| [Replicated.Headings] 'team/serviceaccount/[:name]/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|595 col 5| [Replicated.Headings] 'team/support-issues/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|619 col 5| [Replicated.Headings] 'team/support-issues/write' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|627 col 5| [Replicated.Headings] 'team/support-issues/triage' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|635 col 5| [Replicated.Headings] 'team/support-issues/admin' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|643 col 5| [Replicated.Headings] 'team/activity-stream/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|649 col 5| [Replicated.Headings] 'team/notifications/subscriptions/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|653 col 5| [Replicated.Headings] 'team/notifications/subscriptions/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|657 col 5| [Replicated.Headings] 'team/notifications/subscriptions/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|661 col 5| [Replicated.Headings] 'team/notifications/user/[:userid]/subscriptions/update' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|665 col 5| [Replicated.Headings] 'team/notifications/subscriptions/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|669 col 5| [Replicated.Headings] 'team/notifications/user/[:userid]/subscriptions/delete' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|673 col 5| [Replicated.Headings] 'team/notifications/types/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|677 col 5| [Replicated.Headings] 'team/notifications/events/read' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|683 col 5| [Replicated.Headings] 'user/token/list' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|687 col 5| [Replicated.Headings] 'user/token/create' should use sentence case.
docs/vendor/team-management-rbac-resource-names.md|691 col 5| [Replicated.Headings] 'user/token/delete' should use sentence case.
| ## Integration catalog | ||
|
|
||
| ### Integration/catalog/list | ||
| ### integration/catalog/list |
There was a problem hiding this comment.
[Replicated.Headings] 'integration/catalog/list' should use sentence case.
| ## KOTS | ||
|
|
||
| ### KOTS/app/create | ||
| ### kots/app/create |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/create' should use sentence case.
| When allowed, the holder can create new applications. | ||
|
|
||
| ### KOTS/app/[:appid]/read | ||
| ### kots/app/[:appid]/read |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/[:appid]/read' should use sentence case.
| Grants the holder permission to view the application. If the holder does not have permissions to view an application, it will not appear in lists. | ||
|
|
||
| ### KOTS/app/[:appid]/delete | ||
| ### kots/app/[:appid]/delete |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/[:appid]/delete' should use sentence case.
| Grants the holder permission to delete an application. | ||
|
|
||
| ### KOTS/app/[:appid]/update | ||
| ### kots/app/[:appid]/update |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/[:appid]/update' should use sentence case.
| Grants the holder permission to un-demote a previously demoted release on the specified channel of the specified applications. | ||
|
|
||
| ### KOTS/app/[:appid]/Installer/create | ||
| ### kots/app/[:appid]/installer/create |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/[:appid]/installer/create' should use sentence case.
| Grants the holder permission to create kURL installers. For more information, see [Creating a kURL installer](packaging-embedded-kubernetes). | ||
|
|
||
| ### KOTS/app/[:appid]/Installer/update | ||
| ### kots/app/[:appid]/installer/update |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/[:appid]/installer/update' should use sentence case.
| Grants the holder permission to update kURL installers. For more information, see [Creating a kURL installer](packaging-embedded-kubernetes). | ||
|
|
||
| ### KOTS/app/[:appid]/Installer/read | ||
| ### kots/app/[:appid]/installer/read |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/[:appid]/installer/read' should use sentence case.
| Grants the holder permission to view kURL installers. For more information, see [Creating a kURL installer](packaging-embedded-kubernetes). | ||
|
|
||
| ### KOTS/app/[:appid]/Installer/promote | ||
| ### kots/app/[:appid]/installer/promote |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/[:appid]/installer/promote' should use sentence case.
| ::: | ||
|
|
||
| ### KOTS/app/[:appid]/license/create | ||
| ### kots/app/[:appid]/license/create |
There was a problem hiding this comment.
[Replicated.Headings] 'kots/app/[:appid]/license/create' should use sentence case.
What
Lowercases all H3 resource-name headings in
docs/vendor/team-management-rbac-resource-names.md.Why
The RBAC policy engine matches resource strings case-sensitively.
A prior heading-capitalization pass (commit
e4aa305e0) inadvertently title-cased these case-sensitive names (KOTS,Integration,Registry,VM,Team,User,Installer,SupportBundle,download-URL). Copying a title-cased name into a policy would silently fail to match and deny access.Scope
## KOTS,## Team,## Registry,## User) are left as-is — they are display titles, not resource strings.