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

IntegrationSource CRD #8238

Merged
merged 16 commits into from
Oct 31, 2024
Merged

Conversation

matzew
Copy link
Member

@matzew matzew commented Oct 10, 2024

Related to #8185

Proposed Changes

  • Adding new IntegrationSource CRD and tests. Each commit has details on the implementation step or the needs (e.g. as in addressing comments too and enhancing). As alwasys, there is lot of boilerplate code when on-bording new component

Pre-review Checklist

  • At least 80% unit test coverage
  • E2E tests for any new behavior
  • Docs PR for any user-facing impact
  • Spec PR for any new API feature
  • Conformance test for any change to the spec

Release Note

Add IntegrationSource for supporting generic event sources based on Apache Camel Kamelets.

Docs

@knative-prow knative-prow bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. area/test-and-release Test infrastructure, tests or release labels Oct 10, 2024
Copy link

codecov bot commented Oct 10, 2024

Codecov Report

Attention: Patch coverage is 63.10433% with 145 lines in your changes missing coverage. Please review.

Project coverage is 64.58%. Comparing base (c859efd) to head (05417aa).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...ler/integrationsource/resources/containersource.go 53.20% 68 Missing and 5 partials ⚠️
pkg/reconciler/integrationsource/controller.go 56.14% 22 Missing and 3 partials ⚠️
...kg/apis/sources/v1alpha1/integration_validation.go 77.77% 9 Missing and 3 partials ⚠️
pkg/apis/sources/v1alpha1/register.go 0.00% 11 Missing ⚠️
.../reconciler/integrationsource/integrationsource.go 71.05% 8 Missing and 3 partials ⚠️
pkg/apis/sources/v1alpha1/integration_lifecycle.go 76.00% 6 Missing ⚠️
pkg/apis/sources/v1alpha1/integration_defaults.go 0.00% 3 Missing ⚠️
cmd/controller/main.go 0.00% 2 Missing ⚠️
pkg/apis/sources/v1alpha1/integration_types.go 77.77% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8238      +/-   ##
==========================================
- Coverage   64.61%   64.58%   -0.03%     
==========================================
  Files         362      373      +11     
  Lines       22226    22619     +393     
==========================================
+ Hits        14361    14609     +248     
- Misses       7113     7244     +131     
- Partials      752      766      +14     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


func selectImage(source *v1alpha1.IntegrationSource) string {
if source.Spec.Timer != nil {
return "quay.io/openshift-knative/kn-connector-timer-source:1.0-SNAPSHOT"
Copy link
Member Author

Choose a reason for hiding this comment

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

@dsimansk for this to get rid of, let's see if we can get the integrations repo setup w/ image push etc.

and yes, this code will be changing too. but is first draft. I am currently more focused on having things work


func selectImage(source *v1alpha1.IntegrationSource) string {
if source.Spec.Timer != nil {
return "gcr.io/knative-nightly/timer-source:latest"
Copy link
Member Author

Choose a reason for hiding this comment

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

In a soon/future PR image will be read from config map. But for now this works

@matzew
Copy link
Member Author

matzew commented Oct 28, 2024

/test reconciler-tests

Copy link
Member

@pierDipi pierDipi left a comment

Choose a reason for hiding this comment

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

Overall it looks good as a start

pkg/apis/sources/v1alpha1/integration_types.go Outdated Show resolved Hide resolved
pkg/apis/sources/v1alpha1/integration_types.go Outdated Show resolved Hide resolved
pkg/reconciler/integrationsource/controller.go Outdated Show resolved Hide resolved
pkg/reconciler/integrationsource/integrationsource.go Outdated Show resolved Hide resolved
test/rekt/integrationsource_test.go Outdated Show resolved Hide resolved
matzew and others added 8 commits October 31, 2024 10:10
…lly the container source for the handling of the kamelet workloads. the logic for applying the env-vars is a bit verbose, but can be improved.

Tests/lifeccyle and some other improvements are still missing. but this works.

Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
Signed-off-by: Matthias Wessendorf <[email protected]>
@matzew matzew changed the title WIP: IntegrationSource CRD IntegrationSource CRD Oct 31, 2024
@knative-prow knative-prow bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 31, 2024
Signed-off-by: Matthias Wessendorf <[email protected]>
@matzew
Copy link
Member Author

matzew commented Oct 31, 2024

@pierDipi thanks for the review, I've addressed your comments

Copy link
Member

@pierDipi pierDipi left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve

@knative-prow knative-prow bot added the lgtm Indicates that a PR is ready to be merged. label Oct 31, 2024
Copy link

knative-prow bot commented Oct 31, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: matzew, pierDipi

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@matzew
Copy link
Member Author

matzew commented Oct 31, 2024

/unhold

@knative-prow knative-prow bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 31, 2024
@knative-prow knative-prow bot merged commit 7bca815 into knative:main Oct 31, 2024
33 of 36 checks passed
matzew added a commit to matzew/eventing that referenced this pull request Nov 6, 2024
* Add initial raw API types and controller/reconciler. Levering internally the container source for the handling of the kamelet workloads. the logic for applying the env-vars is a bit verbose, but can be improved.
Tests/lifeccyle and some other improvements are still missing. but this works.

Signed-off-by: Matthias Wessendorf <[email protected]>

* adding reflection to make the mapping less verbose, and more flexible to extend...

Signed-off-by: Matthias Wessendorf <[email protected]>

* Add DDB Streams

Signed-off-by: Matthias Wessendorf <[email protected]>

* polish and add minimal tests

Signed-off-by: Matthias Wessendorf <[email protected]>

* Update pkg/apis/sources/v1alpha1/integration_lifecycle.go

Co-authored-by: Pierangelo Di Pilato <[email protected]>

* Update pkg/apis/sources/v1alpha1/integration_lifecycle.go

Co-authored-by: Pierangelo Di Pilato <[email protected]>

* Fix compiler warnings

Signed-off-by: Matthias Wessendorf <[email protected]>

* use other image coordinates

Signed-off-by: Matthias Wessendorf <[email protected]>

* first test for source

Signed-off-by: Matthias Wessendorf <[email protected]>

* Adding initial rekt test

Signed-off-by: Matthias Wessendorf <[email protected]>

* Adding SSL support and test for IntegrationSource

Signed-off-by: Matthias Wessendorf <[email protected]>

* Formatting fixes

Signed-off-by: Matthias Wessendorf <[email protected]>

* Disable OIDC tests for now

Signed-off-by: Matthias Wessendorf <[email protected]>

* use knative nightly images

Signed-off-by: Matthias Wessendorf <[email protected]>

* Fixing linters

Signed-off-by: Matthias Wessendorf <[email protected]>

* addressing comments, Part1

Signed-off-by: Matthias Wessendorf <[email protected]>

---------

Signed-off-by: Matthias Wessendorf <[email protected]>
Co-authored-by: Pierangelo Di Pilato <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/test-and-release Test infrastructure, tests or release lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants