Skip to content

chore: add taxonomy annotations and role-category labels to IAM roles for UI grouping#521

Open
kevwilliams wants to merge 9 commits intomainfrom
feat/role-display-names-complete
Open

chore: add taxonomy annotations and role-category labels to IAM roles for UI grouping#521
kevwilliams wants to merge 9 commits intomainfrom
feat/role-display-names-complete

Conversation

@kevwilliams
Copy link
Copy Markdown
Contributor

@kevwilliams kevwilliams commented Mar 12, 2026

Summary

  • Adds taxonomy.miloapis.com/role-category label to all IAM role files to support filterByLabel in the cloud portal UI
  • Adds taxonomy.miloapis.com/product and taxonomy.miloapis.com/sort-order annotations to all previously unclassified roles
  • Adds taxonomy labels to new iam-organization-admin/editor/viewer roles
  • Adds docs/architecture/identity-and-access-management/role-taxonomy.md as a reference for service teams defining roles in other repos

Role categories

Label value Description Roles
platform Top-level cross-cutting roles only owner (future: editor, viewer)
service Infrastructure service roles IAM, resource management, org/project, quota, core
feature Product capabilities end-users interact with Notes, Notifications

Quota roles remain in milo-system namespace and are intentionally excluded from the customer-facing role selector until there is a quota management UI.

Product groups

Product Sort order Roles
Identity & Access Management 10/20/30/40 iam-admin/editor/viewer, iam-organization-, iam-role-, iam-platform-, iam-user-
Organization & Projects 10/20/30/40 owner, organization-, project-, organizationmembership-, resourcemanager-, project-manager
Platform Core 10/20/30/40 core-admin/editor/reader, apiextensions-reader
Quota 10/20/30/40 quota-admin/manager/operator/viewer, organization-quota-manager (milo-system, not customer-facing)
Notes 10/20/30 notes-admin/editor/creator/creator-editor/viewer
Notifications 10/20/30 notification-contact-, notification-email-

Test plan

  • Verify roles appear grouped correctly in the cloud portal Add Role screen
  • Check sort order within each group (admin → editor/manager → reader)
  • Verify filterByLabel on taxonomy.miloapis.com/role-category=feature returns only Notes and Notification roles
  • Verify filterByLabel on taxonomy.miloapis.com/role-category=platform returns only owner
  • Verify filterByLabel on taxonomy.miloapis.com/role-category=service returns IAM, org/project, and core roles (not quota)
  • Verify quota roles do NOT appear in the portal role selector

@joggrbot
Copy link
Copy Markdown
Contributor

joggrbot bot commented Mar 12, 2026

📝 Documentation Analysis

All docs are up to date! 🎉


✅ Latest commit analyzed: 17f75fd | Powered by Joggr

🤖 Automatically added newlines to 4 file(s)

Co-Authored-By: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

🤖 I automatically added missing newlines at the end of 4 file(s) in this PR.

All files should now end with a newline character as per coding standards.

@cla-assistant
Copy link
Copy Markdown

cla-assistant bot commented Mar 12, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ kevwilliams
❌ github-actions[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

1 similar comment
@cla-assistant
Copy link
Copy Markdown

cla-assistant bot commented Mar 12, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ kevwilliams
❌ github-actions[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

kevwilliams and others added 2 commits March 15, 2026 14:00
…AM roles

Adds taxonomy.miloapis.com/role-category label to all 72 IAM role files
to support filterByLabel in the cloud portal UI. Three values are used:
- platform: IAM, resource management, org/project, quota, core roles
- feature: CRM notes and notification roles
- service: reserved for infrastructure services (DNS, Network, Activity, etc.)

Also adds missing taxonomy.miloapis.com/product and sort-order annotations
to 24 previously unclassified roles (iam-admin/editor/viewer, identity
session viewer, organizationmembership-*, core-*, apiextensions-reader,
crm-note-*, quota-viewer, organization-quota-manager).

Adds docs/architecture/identity-and-access-management/role-taxonomy.md as
a reference for service teams adding roles in other repos.
🤖 Automatically added newlines to 4 file(s)

Co-Authored-By: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

🤖 I automatically added missing newlines at the end of 4 file(s) in this PR.

All files should now end with a newline character as per coding standards.

@kevwilliams kevwilliams changed the title chore: add taxonomy annotations to IAM roles for UI grouping chore: add taxonomy annotations and role-category labels to IAM roles for UI grouping Mar 15, 2026
@kevwilliams kevwilliams requested a review from scotwells March 18, 2026 23:28
@kevwilliams
Copy link
Copy Markdown
Contributor Author

@scotwells any thoughts on this? After we do this I can go through and add similar labels and annotations to the services e.g DNS etc.

Copy link
Copy Markdown
Contributor

@scotwells scotwells left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kevwilliams overall looks good, just some feedback on roles labeled with the platform label.

labels:
quota.miloapis.com/role-type: viewer
quota.miloapis.com/service: quota
taxonomy.miloapis.com/role-category: platform
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think this would be a service level role? I see platform roles as the top-level "Owner", "Editor", "Viewer" roles and all other roles are either service or feature.

…x quota namespace

- Change role-category from 'platform' to 'service' for all non-owner roles
  per feedback that 'platform' should be reserved for top-level owner/editor/viewer
- Add missing taxonomy labels to new iam-organization-admin/editor/viewer roles
- Remove hardcoded 'namespace: milo-system' from quota roles so they deploy
  to datum-cloud namespace and appear in the portal role selector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants