feat: view, add, and remove platform roles on users #3840
Merged
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.
General Checklist
Database Migrations
Managing Platform Wide Users
This feature adds the functions required to view, and manage the roles of platform wide users.
No longer required to log in to Keycloak to manage the users in these roles. The
allPlatformUsers
query supports filtering byemail
,id
,role
, and if supportedgitlabId
, allowing for finding who is in a role, or if a user has any roles, quickly.New: Platform Organization Owner
Another platform wide role called
platform-organization-owner
is also included in this PR. This role would allow a user to create, delete, and update organizations, and list all deploytargets within Lagoon. This role is also able to assign and unassign deploytargets on an organization.Additionally, the ability to interact with organizations by way of what the standard
organization-owner
role would grant is part of this role. To interact with projects within an organization, similar to the standardorganization-owner
role, a user with this role will still need to be added to a group.This role is useful for granting a lower level of access to certain members of a team managing a platform to manage organizations, without needing to grant full platform owner role.
CLI examples for verification
With a lagoon CLI configured for local API access (or if using local-stack in k3d) it is possible to run some commands to list, add, and remove a user. If this is approved, then the CLI will get updated to include these as commands.
Closing issues
closes #3635