nicolaferraro opened a new pull request #1274: Refactoring traits to allow 
addons and add master trait (as addon)
URL: https://github.com/apache/camel-k/pull/1274
 
 
   <!-- Description -->
   
   Fix #1234
   Needs https://github.com/apache/camel-k-runtime/pull/242
   
   This removes the trait static lists and allow to dynamically define traits 
also in other packages. This added the possibility to define an "addons" 
package. Currently addons are always loaded, but technically they can be easily 
disabled at both build time or runtime.
   
   The idea is, for the future, to include addons for other external projects, 
so that Camel K can leverage them to auto-configure the integrations.
   Examples of traits that are best placed in the addon package are:
   - Camel non-core features: like Master, Cron
   - Knative
   - Keda (#1107)
   - Connectors (idea still maturing, making sure that Camel K can configure 
connections e.g. to a Kafka [Strimzi] instance, automatically injecting 
certificates and authentication credentials in the integration)
   
   About the **master component**: it's using the `camel-k-runtime-master` 
module, which embeds `camel-kubernetes` to do leader election.
   
   It's enabled by default when someone uses a route like:
   
   ```
   from("master:listener:telegram:bots")...
   ```
   
   So that that route is started only once, no matter how many `replicas` you 
set in the integration (works also with auto-scaling integrations).
   
   By default, each integration has its own lock domain (i.e. configmap), but 
configuration can be tweaked to let two different integrations share the same 
lock if needed.
   
   
   <!--
   Enter your extended release note in the below block. If the PR requires
   additional action from users switching to the new release, include the string
   "action required". If no release note is required, write "NONE". 
   
   You can (optionally) mark this PR with labels "kind/bug" or "kind/feature" 
to make sure
   the text is added to the right section of the release notes. 
   -->
   
   **Release Note**
   ```release-note
   Camel master component is automatically configured to do leader election 
using Kubernetes resources
   ```
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to