-
Notifications
You must be signed in to change notification settings - Fork 135
[#3514] Add support for AWS MSK IAM authentication using SASL OAUTHBEARER #4516
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
Conversation
Welcome @qswinson! It looks like this is your first PR to knative-extensions/eventing-kafka-broker 🎉 |
Hi @qswinson. Thanks for your PR. I'm waiting for a knative-extensions member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Thanks for the contribution! Would it make sense to also add integration tests for that, and see if the feature is also possible in a generic way? |
/ok-to-test
That might be beyond the scope of this PR. Maybe a follow up? The way I'm reading the strimzi docs it says it has OAUTHBEARER support but it doesn't include an OAuth server. @matzew Does the e2e testing already set one up? |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @qswinson!
Thank you for addressing my review and improving the architecture of this contribution. That is a great improvement and you did it much better than I had proposed. I am so happy about that! 😸 👍
I have a few more comments and they address:
- encapsulation => set to private what is not used outside the package
- putting strings into constants => removes duplication
- two forgotten comments from the previous review
- file names
I hope you're ok with one last round. We nearly have it and it'll be a really nicely polished PR.
control-plane/pkg/security/oauth/msk_role_access_token_provider_test.go
Outdated
Show resolved
Hide resolved
@twoGiants: changing LGTM is restricted to collaborators In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
looks like a flake /retest |
/retest |
bump @twoGiants @matzew @creydr for a final pass |
Taking a final look 🔍 👀 😸 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @qswinson,
Thank you for the updates.
I noticed there are still a few small inconsistencies left, like incomplete encapsulation, test case names extracted into constants, and unused test case variables. To simplify things and get this PR merged, I've created a patch with the final fixes.
Please apply the attached patch, and we should be all set.
In the future, please ensure that contributions are fully cleaned up, proofread and all review comments are properly addressed before submitting them for review.
Thanks.
hey @twoGiants there's a resolve button so you don't have to comment on every thread when things are done ![]() Also your patch file doesn't download. It returns a 404. I would recommend using the GitHub UI to create commit suggestions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since we're using t.Setenv
now we don't need the setup/cleanup funcs anymore
control-plane/pkg/security/oauth/msk_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_role_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_role_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_role_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_role_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
control-plane/pkg/security/oauth/msk_access_token_issuer_test.go
Outdated
Show resolved
Hide resolved
/lgtm |
/retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: matzew, qswinson The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
150a9bd
into
knative-extensions:main
Hi @dprotaso! I don't have a resolve button on my review in this PR. I do not have the permissions yet to resolve review comments. Maybe one needs to be Approver or Maintainer. I am only org "Member". I put the "resolved" comments there to not lose track of what is resolved while reviewing. (Edit: Yes, I need write access in the repo to resolve conversations.) ![]()
Very unfortunate that the download didn't work. I am able to download the file when I click on the link. But @creydr was also not able to download it, so it looks like it works only for me. ![]()
Yes, that was one of the options. I was considering those options:
I picked the fifth option because it was the fastest for me as I already had cleanup the code and had a commit ready. You can checkout my cleanup commit here. My commit contains your suggestions form above and a few more things. I will open a separate small cleanup PR and @creydr will support in the review. It won't be much. @dprotaso you can also find me on the CNCF slack. Happy to connect with you there! 😸 👍 P.S.: Edit on 08.10.25, 10:45: small cleanup PR #4553. |
thanks @qswinson 🎉 |
Fixes #3514
Proposed Changes
Add support for AWS MSK IAM authentication using the SASL OAUTHBEARER mechanism. This PR supports using either the container's default credentials or supplying a Role ARN to be assumed.
The control plane configurations are managed through properties in the
kafka-auth
secret.or
The data plane configuration is managed through sasl java properties. These must be added to each
config-kafka-*-producer.properties
andconfig-kafka-*-consumer.properties
configmap property string.or
Release Note
Docs
knative/docs#6365