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

Add classpath kamelet loading test #2516

Merged
merged 1 commit into from
Jul 22, 2021

Conversation

bouskaJ
Copy link
Contributor

@bouskaJ bouskaJ commented Jul 20, 2021

Release Note

NONE

@bouskaJ
Copy link
Contributor Author

bouskaJ commented Jul 22, 2021

@astefanutti can you review, please?

Copy link
Contributor

@squakez squakez left a comment

Choose a reason for hiding this comment

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

I have some concern.

I am not sure if we should rely on external kamelet provider, altough it's the official kamelet catalog. I'd prefer to create a copy of the Kamelet we want to test locally instead.
For sure, we should not use a Kamelet that is polling an external service. If the external service is broken, our CI will break as well.

Copy link
Member

@astefanutti astefanutti left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

@astefanutti astefanutti merged commit dc2d566 into apache:main Jul 22, 2021
@astefanutti
Copy link
Member

@bouskaJ I agree generally with @squakez concern, better have our tests standalone, without any dependency on external systems. If you have time to spare another cycle on this, that'd be great.

@bouskaJ
Copy link
Contributor Author

bouskaJ commented Jul 22, 2021

I have some concern.

I am not sure if we should rely on external kamelet provider, altough it's the official kamelet catalog. I'd prefer to create a copy of the Kamelet we want to test locally instead.

I am not sure how to make it. The copy of the Kamelet has to be packaged to a maven repository and I didn't find a way how to force jitpack to work with repository subdirs. Can you advise me in this area?

For sure, we should not use a Kamelet that is polling an external service. If the external service is broken, our CI will break as well.

Yes, you are right I will fix it.

@squakez
Copy link
Contributor

squakez commented Jul 22, 2021

I have some concern.
I am not sure if we should rely on external kamelet provider, altough it's the official kamelet catalog. I'd prefer to create a copy of the Kamelet we want to test locally instead.

I am not sure how to make it. The copy of the Kamelet has to be packaged to a maven repository and I didn't find a way how to force jitpack to work with repository subdirs. Can you advise me in this area?

I think you can provide it as a custom resource. I guess you can leverage the API and maybe provide some support method to use that also in the future.

For sure, we should not use a Kamelet that is polling an external service. If the external service is broken, our CI will break as well.

Yes, you are right I will fix it.

@astefanutti
Copy link
Member

I think @squakez raised two valid concerns w.r.t. testing stability:

  • dependency on an external Kamelet provider: if GitHub availability may be trusted, using main-SNAPSHOT may not (that is trusting ourselves 😄)
  • using a Kamelet that depends on a external system

I think the later is the less trustable when it comes to availability guarantee, so the short term solution would be to depend on another Kamelet, without a dependency on an external system, and use a stable version of that Kamelet.

@bouskaJ
Copy link
Contributor Author

bouskaJ commented Jul 22, 2021

I think @squakez raised two valid concerns w.r.t. testing stability:

  • dependency on an external Kamelet provider: if GitHub availability may be trusted, using main-SNAPSHOT may not (that is trusting ourselves smile)
  • using a Kamelet that depends on a external system

I think the later is the less trustable when it comes to availability guarantee, so the short term solution would be to depend on another Kamelet, without a dependency on an external system, and use a stable version of that Kamelet.

so I will use a timer kamelet with a released tag of camel-kamelets (v0.3.0 for instance) are you OK with it?

@astefanutti
Copy link
Member

so I will use a timer kamelet with a released tag of camel-kamelets (v0.3.0 for instance) are you OK with it?

Sounds good. We can also think about what's the best approach to rely on a local Kamelet. Maybe having it as a resource could work, since Integration resources are added to the classpath.

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.

None yet

3 participants