aklemp opened a new issue, #4837: URL: https://github.com/apache/camel-k/issues/4837
### What happened? Combining Kamelets to bigger reusable Kamelets is not working. The pod complains about unknown endpoints. Even when the nested Kamelet is a standard one as in the example it cannot be found. Trying the `timer-source` directly in the integration is working. The [readme](https://github.com/apache/camel-kamelets/blob/main/README.md) suggests that it should be possible somehow to depend on something else except Camel components. ### Steps to reproduce 1. create file nested.kamelet.yaml ```yaml apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: nested-source labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Nested" description: "Produces periodic events with a custom payload" dependencies: - github:apache/camel-kamelets template: from: uri: kamelet:timer-source parameters: period: 2000 message: hello steps: - to: "kamelet:sink" ``` 2. deploy kamelet ```bash kubectl apply -f nested.kamelet.yaml ``` 3. create file integration-with-nested.yaml ```yaml apiVersion: camel.apache.org/v1 kind: Integration metadata: name: integration-with-nested spec: flows: - route: from: uri: kamelet:nested-source steps: - log: message: ${body} ``` 4. deploy integration ```bash kubectl apply -f integration-with-nested.yaml ``` 5. check the logs of the pod ```bash kubectl logs -f integration-with-nested-... ``` ### Relevant log output ```shell 2023-10-20 09:55:25,247 INFO [org.apa.cam.k.Runtime] (main) Apache Camel K Runtime 2.16.0 2023-10-20 09:55:25,270 INFO [org.apa.cam.qua.cor.CamelBootstrapRecorder] (main) Bootstrap runtime: org.apache.camel.quarkus.main.CamelMainRuntime 2023-10-20 09:55:25,272 INFO [org.apa.cam.mai.MainSupport] (main) Apache Camel (Main) 3.20.1 is starting 2023-10-20 09:55:25,317 INFO [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='camel-k-embedded-flow', language='yaml', type='source', location='file:/etc/camel/sources/camel-k-embedded-flow.yaml', } 2023-10-20 09:55:25,385 INFO [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='nested-source', language='yaml', type='source', location='file:/etc/camel/sources/nested-source.yaml', } 2023-10-20 09:55:25,388 INFO [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='timer-source', language='yaml', type='source', location='file:/etc/camel/sources/timer-source.yaml', } 2023-10-20 09:55:25,615 WARN [org.apa.cam.imp.eng.AbstractCamelContext] (main) Lifecycle strategy org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler@96a75da vetoed initializing CamelContext (camel-1) due to: Failure creating route from template: nested-source 2023-10-20 09:55:25,615 INFO [org.apa.cam.imp.eng.AbstractCamelContext] (main) CamelContext (camel-1) vetoed to not initialize due to: Failure creating route from template: nested-source 2023-10-20 09:55:25,616 ERROR [org.apa.cam.qua.mai.CamelMainRuntime] (main) Failed to start application: org.apache.camel.RuntimeCamelException: org.apache.camel.VetoCamelContextStartException: Failure creating route from template: nested-source at org.apache.camel.RuntimeCamelException.wrapRuntimeException(RuntimeCamelException.java:66) at org.apache.camel.support.service.BaseService.doFail(BaseService.java:413) at org.apache.camel.impl.engine.AbstractCamelContext.doFail(AbstractCamelContext.java:3620) at org.apache.camel.support.service.BaseService.fail(BaseService.java:342) at org.apache.camel.impl.engine.AbstractCamelContext.failOnStartup(AbstractCamelContext.java:5313) at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2691) at org.apache.camel.support.service.BaseService.start(BaseService.java:111) at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2698) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262) at org.apache.camel.quarkus.main.CamelMain.doStart(CamelMain.java:94) at org.apache.camel.support.service.BaseService.start(BaseService.java:119) at org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:140) at org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49) at org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45) at io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown Source) at io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown Source) at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source) at io.quarkus.runtime.Application.start(Application.java:101) at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:108) at io.quarkus.runtime.Quarkus.run(Quarkus.java:71) at io.quarkus.runtime.Quarkus.run(Quarkus.java:44) at io.quarkus.runtime.Quarkus.run(Quarkus.java:124) at io.quarkus.runner.GeneratedMain.main(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61) at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32) Caused by: org.apache.camel.VetoCamelContextStartException: Failure creating route from template: nested-source at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.onContextInitialized(KameletComponent.java:433) at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:3017) at org.apache.camel.quarkus.core.FastCamelContext.doInit(FastCamelContext.java:174) at org.apache.camel.support.service.BaseService.init(BaseService.java:83) at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2679) ... 23 more Caused by: org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet with id nested-source not found in locations: classpath:/kamelets at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint(KameletComponent.java:421) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.onContextInitialized(KameletComponent.java:430) ... 27 more Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route nested-source-1: Route(nested-source-1)[From[kamelet:timer-source?message=hel... because of Failed to resolve endpoint: kamelet://timer-source?message=hello&period=2000 due to: org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet with id timer-source not found in locations: classpath:/kamelets at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:81) at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:937) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint(KameletComponent.java:416) ... 28 more Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: kamelet://timer-source?message=hello&period=2000 due to: org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet with id timer-source not found in locations: classpath:/kamelets at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:1008) at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:890) at org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:62) at org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:195) at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:95) at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) ... 31 more Caused by: org.apache.camel.RuntimeCamelException: org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet with id timer-source not found in locations: classpath:/kamelets at org.apache.camel.RuntimeCamelException.wrapRuntimeException(RuntimeCamelException.java:66) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.track(KameletComponent.java:450) at org.apache.camel.component.kamelet.KameletComponent$1.doInit(KameletComponent.java:160) at org.apache.camel.support.service.BaseService.init(BaseService.java:83) at org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:84) at org.apache.camel.impl.engine.AbstractCamelContext.internalAddService(AbstractCamelContext.java:1602) at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1543) at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1538) at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1533) at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:992) ... 36 more Caused by: org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet with id timer-source not found in locations: classpath:/kamelets at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint(KameletComponent.java:421) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.track(KameletComponent.java:448) ... 44 more Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route timer-source-2: Route(timer-source-2)[From[timer:tick?period={{period}}&repe... because of No endpoint could be found for: timer://tick?period=2000, please check your classpath contains the needed Camel component jar. at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:81) at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:937) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint(KameletComponent.java:416) ... 45 more Caused by: org.apache.camel.NoSuchEndpointException: No endpoint could be found for: timer://tick?period=2000, please check your classpath contains the needed Camel component jar. at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:1014) at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:890) at org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:62) at org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:195) at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:95) at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) ... 48 more 2023-10-20 09:55:25,630 ERROR [io.qua.run.Application] (main) Failed to start application (with profile [prod]): org.apache.camel.NoSuchEndpointException: No endpoint could be found for: timer://tick?period=2000, please check your classpath contains the needed Camel component jar. at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:1014) at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:890) at org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:62) at org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:195) at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:95) at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:937) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint(KameletComponent.java:416) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.track(KameletComponent.java:448) at org.apache.camel.component.kamelet.KameletComponent$1.doInit(KameletComponent.java:160) at org.apache.camel.support.service.BaseService.init(BaseService.java:83) at org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:84) at org.apache.camel.impl.engine.AbstractCamelContext.internalAddService(AbstractCamelContext.java:1602) at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1543) at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1538) at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1533) at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:992) at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:890) at org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:62) at org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:195) at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:95) at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:937) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint(KameletComponent.java:416) at org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.onContextInitialized(KameletComponent.java:430) at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:3017) at org.apache.camel.quarkus.core.FastCamelContext.doInit(FastCamelContext.java:174) at org.apache.camel.support.service.BaseService.init(BaseService.java:83) at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2679) at org.apache.camel.support.service.BaseService.start(BaseService.java:111) at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2698) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262) at org.apache.camel.quarkus.main.CamelMain.doStart(CamelMain.java:94) at org.apache.camel.support.service.BaseService.start(BaseService.java:119) at org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:140) at org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49) at org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45) at io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown Source) at io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown Source) at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source) at io.quarkus.runtime.Application.start(Application.java:101) at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:108) at io.quarkus.runtime.Quarkus.run(Quarkus.java:71) at io.quarkus.runtime.Quarkus.run(Quarkus.java:44) at io.quarkus.runtime.Quarkus.run(Quarkus.java:124) at io.quarkus.runner.GeneratedMain.main(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61) at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32) ``` ### Camel K version v2.0.1 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
