-
Notifications
You must be signed in to change notification settings - Fork 115
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
Auto generate Triggers OIDC identity service account and expose in its status #3604
Auto generate Triggers OIDC identity service account and expose in its status #3604
Conversation
…se in AuthStatus Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
Welcome @xiangpingjiang! It looks like this is your first PR to knative-extensions/eventing-kafka-broker 🎉 |
Hi @xiangpingjiang. 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/test-infra repository. |
Hi @xiangpingjiang, /ok-to-test |
Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
/retest-required |
/retest |
1 similar comment
/retest |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3604 +/- ##
============================================
+ Coverage 57.75% 62.13% +4.37%
- Complexity 0 846 +846
============================================
Files 91 188 +97
Lines 9427 12667 +3240
Branches 0 273 +273
============================================
+ Hits 5445 7871 +2426
- Misses 3535 4184 +649
- Partials 447 612 +165
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
/retest |
1 similar comment
/retest |
/retest |
Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
/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.
Hey @xiangpingjiang,
thanks for your work so far. Seems the current reconciler e2e test failures are due to a nil pointer reference in the namespaced broker.
You need to setup the serviceAccountLister in the NamespacedReconciler too. Something like
serviceaccountInformer := serviceaccountinformer.Get(ctx)
reconciler := &NamespacedReconciler{
Reconciler: &base.Reconciler{
...
},
...
ServiceAccountLister: serviceaccountInformer.Lister(),
}
in namespaced_controller.go (NewNamespacedController
).
And probably some other changes (similar what you are doing in controller.go (reconcile triggers when OIDC SA changes, reconcile triggers when features configmap changes))
…ap changes Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
/retest-required |
seems to be a flake
/retest-required |
/retest-required |
Flake AFAIK /retest-required |
/retest-required |
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.
Looks good so far from my side!
Thanks a lot for your work on this @xiangpingjiang
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: creydr, xiangpingjiang 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 |
/retest-required |
1 similar comment
/retest-required |
/test reconciler-tests |
1 similar comment
/test reconciler-tests |
/retest-required |
4 similar comments
/retest-required |
/retest-required |
/retest-required |
/retest-required |
…s status (knative-extensions#3604) * Support auto generation of Triggers identity service account and expose in AuthStatus Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * make ServiceAccountLister public Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * integrate oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add some logic to reconcile triggers, if the features config map gets updated Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * revert vendor/knative.dev/pkg/webhook/resourcesemantics/defaulting/controller.go Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix Verify Deps and Codegen test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test and reconcile triggers, in case of the features configmap changes Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> --------- Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
…s status (knative-extensions#3604) * Support auto generation of Triggers identity service account and expose in AuthStatus Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * make ServiceAccountLister public Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * integrate oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add some logic to reconcile triggers, if the features config map gets updated Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * revert vendor/knative.dev/pkg/webhook/resourcesemantics/defaulting/controller.go Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix Verify Deps and Codegen test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test and reconcile triggers, in case of the features configmap changes Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> --------- Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
…s status (knative-extensions#3604) * Support auto generation of Triggers identity service account and expose in AuthStatus Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * make ServiceAccountLister public Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * integrate oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add some logic to reconcile triggers, if the features config map gets updated Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * revert vendor/knative.dev/pkg/webhook/resourcesemantics/defaulting/controller.go Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix Verify Deps and Codegen test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test and reconcile triggers, in case of the features configmap changes Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> --------- Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
…s status (knative-extensions#3604) * Support auto generation of Triggers identity service account and expose in AuthStatus Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * make ServiceAccountLister public Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * integrate oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add some logic to reconcile triggers, if the features config map gets updated Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * revert vendor/knative.dev/pkg/webhook/resourcesemantics/defaulting/controller.go Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix Verify Deps and Codegen test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test and reconcile triggers, in case of the features configmap changes Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> --------- Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com>
* Update contract with fields for OIDC information (knative-extensions#3632) * Update contract to include OIDC information * Run hack/update-codegen.sh * Move OIDC SA to egress * Expose OIDC audience of KafkaChannel in its status (knative-extensions#3622) * Provision .status.address.audience and .status.addresses[*].audience in KafkaChannel * Add kafka Channel e2e test to check if audience is provisioned * Run goimport * Update deps * Auto generate Triggers OIDC identity service account and expose in its status (knative-extensions#3604) * Support auto generation of Triggers identity service account and expose in AuthStatus Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * make ServiceAccountLister public Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * integrate oidc unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * add some logic to reconcile triggers, if the features config map gets updated Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * revert vendor/knative.dev/pkg/webhook/resourcesemantics/defaulting/controller.go Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix Verify Deps and Codegen test Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * fix unit test and reconcile triggers, in case of the features configmap changes Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> --------- Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> * Create KafkaSources OIDC service account and expose in its status (knative-extensions#3660) * Create KafkaSources OIDC service account and expose in its status * Run goimport * Provision contract with OIDC information (knative-extensions#3646) * Provision contract with OIDC information * Add DLS audience in KafkaChannel CRD * Update KafkaSource to expose its sinks audience in status * Update Trigger test to include OIDC SA in contract * Propagate KafkaSources OIDC serviceAccountName to consumer and consumergroup * Propagate triggerv2s serviceAccountName to consumergroup * Fix unit test * [data-plane] Add the caching for OIDC JWT token to tokenprovider (knative-extensions#3663) * Add the caching to tokenprovider * Add the boiler * Running the codegen * Running the codegen * Revert "Running the codegen" This reverts commit 0ccf69c. * Use constant, set buffer before token expire, remove unnecessary change * Codegen changes * Codegen changes * Update data-plane/core/src/main/java/dev/knative/eventing/kafka/broker/core/oidc/TokenProvider.java Co-authored-by: Christoph Stäbler <cstabler@redhat.com> * Fix the review comments * Run codegen * Codegen changes * Code gen again --------- Co-authored-by: Christoph Stäbler <cstabler@redhat.com> * Receiver reject requests for wrong audience (knative-extensions#3675) * Receiver: reject request for wrong audience * Switch to AuthenticationHandler * Fix "Request has already been read" issue * Change TokenVerifier to an interface * Initialize TokenVerifier in main * Add test for AuthenticationHandler * Only initialize OIDC discovery config in main and create a TokenVerifier per verticle instance. * Rerun hack/update-codegen.sh * Move TokenVerifier setup into setup() to prevent null pointer exception when vertx is null * Update KafkaChannel OIDC e2e tests, to run OIDC conformance tests so the receiver is tested too. * Run OIDC e2e tests as part of the reconciler suite * Fix KafkaChannelOIDC e2e test * Fix lint issue * Address review comments * Dispatcher authenticate requests (knative-extensions#3677) * Change TokenProvider to return future to get a token * Dispatcher add OIDC to token, when target has an audience set * Add e2e test * Support exposing the Audience of a Broker (knative-extensions#3600) * Support exposing the Audience of a Broker * fix formatting * fix formatting * test fixes * Populate broker.status.addresses[*].audience field too * Run goimports and gofmt * Fix unit test --------- Co-authored-by: Christoph Stäbler <cstabler@redhat.com> * Add broker OIDC e2e tests (knative-extensions#3685) * Add broker OIDC e2e tests * Fix broker template to allow TLS & OIDC configuration on dead letter sink * Remove unneeded check when setting broker audience (knative-extensions#3708) * Check status code of OIDC discovery response (knative-extensions#3707) * Check status code of OIDC discovery endpoint * Run update-codegen.sh * Only allow 200 status code on OIDC discovery endpoint * Run update-deps.sh * Add OIDC tests to encryption/auth test suite * run make generate-release * TokenVerifier: execute blocking calls in parallel (knative-extensions#3728) * TokenVerifier: execute blocking calls in parallel * Revert "TokenVerifier: execute blocking calls in parallel" This reverts commit f3dbde9. * Revert: removed changes in contract.pb.go * Cancel receiver pod start on invalid OIDC config only if authentication.oidc is enabled (knative-extensions#3761) * Cancel pod start on invalid OIDC config only if authentication.oidc is enabled * Update namespaced broker to copy features configmap too. * Add unit test for FeaturesConfig class (knative-extensions#3771) * Add unit test for FeaturesConfig class * Update data-plane/core/src/test/java/dev/knative/eventing/kafka/broker/core/features/FeaturesConfigTest.java Co-authored-by: Calum Murray <cmurray@redhat.com> --------- Co-authored-by: Calum Murray <cmurray@redhat.com> * Run make generate-release again --------- Signed-off-by: pingjiang <xiangpingjiang1998@gmail.com> Co-authored-by: cola <45722758+xiangpingjiang@users.noreply.github.com> Co-authored-by: Leo Li <leoli@redhat.com> Co-authored-by: Gunish Matta <33680363+gunishmatta@users.noreply.github.com> Co-authored-by: Partha Ghosh <112557191+parth721@users.noreply.github.com> Co-authored-by: Calum Murray <cmurray@redhat.com>
Support auto generation of Triggers identity service account and expose in AuthStatus
Fixes #3521
Proposed Changes
Release Note
Docs