Master Trait
The Master trait allows to configure the integration to automatically leverage Kubernetes resources for doing leader election and starting master routes only on certain instances.
It’s activated automatically when using the master endpoint in a route, e.g. from("master:lockname:telegram:bots")…
.
this trait adds special permissions to the integration service account in order to read/write configmaps and read pods. It’s recommended to use a different service account than "default" when running the integration. |
This trait is available in the following profiles: Kubernetes, Knative, OpenShift.
Configuration
Trait properties can be specified when running any integration with the CLI:
kamel run --trait master.[key]=[value] --trait master.[key2]=[value2] integration.groovy
The following configuration options are available:
Property | Type | Description |
---|---|---|
master.enabled |
bool |
Can be used to enable or disable a trait. All traits share this common property. |
master.auto |
bool |
Enables automatic configuration of the trait. |
master.include-delegate-dependencies |
bool |
When this flag is active, the operator analyzes the source code to add dependencies required by delegate endpoints.
E.g. when using |
master.configmap |
string |
Name of the configmap that will be used to store the lock. Defaults to "<integration-name>-lock". |
master.label-key |
string |
Label that will be used to identify all pods contending the lock. Defaults to "camel.apache.org/integration". |
master.label-value |
string |
Label value that will be used to identify all pods contending the lock. Defaults to the integration name. |