Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature rebac admin #1351

Merged
merged 60 commits into from
Sep 5, 2024
Merged

Feature rebac admin #1351

merged 60 commits into from
Sep 5, 2024

Conversation

kian99
Copy link
Contributor

@kian99 kian99 commented Sep 5, 2024

Description

Merges the feature-rebac-admin branch into `v3.

The changes are in a stable state and ready to be merged into `v3.

Make sure to merge with a commit message to keep the history.

pkulik0 and others added 30 commits July 4, 2024 04:43
…d-server

Css 9387 add rebac admin backend server
* add entitlements api to rebac endpoint

* update embed file names
* WIP

* Add handler for rebac group service

add constructor for entitlement service

* Update godoc

* Pass JIMM to rebac_admin
* Add pagination to list groups method

* Moved common package and made pagination package
* refactor jimm relations methods
* rename parseTag to parseAndResolveTag
kian99 and others added 24 commits August 2, 2024 11:30
Avoid use of auth client outside of jimm
* identities listing

* identity get
* Implement rebac group crud

* improve tests and add group count

* PR comments

Added authentication for rebac-admin-ui enforcing that the user has to be a JIMM admin.

* Better error handling

* merge fixes

* update auth middleware tests

Accept a JIMM interface at the middleware rather than a concrete type to enable mock tests.

* fix unit test
* implement group identities methods

* PR comments and extra test logic

* verify group exists
* add relation test

* add identities endpoints
* Avoid use of DB outside of jimm

* test fixes

Replace hardcoded controller UUID in tests with constant

* Export ControllerService

Drive-by warning fix

* minor refactoring

* avoid returning a params type from jimm layer

Rather than returning an apiParams type from the jimm layer in `ControllerInfo`, return a dbmodel. This also means it doesn't make sense to return the JIMM controller info since that is not a entity stored in the database. The construction of the JIMM controller info is kept directly in `jujuapi`.

* update godocs
* implement GetGroupEntitlements

* test fixes

* address PR comments

- More descriptive names
- Minor tweaks to function signatures

* add missing copyright lines

* refactor functions to handle application logic at jimm layer

* use concrete type in jimm layer rather than a string

* revert move of function

* added missing godocs/copyright and test fix
* implement patch group entitlements

* minor change in creating error response

* address follow-up comments from previous PR

* PR comments
* add get identities entitlements

* add patch identity entitlements
* resources endpoint
@kian99 kian99 requested a review from a team as a code owner September 5, 2024 07:10
@kian99 kian99 merged commit 0ccb303 into v3 Sep 5, 2024
5 checks passed
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.

4 participants