Skip to content

feat(iam): Add PlatformAccess resource for unified user access lifecycle#660

Merged
JoseSzycho merged 3 commits into
mainfrom
613-simplify-user-access-lifecycle
Jun 25, 2026
Merged

feat(iam): Add PlatformAccess resource for unified user access lifecycle#660
JoseSzycho merged 3 commits into
mainfrom
613-simplify-user-access-lifecycle

Conversation

@JoseSzycho

Copy link
Copy Markdown
Contributor

Summary

Today, governing whether a user can access the platform requires three separate resources — UserDeactivation, PlatformAccessApproval, and PlatformAccessRejection — each immutable and each answering only part of the question. Moving a user between states requires delete-then-create sequences with windows of inconsistency, and there is no single place to look to understand why a user cannot access the platform.

This PR introduces PlatformAccess, a single mutable cluster-scoped resource that owns the full access lifecycle for a user. It is the first step in the migration described in #613 and intentionally introduces only the API type; controller logic, webhook updates, and removal of the existing resources are tracked in follow-on issues.

Note

The existing UserDeactivation, PlatformAccessApproval, and PlatformAccessRejection resources are untouched in this PR. Migration of controllers, the authn webhook, and the ValidatingAdmissionPolicy in datum-cloud/datum is tracked in #658, #659, and a separate issue for the admission policy update.

@mattdjenkinson mattdjenkinson left a comment

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.

We can hook the work done for datum-cloud/enhancements#779 & datum-cloud/enhancements#770 into this.

@JoseSzycho
JoseSzycho merged commit bd3cce3 into main Jun 25, 2026
5 of 6 checks passed
@JoseSzycho
JoseSzycho deleted the 613-simplify-user-access-lifecycle branch June 25, 2026 12:39
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.

Simplify user access lifecycle with a single PlatformAccess resource

2 participants