Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CSS-5674 Replace database-stored access with OpenFGA (#1051)
* JIMM uses JWT to log in to individual controllers. - removes the need for basic auth from JIMM as it will now use JWTs which Juju controllers trust * Update godocs to indicate idempotency Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Add `unsetMultipleResourceAccess` Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Replace database-stored relations with OpenFGA Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Un-comment grant/revoke cloud access tests Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Use existing `ToCloudRelation` for mapping accesses to relations Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Add `UnsetModelAccess` method Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Assert for tuples that should exist after revoking cloud access Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Update `ModifyModelAccess` to change state in OpenFGA Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Update `GrantModelAccess` tests Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Update `RevokeModelAccess` tests Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Improve revoke cloud access tests Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Improve revoke model access tests Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Add more revoke cloud access cases having all relations separately Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Add more revoke model access cases having all relations separately Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Change if-statements with switch-statements Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Remove unnecessary Juju API call to grant/revoke model access Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Remove unnecessary Juju API call to grant/revoke cloud access Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Improve failure error message Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Change to inline if-err checks where possible Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Improve local var naming Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Add `op` to re-thrown error Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Remove unnecessary test for idempotent re-granting of cloud access Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Log errors when granting/revoking access Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Add tests to verify returning unrecognized access error Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> * Improve naming Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> --------- Signed-off-by: Babak K. Shandiz <babak.k.shandiz@canonical.com> Co-authored-by: alesstimec <ales.stimec@canonical.com>
- Loading branch information