camel-k icon indicating copy to clipboard operation
camel-k copied to clipboard

feat(runtime): get rid off camel k runtime dependency - WIP

Open squakez opened this issue 1 year ago • 42 comments

Ref #4024

Requires still some work to be fully functional, but it should give an idea where to head the new design.

Release Note

NONE

squakez avatar Jan 23 '24 13:01 squakez

:heavy_check_mark: Unit test coverage report - coverage increased from 34.8% to 35.3% (+0.5%)

github-actions[bot] avatar Jan 23 '24 14:01 github-actions[bot]

@squakez 👍 this looks good to me so far

christophd avatar Jan 24 '24 13:01 christophd

:heavy_check_mark: Unit test coverage report - coverage increased from 34.8% to 35.8% (+1%)

github-actions[bot] avatar Jan 24 '24 15:01 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 34.8% to 35.8% (+1%)

github-actions[bot] avatar Jan 24 '24 16:01 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 34.8% to 35.8% (+1%)

github-actions[bot] avatar Jan 25 '24 10:01 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 34.8% to 35.8% (+1%)

github-actions[bot] avatar Jan 25 '24 14:01 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 34.8% to 36.3% (+1.5%)

github-actions[bot] avatar Jan 26 '24 14:01 github-actions[bot]

understanding how camel-main works, we can see the camel.main.routesInclude​Pattern parameter replaces one of key parts of camel-k-runtime which is the ability to dynamically load the routes. My perception is this feature was not mature in camel-core at that time and camel-k-runtime was created to support this feature. So, I think this is good, to materialize a camel-quarkus project. Also, there is no need anymore to the camel-k extension in camel-quarkus.

claudio4j avatar Jan 26 '24 14:01 claudio4j

Also, there is no need anymore to the camel-k extension in camel-quarkus.

When I first saw this change, I wondered about that.

Does this mean we could remove the camel-k bits from CQ?

And could that change be done now so that it's complete in time for the next CQ LTS release? AFAIK, camel-k has not consumed the camel-k-runtime extension from CQ yet.

jamesnetherton avatar Jan 29 '24 11:01 jamesnetherton

Also, there is no need anymore to the camel-k extension in camel-quarkus.

When I first saw this change, I wondered about that.

Does this mean we could remove the camel-k bits from CQ?

And could that change be done now so that it's complete in time for the next CQ LTS release? AFAIK, camel-k has not consumed the camel-k-runtime extension from CQ yet.

That's correct. As soon as this development is complete, we can remove the related ck-runtime bits from CQ and in general make the dependency process much smoother. It's possible that however we'll need to include the catalog into CQ or extend the one available there, but it should be done via maven plugin. Not reached yet that part, I expect this development to last still a bit :)

squakez avatar Jan 29 '24 13:01 squakez

camel-k-runtime supports the dynamic reload of a route (no project rebuild) when the parameters are modified, for example, the master trait, if the resourceName parameter change with a -t master.resource-name=new-foo , the master trait in camel-k-runtime is backed by camel-master and not camel-quarkus-kubernetes, so this means that when the user changes the resource-name parameter camel-k-runtime just reloads the route, however in camel-quarkus-kubernetes it requires a rebuild of the project due to ConfigPhase.BUILD_TIME.

I think this is fine, as there are only 3 extensions in camel-k-runtime whom are affected by this hot reload feature not available in non dev mode in camel-quarkus.

claudio4j avatar Jan 31 '24 14:01 claudio4j

I think this is fine, as there are only 3 extensions in camel-k-runtime whom are affected by this hot reload feature not available in non dev mode in camel-quarkus.

hot reload is not what we really want and MUST be disabled, if something changes, the pod must be restarted otherwise it is gonna be hard to do proper upgrade as things may change and fail out of control.

lburgazzoli avatar Jan 31 '24 15:01 lburgazzoli

hot reload is not what we really want and MUST be disabled

By hot reload I meant the possibility of changing a configuration parameter that doesn't require a maven rebuild, like the master trait example I provided earlier, which just works.

claudio4j avatar Jan 31 '24 15:01 claudio4j

hot reload is not what we really want and MUST be disabled

By hot reload I meant the possibility of changing a configuration parameter that doesn't require a maven rebuild, like the master trait example I provided earlier, which just works.

ah ok, I had the impression it was about hot reload of routes which in reality never happens as the pod is restarted

lburgazzoli avatar Jan 31 '24 15:01 lburgazzoli

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 36.5% (+0.9%)

github-actions[bot] avatar Feb 01 '24 13:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 36.6% (+1%)

github-actions[bot] avatar Feb 01 '24 17:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 36.8% (+1.2%)

github-actions[bot] avatar Feb 06 '24 10:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 36.8% (+1.2%)

github-actions[bot] avatar Feb 06 '24 10:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 36.9% (+1.3%)

github-actions[bot] avatar Feb 06 '24 16:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 37.2% (+1.6%)

github-actions[bot] avatar Feb 07 '24 10:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 37.2% (+1.6%)

github-actions[bot] avatar Feb 07 '24 13:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 37.4% (+1.8%)

github-actions[bot] avatar Feb 08 '24 09:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.6% to 37.4% (+1.8%)

github-actions[bot] avatar Feb 08 '24 18:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.7% to 37.7% (+2%)

github-actions[bot] avatar Feb 13 '24 11:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.8% to 37.8% (+2%)

github-actions[bot] avatar Feb 13 '24 14:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.8% to 37.8% (+2%)

github-actions[bot] avatar Feb 14 '24 11:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.8% to 37.8% (+2%)

github-actions[bot] avatar Feb 14 '24 12:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.8% to 37.8% (+2%)

github-actions[bot] avatar Feb 14 '24 14:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.8% to 37.8% (+2%)

github-actions[bot] avatar Feb 15 '24 10:02 github-actions[bot]

:heavy_check_mark: Unit test coverage report - coverage increased from 35.8% to 37.8% (+2%)

github-actions[bot] avatar Feb 15 '24 12:02 github-actions[bot]