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

RHCLOUD-34728 | feature: authentication on the Kessel clients #2887

Conversation

MikelAlejoBR
Copy link
Member

Adds authentication to the Kessel clients so that our calls are authenticated.

Dependency

Jira ticket

[RHCLOUD-34728]

@MikelAlejoBR MikelAlejoBR force-pushed the RHCLOUD-34728-kessel-clients-authorization branch 3 times, most recently from c083261 to 42c08c0 Compare August 21, 2024 16:05
@MikelAlejoBR MikelAlejoBR force-pushed the RHCLOUD-34728-kessel-clients-authorization branch 2 times, most recently from a679cc0 to f09cd80 Compare September 16, 2024 10:01
@MikelAlejoBR MikelAlejoBR marked this pull request as ready for review September 16, 2024 10:10
@MikelAlejoBR MikelAlejoBR changed the title RHCLOUD-34728 | WIP | feature: authentication on the Kessel clients RHCLOUD-34728 | feature: authentication on the Kessel clients Sep 16, 2024
@MikelAlejoBR
Copy link
Member Author

/retest

backend/pom.xml Outdated Show resolved Hide resolved
.rhcicd/clowdapp-backend.yaml Outdated Show resolved Hide resolved
.rhcicd/clowdapp-backend.yaml Outdated Show resolved Hide resolved
@MikelAlejoBR MikelAlejoBR force-pushed the RHCLOUD-34728-kessel-clients-authorization branch from 6cddac3 to 2b14e5d Compare September 17, 2024 16:15
Since we are going to introduce another producer, it makes sense to have
the producer for the relationships in its own package.

Since I was at it, I improved some log messages to make it clear when we
are generating clients for the relationships API, and included an
explanation at the top of the class clarifying why we implemented our
own producers.

RHCLOUD-34485
We need a custom producer so that we can produce clients with the
"@ApplicationScoped" annotation as otherwise we are not able to mock the
clients for the tests.

RHCLOUD-34485
Implements the required code to be able to create and delete
integrations from Kessel's inventory.

RHCLOUD-34485
In order to safely talk to Kessel we will need to be using authorized
calls by requesting tokens via OIDC.

RHCLOUD-34728
Having the Kessel object types in the enumrations helps not having the
information scattered around.

RHCLOUD-34728
The client libraries we use to talk to Kessel have this dependency as
"provided", which makes us have to provide it ourselves instead.

RHCLOUD-34728
The Kessel team told us that we might want to have them separated to be
able to finely control both features at our will, since we might be able
to use one of them sooner than the other.

RHCLOUD-34728
By allowing to configure the secure channels we won't need to release a
new version of Notifications if anything needs to be changed in any of
the environments.

RHCLOUD-34728
@MikelAlejoBR MikelAlejoBR force-pushed the RHCLOUD-34728-kessel-clients-authorization branch from 2b14e5d to 318b670 Compare September 18, 2024 05:34
@MikelAlejoBR
Copy link
Member Author

/retest

2 similar comments
@MikelAlejoBR
Copy link
Member Author

/retest

@MikelAlejoBR
Copy link
Member Author

/retest

Copy link
Member

@gwenneg gwenneg left a comment

Choose a reason for hiding this comment

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

LGTM

@gwenneg gwenneg merged commit b0fc073 into RedHatInsights:master Sep 23, 2024
31 checks passed
g-duval pushed a commit to g-duval/notifications-backend that referenced this pull request Sep 26, 2024
…Insights#2887)

* refactor: rename the relationships client producer

Since we are going to introduce another producer, it makes sense to have
the producer for the relationships in its own package.

Since I was at it, I improved some log messages to make it clear when we
are generating clients for the relationships API, and included an
explanation at the top of the class clarifying why we implemented our
own producers.

RHCLOUD-34485

* feature: implement an inventory clients producer

We need a custom producer so that we can produce clients with the
"@ApplicationScoped" annotation as otherwise we are not able to mock the
clients for the tests.

RHCLOUD-34485

* feature: integration management in Kessel's inventory

Implements the required code to be able to create and delete
integrations from Kessel's inventory.

RHCLOUD-34485

* refactor: remove duplicated "create integration" call

RHCLOUD-34485

* feature: auhtenticate Kessel calls

In order to safely talk to Kessel we will need to be using authorized
calls by requesting tokens via OIDC.

RHCLOUD-34728

* refactor: generate object types in the enumeration

Having the Kessel object types in the enumrations helps not having the
information scattered around.

RHCLOUD-34728

* refactor: make the oAuth library available at compile time

The client libraries we use to talk to Kessel have this dependency as
"provided", which makes us have to provide it ourselves instead.

RHCLOUD-34728

* refactor: improve naming consistency

RHCLOUD-34728

* refactor: separate Kessel integrations in two toggles

The Kessel team told us that we might want to have them separated to be
able to finely control both features at our will, since we might be able
to use one of them sooner than the other.

RHCLOUD-34728

* refactor: remove unused elements from the configuration

RHCLOUd-34728

* refactor: allow configuring the secure channels

By allowing to configure the secure channels we won't need to release a
new version of Notifications if anything needs to be changed in any of
the environments.

RHCLOUD-34728
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