Builder Trait
The builder trait is internally used to determine the best strategy to build and configure IntegrationKits.
This trait is available in the following profiles: Kubernetes, Knative, OpenShift.
The builder trait is a platform trait and cannot be disabled by the user. |
Configuration
Trait properties can be specified when running any integration with the CLI:
$ kamel run --trait builder.[key]=[value] --trait builder.[key2]=[value2] integration.yaml
The following configuration options are available:
Property | Type | Description |
---|---|---|
|
| Deprecated: no longer in use. |
|
| Enable verbose logging on build components that support it (e.g. Kaniko build pod). Deprecated no longer in use |
|
| A list of properties to be provided to the build task |
|
| The strategy to use, either |
|
| Specify a base image. In order to have the application working properly it must be a container image which has a Java JDK installed and ready to use on path (ie |
|
| Use the incremental image build option, to reuse existing containers (default |
|
| The build order strategy to use, either |
|
| When using |
|
| When using |
|
| When using |
|
| When using |
|
| A list of references pointing to configmaps/secrets that contains a maven profile. This configmap/secret is a resource of the IntegrationKit created, therefore it needs to be present in the namespace where the operator is going to create the IntegrationKit. The content of the maven profile is expected to be a text containing a valid maven profile starting with |
|
| A list of tasks to be executed (available only when using |
|
| A list of tasks sorted by the order of execution in a csv format, ie, |
|
| A list of request cpu configuration for the specific task with format |
|
| A list of request memory configuration for the specific task with format |
|
| A list of limit cpu configuration for the specific task with format |
|
| A list of limit memory configuration for the specific task with format |
|
| Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node. |
|
| When using |
|
| The list of manifest platforms to use to build a container image (default |
Node Selectors
With this trait you will also be able to define node selectors for the builder
pod when using the pod`
build strategy. Here is a simple example:
traits:
builder:
nodeSelector:
size: large
The builder
pod will be created with a node selector that allows it to run only on nodes where the size
label is equal to large
.
Node selectors can be specified when running an integration with the CLI:
$ kamel run --trait builder.node-selector.'size'=large integration.yaml