Camel K API

camel.apache.org/v1

Package v1 contains API Schema definitions for the camel v1 API group

Resource Types

Build

Build is the Schema for the builds API.

Field Description

apiVersion
string

camel.apache.org/v1

kind
string

Build

metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
BuildSpec

status
BuildStatus

CamelCatalog

CamelCatalog represents the languages, components, data formats and capabilities enabled on a given runtime provider. The catalog may be statically generated.

Field Description

apiVersion
string

camel.apache.org/v1

kind
string

CamelCatalog

metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

status
CamelCatalogStatus

the actual state of the catalog

spec
CamelCatalogSpec

the desired state of the catalog

Integration

Integration is the Schema for the integrations API.

Field Description

apiVersion
string

camel.apache.org/v1

kind
string

Integration

metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
IntegrationSpec

the desired Integration specification

status
IntegrationStatus

the status of the Integration

IntegrationKit

IntegrationKit defines a container image and additional configuration needed to run an Integration. An IntegrationKit is a generic image generally built from the requirements of an Integration, but agnostic to it, in order to be reused by any other Integration which has the same required set of capabilities. An IntegrationKit may be used for other kits as a base container layer, when the incremental build option is enabled.

Field Description

apiVersion
string

camel.apache.org/v1

kind
string

IntegrationKit

metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
IntegrationKitSpec

the desired configuration

status
IntegrationKitStatus

the actual status

IntegrationPlatform

IntegrationPlatform is the resource used to drive the Camel K operator behavior. It defines the behavior of all Custom Resources (IntegrationKit, Integration, Kamelet) in the given namespace. When the Camel K operator is installed in global mode, you will need to specify an IntegrationPlatform in each namespace where you want the Camel K operator to be executed.

Field Description

apiVersion
string

camel.apache.org/v1

kind
string

IntegrationPlatform

metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
IntegrationPlatformSpec

status
IntegrationPlatformStatus

Kamelet

Kamelet is the Schema for the kamelets API.

Field Description

apiVersion
string

camel.apache.org/v1

kind
string

Kamelet

metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
KameletSpec

the desired specification

status
KameletStatus

the actual status of the resource Deprecated no longer in use

Pipe

Pipe is the Schema for the Pipe API.

Field Description

apiVersion
string

camel.apache.org/v1

kind
string

Pipe

metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
PipeSpec

the specification of a Pipe

status
PipeStatus

the status of a Pipe

Internal Types

AddonTrait

Appears on:

AddonTrait represents the configuration of an addon trait.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

Generic raw message, typically a map containing the keys (trait parameters) and the values (either single text or array)

Args

Appears on:

Args — .

Field Description

arg
string

Artifact

Appears on:

Artifact represents a materialized artifact (a jar dependency or in general a file used by the build).

Field Description

id
string

the identification (GAV for maven dependencies or file name for other file types)

location
string

where it is located in the builder Pod

target
string

the expected location in the runtime

checksum
string

a checksum (SHA1) of the content

BaseTask

Appears on:

BaseTask is a base for the struct hierarchy.

Field Description

name
string

name of the task

configuration
BuildConfiguration

The configuration that should be used to perform the Build.

BeanProperties

BeanProperties represent an unstructured object properties to be set on a bean.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

BuildCondition

Appears on:

BuildCondition describes the state of a resource at a certain point.

Field Description

type
BuildConditionType

Type of integration condition.

status
Kubernetes core/v1.ConditionStatus

Status of the condition, one of True, False, Unknown.

lastUpdateTime
Kubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTime
Kubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

reason
string

The reason for the condition’s last transition.

message
string

A human-readable message indicating details about the transition.

BuildConditionType(string alias)

Appears on:

BuildConditionType — .

BuildConfiguration

Appears on:

BuildConfiguration represent the configuration required to build the runtime.

Field Description

toolImage
string

The container image to be used to run the build.

operatorNamespace
string

The namespace where to run the builder Pod (must be the same of the operator in charge of this Build reconciliation).

strategy
BuildStrategy

the strategy to adopt

orderStrategy
BuildOrderStrategy

the build order strategy to adopt

requestCPU
string

The minimum amount of CPU required. Only used for pod strategy

requestMemory
string

The minimum amount of memory required. Only used for pod strategy

limitCPU
string

The maximum amount of CPU required. Only used for pod strategy

limitMemory
string

The maximum amount of memory required. Only used for pod strategy

nodeSelector
map[string]string

The node selector for the builder pod. Only used for pod strategy

BuildOrderStrategy(string alias)

Appears on:

BuildOrderStrategy specifies how builds are reconciled and queued.

BuildPhase(string alias)

Appears on:

BuildPhase — .

BuildSpec

Appears on:

BuildSpec defines the list of tasks to be execute for a Build. From Camel K version 2, it would be more appropriate to think it as pipeline.

Field Description

tasks
[]Task

The sequence of tasks (pipeline) to be performed.

configuration
BuildConfiguration

The configuration that should be used to perform the Build. Deprecated: no longer in use in Camel K 2 - maintained for backward compatibility

toolImage
string

The container image to be used to run the build. Deprecated: no longer in use in Camel K 2 - maintained for backward compatibility

operatorNamespace
string

The namespace where to run the builder Pod (must be the same of the operator in charge of this Build reconciliation). Deprecated: no longer in use in Camel K 2 - maintained for backward compatibility

timeout
Kubernetes meta/v1.Duration

Timeout defines the Build maximum execution duration. The Build deadline is set to the Build start time plus the Timeout duration. If the Build deadline is exceeded, the Build context is canceled, and its phase set to BuildPhaseFailed.

maxRunningBuilds
int32

the maximum amount of parallel running builds started by this operator instance Deprecated: no longer in use in Camel K 2 - maintained for backward compatibility

BuildStatus

Appears on:

BuildStatus defines the observed state of Build.

Field Description

observedGeneration
int64

ObservedGeneration is the most recent generation observed for this Build.

phase
BuildPhase

describes the phase

image
string

the image name built

digest
string

the digest from image

rootImage
string

root image (the first image from which the incremental image has started)

baseImage
string

the base image used for this build

artifacts
[]Artifact

a list of artifacts contained in the build

error
string

the error description (if any)

failure
Failure

the reason of the failure (if any)

startedAt
Kubernetes meta/v1.Time

the time when it started

conditions
[]BuildCondition

a list of conditions occurred during the build

duration
string

how long it took for the build Change to Duration / ISO 8601 when CRD uses OpenAPI spec v3 https://github.com/OAI/OpenAPI-Specification/issues/845

BuildStrategy(string alias)

Appears on:

BuildStrategy specifies how the Build should be executed. It will trigger a Maven process (either as an Operator routine or Kubernetes Pod execution) that will take care of producing the expected Camel/Camel-Quarkus runtime.

BuildahTask

Appears on:

BuildahTask is used to configure Buildah.

Field Description

BaseTask
BaseTask

(Members of BaseTask are embedded into this type.)

PublishTask
PublishTask

(Members of PublishTask are embedded into this type.)

platform
string

The platform of build image

verbose
bool

log more information

executorImage
string

docker image to use

BuilderTask

Appears on:

BuilderTask is the generic task in charge of building the application image.

Field Description

BaseTask
BaseTask

(Members of BaseTask are embedded into this type.)

baseImage
string

the base image layer

runtime
RuntimeSpec

the configuration required for the runtime application

dependencies
[]string

the list of dependencies to use for this build

steps
[]string

the list of steps to execute (see pkg/builder/)

maven
MavenBuildSpec

the configuration required by Maven for the application build phase

buildDir
string

workspace directory to use

sources
[]SourceSpec

the sources to add at build time

CamelArtifact

Appears on:

CamelArtifact represent the configuration for a feature offered by Camel.

Field Description

CamelArtifactDependency
CamelArtifactDependency

(Members of CamelArtifactDependency are embedded into this type.)

Base Camel Artifact dependency

schemes
[]CamelScheme

accepted URI schemes

languages
[]string

accepted languages

dataformats
[]string

accepted data formats

dependencies
[]CamelArtifactDependency

required dependencies

javaTypes
[]string

the Java types used by the artifact feature (ie, component, data format, …​)

CamelArtifactDependency

Appears on:

CamelArtifactDependency represent a maven’s dependency.

Field Description

MavenArtifact
MavenArtifact

(Members of MavenArtifact are embedded into this type.)

the maven dependency

exclusions
[]CamelArtifactExclusion

provide a list of artifacts to exclude for this dependency

CamelArtifactExclusion

Appears on:

CamelArtifactExclusion represents an exclusion clause.

Field Description

groupId
string

Maven Group

artifactId
string

Maven Artifact

CamelCatalogCondition

Appears on:

CamelCatalogCondition describes the state of a resource at a certain point.

Field Description

type
CamelCatalogConditionType

Type of CamelCatalog condition.

status
Kubernetes core/v1.ConditionStatus

Status of the condition, one of True, False, Unknown.

lastUpdateTime
Kubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTime
Kubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

reason
string

The reason for the condition’s last transition.

message
string

A human-readable message indicating details about the transition.

CamelCatalogConditionType(string alias)

Appears on:

CamelCatalogConditionType --.

CamelCatalogPhase(string alias)

Appears on:

CamelCatalogPhase — .

CamelCatalogSpec

Appears on:

CamelCatalogSpec specify what features a Camel runtime provides.

Field Description

runtime
RuntimeSpec

the runtime targeted for the catalog

artifacts
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.CamelArtifact

artifacts required by this catalog

loaders
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.CamelLoader

loaders required by this catalog

CamelCatalogStatus

Appears on:

CamelCatalogStatus defines the observed state of CamelCatalog.

Field Description

observedGeneration
int64

ObservedGeneration is the most recent generation observed for this Catalog.

phase
CamelCatalogPhase

the actual phase

conditions
[]CamelCatalogCondition

a list of events happened for the CamelCatalog

image
string

the container image available for building an application with this catalog

CamelLoader

Appears on:

CamelLoader represents the configuration required to load a DSL.

Field Description

MavenArtifact
MavenArtifact

(Members of MavenArtifact are embedded into this type.)

the base Maven artifact required

languages
[]string

a list of DSLs supported

dependencies
[]MavenArtifact

a list of additional dependencies required beside the base one

metadata
map[string]string

the metadata of the loader

CamelScheme

Appears on:

CamelScheme represents the scheme used to identify a component in a URI (ie, timer in a timer:xyz endpoint URI).

Field Description

id
string

the ID (ie, timer in a timer:xyz URI)

passive
bool

is a passive scheme

http
bool

is a HTTP based scheme

consumer
CamelSchemeScope

required scope for consumer

producer
CamelSchemeScope

required scope for producers

CamelSchemeScope

Appears on:

CamelSchemeScope contains scoped information about a scheme.

Field Description

dependencies
[]CamelArtifactDependency

list of dependencies needed for this scope

Capability

Appears on:

Capability is a particular feature which requires a well known set of dependencies which are specified in the runtime catalog.

Field Description

dependencies
[]MavenArtifact

Configurable

Configurable --.

ConfigurationSpec

Appears on:

ConfigurationSpec represents a generic configuration specification.

Field Description

type
string

represents the type of configuration, ie: property, configmap, secret, …​

value
string

the value to assign to the configuration (syntax may vary depending on the Type)

Container

Appears on:

Container — .

Field Description

entrypoint
string

args
Args

DataSpec

Appears on:

DataSpec represents the way the source is materialized in the running Pod.

Field Description

name
string

the name of the specification

path
string

the path where the file is stored

content
string

the source code (plain text)

rawContent
[]byte

the source code (binary)

contentRef
string

the confimap reference holding the source content

contentKey
string

the confimap key holding the source content

contentType
string

the content type (tipically text or binary)

compression
bool

if the content is compressed (base64 encrypted)

DataTypeReference

Appears on:

DataTypeReference references to the specification of a data type by its scheme and format name.

Field Description

scheme
string

the data type component scheme

format
string

the data type format name

DataTypeSpec

Appears on:

DataTypeSpec represents the specification for a data type.

Field Description

scheme
string

the data type component scheme

format
string

the data type format name

description
string

optional description

mediaType
string

media type as expected for HTTP media types (ie, application/json)

dependencies
[]string

the list of Camel or Maven dependencies required by the data type

headers
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.HeaderSpec

one to many header specifications

schema
JSONSchemaProps

the expected schema for the data type

DataTypesSpec

Appears on:

DataTypesSpec represents the specification for a set of data types.

Field Description

default
string

the default data type for this Kamelet

types
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.DataTypeSpec

one to many data type specifications

headers
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.HeaderSpec

one to many header specifications

Endpoint

Appears on:

Endpoint represents a source/sink external entity (could be any Kubernetes resource or Camel URI).

Field Description

ref
Kubernetes core/v1.ObjectReference

Ref can be used to declare a Kubernetes resource as source/sink endpoint

uri
string

URI can be used to specify the (Camel) endpoint explicitly

properties
EndpointProperties

Properties are a key value representation of endpoint properties

dataTypes
map[github.com/apache/camel-k/v2/pkg/apis/camel/v1.TypeSlot]github.com/apache/camel-k/v2/pkg/apis/camel/v1.DataTypeReference

DataTypes defines the data type of the data produced/consumed by the endpoint and references a given data type specification.

EndpointProperties

Appears on:

EndpointProperties is a key/value struct represented as JSON raw to allow numeric/boolean values.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

EndpointType(string alias)

EndpointType represents the type (ie, source or sink).

ErrorHandler

ErrorHandler is a generic interface that represent any type of error handler specification.

ErrorHandlerLog

Appears on:

ErrorHandlerLog represent a default (log) error handler type.

Field Description

ErrorHandlerNone
ErrorHandlerNone

parameters
ErrorHandlerParameters

ErrorHandlerNone

Appears on:

ErrorHandlerNone --.

Field Description

ErrorHandlerParameters

Appears on:

ErrorHandlerParameters represent an unstructured object for error handler parameters.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

ErrorHandlerSink

ErrorHandlerSink represents a sink error handler type which behave like a dead letter channel.

Field Description

ErrorHandlerLog
ErrorHandlerLog

endpoint
Endpoint

ErrorHandlerSpec

Appears on:

ErrorHandlerSpec represents an unstructured object for an error handler.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

ErrorHandlerType(string alias)

ErrorHandlerType a type of error handler (ie, sink).

EventTypeSpec

Appears on:

EventTypeSpec represents a specification for an event type. Deprecated: In favor of using DataTypeSpec.

Field Description

mediaType
string

media type as expected for HTTP media types (ie, application/json)

schema
JSONSchemaProps

the expected schema for the event

ExternalDocumentation

Appears on:

ExternalDocumentation allows referencing an external resource for extended documentation.

Field Description

description
string

url
string

ExtraDirectories

Appears on:

ExtraDirectories — .

Field Description

paths>path
[]Path

permissions>permission
[]Permission

Failure

Appears on:

Failure represent a message specifying the reason and the time of an event failure.

Field Description

reason
string

a short text specifying the reason

time
Kubernetes meta/v1.Time

the time when the failure has happened

recovery
FailureRecovery

the recovery attempted for this failure

FailureRecovery

Appears on:

FailureRecovery defines the attempts to recover a failure.

Field Description

attempt
int

attempt number

attemptMax
int

maximum number of attempts

attemptTime
Kubernetes meta/v1.Time

(Optional)

time of the attempt execution

Filter

Appears on:

Filter — .

Field Description

glob
string

toLayer
string

Flow

Appears on:

Flow is an unstructured object representing a Camel Flow in YAML/JSON DSL.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

HeaderSpec

Appears on:

HeaderSpec represents the specification for a header used in the Kamelet.

Field Description

type
string

title
string

description
string

required
bool

default
string

HealthCheck

Field Description

status
HealthCheckStatus

checks
[]HealthCheckResponse

HealthCheckResponse

Appears on:

Field Description

name
string

status
HealthCheckStatus

data
RawMessage

HealthCheckStatus(string alias)

Appears on:

IntegrationCondition

Appears on:

IntegrationCondition describes the state of a resource at a certain point.

Field Description

type
IntegrationConditionType

Type of integration condition.

status
Kubernetes core/v1.ConditionStatus

Status of the condition, one of True, False, Unknown.

lastUpdateTime
Kubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTime
Kubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

firstTruthyTime
Kubernetes meta/v1.Time

First time the condition status transitioned to True.

reason
string

The reason for the condition’s last transition.

message
string

A human-readable message indicating details about the transition.

pods
[]PodCondition

Pods collect health and conditions information from the owned PODs

IntegrationConditionType(string alias)

Appears on:

IntegrationConditionType --.

IntegrationKitCondition

Appears on:

IntegrationKitCondition describes the state of a resource at a certain point.

Field Description

type
IntegrationKitConditionType

Type of integration condition.

status
Kubernetes core/v1.ConditionStatus

Status of the condition, one of True, False, Unknown.

lastUpdateTime
Kubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTime
Kubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

reason
string

The reason for the condition’s last transition.

message
string

A human-readable message indicating details about the transition.

IntegrationKitConditionType(string alias)

Appears on:

IntegrationKitConditionType --.

IntegrationKitPhase(string alias)

Appears on:

IntegrationKitPhase --.

IntegrationKitSpec

Appears on:

IntegrationKitSpec defines a container image and additional configurations required to kick off an Integration with certain features.

Field Description

image
string

the container image as identified in the container registry

dependencies
[]string

a list of Camel dependecies used by this kit

profile
TraitProfile

the profile which is expected by this kit

traits
IntegrationKitTraits

traits that the kit will execute

configuration
[]ConfigurationSpec

Deprecated: Use camel trait (camel.properties) to manage properties Use mount trait (mount.configs) to manage configs Use mount trait (mount.resources) to manage resources Use mount trait (mount.volumes) to manage volumes configuration used by the kit

repositories
[]string

Maven repositories that can be used by the kit

sources
[]SourceSpec

the sources to add at build time

IntegrationKitStatus

Appears on:

IntegrationKitStatus defines the observed state of IntegrationKit.

Field Description

observedGeneration
int64

ObservedGeneration is the most recent generation observed for this IntegrationKit.

phase
IntegrationKitPhase

phase of the kit

rootImage
string

root image used by the kit (the first image from which the incremental image has started, typically a JDK/JRE base image)

baseImage
string

base image used by the kit (could be another IntegrationKit)

image
string

actual image name of the kit

digest
string

actual image digest of the kit

artifacts
[]Artifact

list of artifacts used by the kit

failure
Failure

failure reason (if any)

runtimeVersion
string

the runtime version for which this kit was configured

runtimeProvider
RuntimeProvider

the runtime provider for which this kit was configured

platform
string

the platform for which this kit was configured

version
string

the Camel K operator version for which this kit was configured

conditions
[]IntegrationKitCondition

a list of conditions which happened for the events related the kit

IntegrationKitTraits

Appears on:

IntegrationKitTraits defines traits assigned to an IntegrationKit.

Field Description

builder
BuilderTrait

The builder trait is internally used to determine the best strategy to build and configure IntegrationKits.

camel
CamelTrait

The Camel trait sets up Camel configuration.

quarkus
QuarkusTrait

The Quarkus trait configures the Quarkus runtime. It’s enabled by default. NOTE: Compiling to a native executable, requires at least 4GiB of memory, so the Pod running the native build must have enough memory available.

registry
RegistryTrait

The Registry trait sets up Maven to use the Image registry as a Maven repository.

addons
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.AddonTrait

The collection of addon trait configurations

IntegrationPhase(string alias)

Appears on:

IntegrationPhase --.

IntegrationPlatformBuildPublishStrategy(string alias)

Appears on:

IntegrationPlatformBuildPublishStrategy defines the strategy used to package and publish an Integration base image.

IntegrationPlatformBuildSpec

Appears on:

IntegrationPlatformBuildSpec contains platform related build information. This configuration can be used to tune the behavior of the Integration/IntegrationKit image builds. You can define the build strategy, the image registry to use and the Maven configuration to adopt.

Field Description

buildConfiguration
BuildConfiguration

the configuration required to build an Integration container image

publishStrategy
IntegrationPlatformBuildPublishStrategy

the strategy to adopt for publishing an Integration container image

runtimeVersion
string

the Camel K Runtime dependency version

runtimeProvider
RuntimeProvider

the runtime used. Likely Camel Quarkus (we used to have main runtime which has been discontinued since version 1.5)

baseImage
string

a base image that can be used as base layer for all images. It can be useful if you want to provide some custom base image with further utility softwares

registry
RegistrySpec

the image registry used to push/pull Integration images

buildCatalogToolTimeout
Kubernetes meta/v1.Duration

the timeout (in seconds) to use when creating the build tools container image Deprecated: no longer in use

timeout
Kubernetes meta/v1.Duration

how much time to wait before time out the pipeline process

maven
MavenSpec

Maven configuration used to build the Camel/Camel-Quarkus applications

PublishStrategyOptions
map[string]string

Generic options that can used by any publish strategy

maxRunningBuilds
int32

the maximum amount of parallel running pipelines started by this operator instance

IntegrationPlatformCluster(string alias)

Appears on:

IntegrationPlatformCluster is the kind of orchestration cluster the platform is installed into.

IntegrationPlatformCondition

Appears on:

IntegrationPlatformCondition describes the state of a resource at a certain point.

Field Description

type
IntegrationPlatformConditionType

Type of integration condition.

status
Kubernetes core/v1.ConditionStatus

Status of the condition, one of True, False, Unknown.

lastUpdateTime
Kubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTime
Kubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

reason
string

The reason for the condition’s last transition.

message
string

A human-readable message indicating details about the transition.

IntegrationPlatformConditionType(string alias)

Appears on:

IntegrationPlatformConditionType defines the type of condition.

IntegrationPlatformKameletRepositorySpec

Appears on:

IntegrationPlatformKameletRepositorySpec defines the location of the Kamelet catalog to use.

Field Description

uri
string

the remote repository in the format github:ORG/REPO/PATH_TO_KAMELETS_FOLDER

IntegrationPlatformKameletSpec

Appears on:

IntegrationPlatformKameletSpec define the behavior for all the Kamelets controller by the IntegrationPlatform.

Field Description

repositories
[]IntegrationPlatformKameletRepositorySpec

remote repository used to retrieve Kamelet catalog

IntegrationPlatformPhase(string alias)

Appears on:

IntegrationPlatformPhase is the phase of an IntegrationPlatform.

IntegrationPlatformSpec

Appears on:

IntegrationPlatformSpec defines the desired state of IntegrationPlatform.

Field Description

cluster
IntegrationPlatformCluster

what kind of cluster you’re running (ie, plain Kubernetes or OpenShift)

profile
TraitProfile

the profile you wish to use. It will apply certain traits which are required by the specific profile chosen. It usually relates the Cluster with the optional definition of special profiles (ie, Knative)

build
IntegrationPlatformBuildSpec

specify how to build the Integration/IntegrationKits

traits
Traits

list of traits to be executed for all the Integration/IntegrationKits built from this IntegrationPlatform

configuration
[]ConfigurationSpec

Deprecated: Use camel trait (camel.properties) to manage properties Use mount trait (mount.configs) to manage configs Use mount trait (mount.resources) to manage resources Use mount trait (mount.volumes) to manage volumes list of configuration properties to be attached to all the Integration/IntegrationKits built from this IntegrationPlatform

kamelet
IntegrationPlatformKameletSpec

configuration to be executed to all Kamelets controlled by this IntegrationPlatform

IntegrationPlatformStatus

Appears on:

IntegrationPlatformStatus defines the observed state of IntegrationPlatform.

Field Description

IntegrationPlatformSpec
IntegrationPlatformSpec

(Members of IntegrationPlatformSpec are embedded into this type.)

observedGeneration
int64

ObservedGeneration is the most recent generation observed for this IntegrationPlatform.

phase
IntegrationPlatformPhase

defines in what phase the IntegrationPlatform is found

conditions
[]IntegrationPlatformCondition

which are the conditions met (particularly useful when in ERROR phase)

version
string

the Camel K operator version controlling this IntegrationPlatform

info
map[string]string

generic information related to the build of Camel K operator software

IntegrationSpec

Appears on:

IntegrationSpec specifies the configuration of an Integration. The Integration will be watched by the operator which will be in charge to run the related application, according to the configuration specified.

Field Description

replicas
int32

the number of Pods needed for the running Integration

sources
[]SourceSpec

the sources which contain the Camel routes to run

flows
[]Flow

a source in YAML DSL language which contain the routes to run

integrationKit
Kubernetes core/v1.ObjectReference

the reference of the IntegrationKit which is used for this Integration

dependencies
[]string

the list of Camel or Maven dependencies required by the Integration

profile
TraitProfile

the profile needed to run this Integration

traits
Traits

the traits needed to run this Integration

template
PodSpecTemplate

Pod template customization

configuration
[]ConfigurationSpec

Deprecated: Use camel trait (camel.properties) to manage properties Use mount trait (mount.configs) to manage configs Use mount trait (mount.resources) to manage resources Use mount trait (mount.volumes) to manage volumes

repositories
[]string

additional Maven repositories to be used

serviceAccountName
string

custom SA to use for the Integration

IntegrationStatus

Appears on:

IntegrationStatus defines the observed state of Integration.

Field Description

observedGeneration
int64

ObservedGeneration is the most recent generation observed for this Integration.

phase
IntegrationPhase

the actual phase

digest
string

the digest calculated for this Integration

image
string

the container image used

dependencies
[]string

a list of dependencies needed by the application

profile
TraitProfile

the profile needed to run this Integration

integrationKit
Kubernetes core/v1.ObjectReference

the reference of the IntegrationKit which is used for this Integration

platform
string

The IntegrationPlatform watching this Integration

generatedSources
[]SourceSpec

a list of sources generated for this Integration

runtimeVersion
string

the runtime version targeted for this Integration

runtimeProvider
RuntimeProvider

the runtime provider targeted for this Integration

configuration
[]ConfigurationSpec

Deprecated: a list of configuration specification

conditions
[]IntegrationCondition

a list of events happened for the Integration

version
string

the operator version

replicas
int32

the number of replicas

selector
string

label selector

capabilities
[]string

features offered by the Integration

lastInitTimestamp
Kubernetes meta/v1.Time

the timestamp representing the last time when this integration was initialized.

JSON

Appears on:

JSON represents any valid JSON value. These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

JSONSchemaProp

Appears on:

Field Description

id
string

deprecated
bool

description
string

type
string

format
string

format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:

  • bsonobjectid: a bson object ID, i.e. a 24 characters hex string

  • uri: an URI as parsed by Golang net/url.ParseRequestURI

  • email: an email address as parsed by Golang net/mail.ParseAddress

  • hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034].

  • ipv4: an IPv4 IP as parsed by Golang net.ParseIP

  • ipv6: an IPv6 IP as parsed by Golang net.ParseIP

  • cidr: a CIDR as parsed by Golang net.ParseCIDR

  • mac: a MAC address as parsed by Golang net.ParseMAC

  • uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$

  • uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$

  • uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$

  • uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$

  • isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041"

  • isbn10: an ISBN10 number string like "0321751043"

  • isbn13: an ISBN13 number string like "978-0321751041"

  • creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in

  • ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$

  • hexcolor: an hexadecimal color code like "#FFFFFF" following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

  • rgbcolor: an RGB color code like rgb like "rgb(255,255,255)"

  • byte: base64 encoded binary data

  • password: any kind of string

  • date: a date string like "2006-01-02" as defined by full-date in RFC3339

  • duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format

  • datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.

title
string

default
JSON

default is a default value for undefined object fields.

maximum
encoding/json.Number

exclusiveMaximum
bool

minimum
encoding/json.Number

exclusiveMinimum
bool

maxLength
int64

minLength
int64

pattern
string

maxItems
int64

minItems
int64

uniqueItems
bool

maxProperties
int64

minProperties
int64

multipleOf
encoding/json.Number

enum
[]JSON

example
JSON

nullable
bool

x-descriptors
[]string

XDescriptors is a list of extended properties that trigger a custom behavior in external systems

JSONSchemaProps

Appears on:

JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).

Field Description

id
string

description
string

title
string

properties
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.JSONSchemaProp

required
[]string

example
JSON

externalDocs
ExternalDocumentation

$schema
JSONSchemaURL

type
string

JSONSchemaURL(string alias)

Appears on:

JSONSchemaURL represents a schema url.

JibTask

Appears on:

JibTask is used to configure Jib.

Field Description

BaseTask
BaseTask

(Members of BaseTask are embedded into this type.)

PublishTask
PublishTask

(Members of PublishTask are embedded into this type.)

KameletCondition

Appears on:

KameletCondition describes the state of a resource at a certain point.

Field Description

type
KameletConditionType

Type of kamelet condition.

status
Kubernetes core/v1.ConditionStatus

Status of the condition, one of True, False, Unknown.

lastUpdateTime
Kubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTime
Kubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

reason
string

The reason for the condition’s last transition.

message
string

A human-readable message indicating details about the transition.

KameletConditionType(string alias)

Appears on:

KameletConditionType --.

KameletPhase(string alias)

Appears on:

KameletPhase --.

KameletProperty

Appears on:

KameletProperty specify the behavior of a property in a Kamelet.

Field Description

name
string

the name of the property

default
string

the default value of the property (if any)

KameletSpec

Appears on:

KameletSpec specifies the configuration required to execute a Kamelet.

Field Description

definition
JSONSchemaProps

defines the formal configuration of the Kamelet

sources
[]SourceSpec

sources in any Camel DSL supported

template
Template

the main source in YAML DSL

types
map[github.com/apache/camel-k/v2/pkg/apis/camel/v1.TypeSlot]github.com/apache/camel-k/v2/pkg/apis/camel/v1.EventTypeSpec

data specification types for the events consumed/produced by the Kamelet Deprecated: In favor of using DataTypes

dataTypes
map[github.com/apache/camel-k/v2/pkg/apis/camel/v1.TypeSlot]github.com/apache/camel-k/v2/pkg/apis/camel/v1.DataTypesSpec

data specification types for the events consumed/produced by the Kamelet

dependencies
[]string

Camel dependencies needed by the Kamelet

KameletStatus

Appears on:

KameletStatus defines the observed state of Kamelet.

Field Description

observedGeneration
int64

ObservedGeneration is the most recent generation observed for this Kamelet.

phase
KameletPhase

Phase — 

conditions
[]KameletCondition

Conditions — 

properties
[]KameletProperty

Properties — 

KanikoTask

Appears on:

KanikoTask is used to configure Kaniko.

Field Description

BaseTask
BaseTask

(Members of BaseTask are embedded into this type.)

PublishTask
PublishTask

(Members of PublishTask are embedded into this type.)

verbose
bool

log more information

cache
KanikoTaskCache

use a cache

executorImage
string

docker image to use

KanikoTaskCache

Appears on:

KanikoTaskCache is used to configure Kaniko cache.

Field Description

enabled
bool

true if a cache is enabled

persistentVolumeClaim
string

the PVC used to store the cache

Language(string alias)

Appears on:

Language represents a supported language (Camel DSL).

MavenArtifact

Appears on:

MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact.

Field Description

groupId
string

Maven Group

artifactId
string

Maven Artifact

version
string

Maven Version

MavenBuildSpec

Appears on:

MavenBuildSpec defines the Maven configuration plus additional repositories to use.

Field Description

MavenSpec
MavenSpec

(Members of MavenSpec are embedded into this type.)

base Maven specification

repositories
[]Repository

additional repositories

servers
[]Server

Servers (auth)

MavenSpec

Appears on:

MavenSpec --.

Field Description

localRepository
string

The path of the local Maven repository.

properties
map[string]string

The Maven properties.

profiles
[]ValueSource

A reference to the ConfigMap or Secret key that contains the Maven profile.

settings
ValueSource

A reference to the ConfigMap or Secret key that contains the Maven settings.

settingsSecurity
ValueSource

A reference to the ConfigMap or Secret key that contains the security of the Maven settings.

caSecrets
[]Kubernetes core/v1.SecretKeySelector

The Secrets name and key, containing the CA certificate(s) used to connect to remote Maven repositories. It can contain X.509 certificates, and PKCS#7 formatted certificate chains. A JKS formatted keystore is automatically created to store the CA certificate(s), and configured to be used as a trusted certificate(s) by the Maven commands. Note that the root CA certificates are also imported into the created keystore.

extension
[]MavenArtifact

cliOptions
[]string

The CLI options that are appended to the list of arguments for Maven commands, e.g., -V,--no-transfer-progress,-Dstyle.color=never. See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html.

Path

Appears on:

Path — .

Field Description

from
string

into
string

excludes>exclude
[]string

Permission

Appears on:

Permission — .

Field Description

file
string

mode
string

PipeCondition

Appears on:

PipeCondition describes the state of a resource at a certain point.

Field Description

type
PipeConditionType

Type of pipe condition.

status
Kubernetes core/v1.ConditionStatus

Status of the condition, one of True, False, Unknown.

lastUpdateTime
Kubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTime
Kubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

reason
string

The reason for the condition’s last transition.

message
string

A human readable message indicating details about the transition.

pods
[]PodCondition

Pods collect health and conditions information from the owned PODs

PipeConditionType(string alias)

Appears on:

PipeConditionType --.

PipePhase(string alias)

Appears on:

PipePhase --.

PipeSpec

Appears on:

PipeSpec defines the binding between a source and a sink. It can include custom parameters and additional intermediate steps and error handling.

Field Description

integration
IntegrationSpec

Integration is an optional integration used to specify custom parameters Deprecated don’t use this. Use trait annotations if you need to change any cluster configuration.

source
Endpoint

Source is the starting point of the integration defined by this Pipe

sink
Endpoint

Sink is the destination of the integration defined by this Pipe

errorHandler
ErrorHandlerSpec

ErrorHandler is an optional handler called upon an error occurring in the integration

steps
[]Endpoint

Steps contains an optional list of intermediate steps that are executed between the Source and the Sink

replicas
int32

Replicas is the number of desired replicas for the Pipe

serviceAccountName
string

Custom SA to use for the Pipe

PipeStatus

Appears on:

PipeStatus specify the status of a Pipe.

Field Description

observedGeneration
int64

ObservedGeneration is the most recent generation observed for this Pipe.

phase
PipePhase

Phase — 

conditions
[]PipeCondition

Conditions — 

replicas
int32

Replicas is the number of actual replicas of the pipe

selector
string

Selector allows to identify pods belonging to the pipe

PluginConfiguration

PluginConfiguration see Maven settings.

Field Description

container
Container

allowInsecureRegistries
string

extraDirectories
ExtraDirectories

pluginExtensions
PluginExtensions

PluginExtension

Appears on:

PluginExtension — .

Field Description

implementation
string

configuration
PluginExtensionConfiguration

PluginExtensionConfiguration

Appears on:

PluginExtensionConfiguration — .

Field Description

filters>Filter
[]Filter

_implementation
string

PluginExtensions

Appears on:

PluginExtensions — .

Field Description

pluginExtension
PluginExtension

PluginProperties(map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.StringOrProperties alias)

PluginProperties — .

PodCondition

Appears on:

Field Description

name
string

condition
Kubernetes core/v1.PodCondition

health
[]HealthCheckResponse

PodSpec

Appears on:

PodSpec defines a group of Kubernetes resources.

Field Description

volumes
[]Kubernetes core/v1.Volume

Volumes

initContainers
[]Kubernetes core/v1.Container

InitContainers

containers
[]Kubernetes core/v1.Container

Containers

ephemeralContainers
[]Kubernetes core/v1.EphemeralContainer

EphemeralContainers

restartPolicy
Kubernetes core/v1.RestartPolicy

RestartPolicy

terminationGracePeriodSeconds
int64

TerminationGracePeriodSeconds

activeDeadlineSeconds
int64

ActiveDeadlineSeconds

dnsPolicy
Kubernetes core/v1.DNSPolicy

DNSPolicy

nodeSelector
map[string]string

NodeSelector

topologySpreadConstraints
[]Kubernetes core/v1.TopologySpreadConstraint

TopologySpreadConstraints

securityContext
Kubernetes core/v1.PodSecurityContext

PodSecurityContext

PodSpecTemplate

Appears on:

PodSpecTemplate represent a template used to deploy an Integration Pod.

Field Description

spec
PodSpec

the specification

Properties(map[string]string alias)

Appears on:

Properties — .

PublishTask

Appears on:

PublishTask image publish configuration.

Field Description

contextDir
string

can be useful to share info with other tasks

baseImage
string

base image layer

image
string

final image name

registry
RegistrySpec

where to publish the final image

RawMessage([]byte alias)

Appears on:

RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding.

RegistrySpec

Appears on:

RegistrySpec provides the configuration for the container registry.

Field Description

insecure
bool

if the container registry is insecure (ie, http only)

address
string

the URI to access

secret
string

the secret where credentials are stored

ca
string

the configmap which stores the Certificate Authority

organization
string

the registry organization

Repository

Appears on:

Repository defines a Maven repository.

Field Description

id
string

identifies the repository

name
string

name of the repository

url
string

location of the repository

snapshots
RepositoryPolicy

can use snapshot

releases
RepositoryPolicy

can use stable releases

RepositoryPolicy

Appears on:

RepositoryPolicy defines the policy associated to a Maven repository.

Field Description

enabled
bool

is the policy activated or not

updatePolicy
string

This element specifies how often updates should attempt to occur. Maven will compare the local POM’s timestamp (stored in a repository’s maven-metadata file) to the remote. The choices are: always, daily (default), interval:X (where X is an integer in minutes) or never

checksumPolicy
string

When Maven deploys files to the repository, it also deploys corresponding checksum files. Your options are to ignore, fail, or warn on missing or incorrect checksums.

ResourceCondition

ResourceCondition is a common type for all conditions.

RuntimeProvider(string alias)

Appears on:

RuntimeProvider is the provider chosen for the runtime.

RuntimeSpec

Appears on:

RuntimeSpec represents the configuration for the Java runtime in charge to execute the Camel application.

Field Description

version
string

Camel K Runtime version

provider
RuntimeProvider

Camel main application provider, ie, Camel Quarkus

applicationClass
string

application entry point (main) to be executed

dependencies
[]MavenArtifact

list of dependencies needed to run the application

metadata
map[string]string

set of metadata

capabilities
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.Capability

features offered by this runtime

S2iTask

Appears on:

S2iTask is used to configure S2I.

Field Description

BaseTask
BaseTask

(Members of BaseTask are embedded into this type.)

contextDir
string

can be useful to share info with other tasks

tag
string

used by the ImageStream

Server

Appears on:

Server see Maven settings.

Field Description

-
encoding/xml.Name

id
string

username
string

password
string

configuration
Properties

SourceSpec

Appears on:

SourceSpec defines the configuration for one or more routes to be executed in a certain Camel DSL language.

Field Description

DataSpec
DataSpec

(Members of DataSpec are embedded into this type.)

contains configuration related to the source code

language
Language

specify which is the language (Camel DSL) used to interpret this source code

loader
string

Loader is an optional id of the org.apache.camel.k.RoutesLoader that will interpret this source at runtime

interceptors
[]string

Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader uses to pre/post process sources

type
SourceType

Type defines the kind of source described by this object

property-names
[]string

List of property names defined in the source (e.g. if type is "template")

from-kamelet
bool

True if the spec is generated from a Kamelet

SourceType(string alias)

Appears on:

SourceType represents an available source type.

SpectrumTask

Appears on:

SpectrumTask is used to configure Spectrum.

Field Description

BaseTask
BaseTask

(Members of BaseTask are embedded into this type.)

PublishTask
PublishTask

(Members of PublishTask are embedded into this type.)

StringOrProperties

StringOrProperties — .

Field Description

-
string

properties
Properties

Task

Appears on:

Task represents the abstract task. Only one of the task should be configured to represent the specific task chosen.

Field Description

builder
BuilderTask

a BuilderTask, used to generate and build the project

custom
UserTask

User customizable task execution. These are executed after the build and before the package task.

package
BuilderTask

Application pre publishing a PackageTask, used to package the project

buildah
BuildahTask

a BuildahTask, for Buildah strategy Deprecated: use spectrum, jib or s2i instead

kaniko
KanikoTask

a KanikoTask, for Kaniko strategy Deprecated: use spectrum, jib or s2i instead

spectrum
SpectrumTask

a SpectrumTask, for Spectrum strategy

s2i
S2iTask

a S2iTask, for S2I strategy

jib
JibTask

a JibTask, for Jib strategy

Template

Appears on:

Template is an unstructured object representing a Kamelet template in YAML/JSON DSL.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

an unstructured raw message

TraitConfiguration

Appears on:

TraitConfiguration represents the expected configuration for a given trait parameter Deprecated: superceded by each Trait type, left for backward compatibility.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

generic raw message, typically a map containing the keys (trait parameters) and the values (either single text or array)

TraitProfile(string alias)

Appears on:

TraitProfile represents lists of traits that are enabled for the specific installation/integration.

TraitSpec

Appears on:

A TraitSpec contains the configuration of a trait Deprecated: superceded by each Trait type, left for backward compatibility.

Field Description

configuration
TraitConfiguration

TraitConfiguration parameters configuration

Traits

Appears on:

Traits represents the collection of trait configurations.

Field Description

affinity
AffinityTrait

The configuration of Affinity trait

builder
BuilderTrait

The configuration of Builder trait

camel
CamelTrait

The configuration of Camel trait

container
ContainerTrait

The configuration of Container trait

cron
CronTrait

The configuration of Cron trait

dependencies
DependenciesTrait

The configuration of Dependencies trait

deployer
DeployerTrait

The configuration of Deployer trait

deployment
DeploymentTrait

The configuration of Deployment trait

environment
EnvironmentTrait

The configuration of Environment trait

error-handler
ErrorHandlerTrait

The configuration of Error Handler trait

gc
GCTrait

The configuration of GC trait

health
HealthTrait

The configuration of Health trait

ingress
IngressTrait

The configuration of Ingress trait

istio
IstioTrait

The configuration of Istio trait

jolokia
JolokiaTrait

The configuration of Jolokia trait

jvm
JVMTrait

The configuration of JVM trait

kamelets
KameletsTrait

The configuration of Kamelets trait

knative
KnativeTrait

The configuration of Knative trait

knative-service
KnativeServiceTrait

The configuration of Knative Service trait

logging
LoggingTrait

The configuration of Logging trait

mount
MountTrait

The configuration of Mount trait

openapi
OpenAPITrait

The configuration of OpenAPI trait

owner
OwnerTrait

The configuration of Owner trait

pdb
PDBTrait

The configuration of PDB trait

platform
PlatformTrait

The configuration of Platform trait

pod
PodTrait

The configuration of Pod trait

prometheus
PrometheusTrait

The configuration of Prometheus trait

pull-secret
PullSecretTrait

The configuration of Pull Secret trait

quarkus
QuarkusTrait

The configuration of Quarkus trait

registry
RegistryTrait

The configuration of Registry trait

route
RouteTrait

The configuration of Route trait

service
ServiceTrait

The configuration of Service trait

service-binding
ServiceBindingTrait

The configuration of Service Binding trait

toleration
TolerationTrait

The configuration of Toleration trait

addons
map[string]github.com/apache/camel-k/v2/pkg/apis/camel/v1.AddonTrait

The extension point with addon traits

keda
TraitSpec

Deprecated: for backward compatibility.

master
TraitSpec

Deprecated: for backward compatibility.

strimzi
TraitSpec

Deprecated: for backward compatibility.

3scale
TraitSpec

Deprecated: for backward compatibility.

tracing
TraitSpec

Deprecated: for backward compatibility.

TypeSlot(string alias)

TypeSlot represent a kind of data (ie, input, output, …​).

UserTask

Appears on:

UserTask is used to execute any generic custom operation.

Field Description

BaseTask
BaseTask

(Members of BaseTask are embedded into this type.)

image
string

the container image to use

command
string

the command to execute Deprecated: use ContainerCommands

commands
[]string

the command to execute

ValueSource

Appears on:

ValueSource --.

Field Description

configMapKeyRef
Kubernetes core/v1.ConfigMapKeySelector

Selects a key of a ConfigMap.

secretKeyRef
Kubernetes core/v1.SecretKeySelector

Selects a key of a secret.

AffinityTrait

Appears on:

Allows constraining which nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node, or with inter-pod affinity and anti-affinity, based on labels on pods that are already running on the nodes.

It’s disabled by default.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

podAffinity
bool

Always co-locates multiple replicas of the integration in the same node (default false).

podAntiAffinity
bool

Never co-locates multiple replicas of the integration in the same node (default false).

nodeAffinityLabels
[]string

Defines a set of nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node.

podAffinityLabels
[]string

Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the integration pod(s) should be co-located with.

podAntiAffinityLabels
[]string

Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the integration pod(s) should not be co-located with.

BuilderTrait

Appears on:

The builder trait is internally used to determine the best strategy to build and configure IntegrationKits.

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

verbose
bool

Enable verbose logging on build components that support it (e.g. Kaniko build pod).

properties
[]string

A list of properties to be provided to the build task

strategy
string

The strategy to use, either pod or routine (default routine)

baseImage
string

Specify a base image

incrementalImageBuild
bool

Use the incremental image build option, to reuse existing containers (default true)

orderStrategy
string

The build order strategy to use, either dependencies, fifo or sequential (default sequential)

requestCPU
string

When using pod strategy, the minimum amount of CPU required by the pod builder. Deprecated: use TasksRequestCPU instead with task name builder.

requestMemory
string

When using pod strategy, the minimum amount of memory required by the pod builder. Deprecated: use TasksRequestCPU instead with task name builder.

limitCPU
string

When using pod strategy, the maximum amount of CPU required by the pod builder. Deprecated: use TasksRequestCPU instead with task name builder.

limitMemory
string

When using pod strategy, the maximum amount of memory required by the pod builder. Deprecated: use TasksRequestCPU instead with task name builder.

mavenProfiles
[]string

A list of references pointing to configmaps/secrets that contains a maven profile. The content of the maven profile is expected to be a text containing a valid maven profile starting with <profile> and ending with </profile> that will be integrated as an inline profile in the POM. Syntax: [configmap|secret]:name[/key], where name represents the resource name, key optionally represents the resource key to be filtered (default key value = profile.xml).

tasks
[]string

A list of tasks to be executed (available only when using pod strategy) with format <name>;<container-image>;<container-command>.

tasksRequestCPU
[]string

A list of request cpu configuration for the specific task with format <task-name>:<request-cpu-conf>.

tasksRequestMemory
[]string

A list of request memory configuration for the specific task with format <task-name>:<request-memory-conf>.

tasksLimitCPU
[]string

A list of limit cpu configuration for the specific task with format <task-name>:<limit-cpu-conf>.

tasksLimitMemory
[]string

A list of limit memory configuration for the specific task with format <task-name>:<limit-memory-conf>.

nodeSelector
map[string]string

Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node.

CamelTrait

Appears on:

The Camel trait can be used to configure versions of Apache Camel K runtime and related libraries, it cannot be disabled.

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

runtimeVersion
string

The camel-k-runtime version to use for the integration. It overrides the default version set in the Integration Platform.

properties
[]string

A list of properties to be provided to the Integration runtime

Configuration

Appears on:

Configuration defines the trait structure Deprecated: for backward compatibility.

Field Description

RawMessage
RawMessage

(Members of RawMessage are embedded into this type.)

ContainerTrait

Appears on:

The Container trait can be used to configure properties of the container where the integration will run.

It also provides configuration for Services associated to the container.

nolint: tagliatelle

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

auto
bool

To automatically enable the trait

requestCPU
string

The minimum amount of CPU required.

requestMemory
string

The minimum amount of memory required.

limitCPU
string

The maximum amount of CPU required.

limitMemory
string

The maximum amount of memory required.

expose
bool

Can be used to enable/disable exposure via kubernetes Service.

port
int

To configure a different port exposed by the container (default 8080).

portName
string

To configure a different port name for the port exposed by the container. It defaults to http only when the expose parameter is true.

servicePort
int

To configure under which service port the container port is to be exposed (default 80).

servicePortName
string

To configure under which service port name the container port is to be exposed (default http).

name
string

The main container name. It’s named integration by default.

image
string

The main container image

imagePullPolicy
Kubernetes core/v1.PullPolicy

The pull policy: Always|Never|IfNotPresent

CronTrait

Appears on:

The Cron trait can be used to customize the behaviour of periodic timer/cron based integrations.

While normally an integration requires a pod to be always up and running, some periodic tasks, such as batch jobs, require to be activated at specific hours of the day or with a periodic delay of minutes. For such tasks, the cron trait can materialize the integration as a Kubernetes CronJob instead of a standard deployment, in order to save resources when the integration does not need to be executed.

Integrations that start from the following components are evaluated by the cron trait: timer, cron, quartz.

In case of native build-mode defined in quarkus trait, the component can’t be customized.

The rules for using a Kubernetes CronJob are the following:

  • timer: when period is set in milliseconds with no remaining seconds, for example 120000. If there is any second left as in 121000 (120s and 1s) or the presence of any of these parameters (delay, repeatCount, time) then a CronJob won’t be created, but a standard deployment.

  • cron, quartz: when the cron expression does not contain seconds (or the "seconds" part is set to 0). E.g.

    `cron:tab?schedule=0/2$\{plus}*\{plus}*\{plus}*\{plus}?` or `quartz:trigger?cron=0\{plus}0/2\{plus}*\{plus}*\{plus}*\{plus}?`.
Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

schedule
string

The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for this mechanism to work correctly.

components
string

A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes. A specific customizer is activated for each specified component. E.g. for the timer component, the cron-timer customizer is activated (it’s present in the org.apache.camel.k:camel-k-cron library).

Supported components are currently: cron, timer and quartz.

fallback
bool

Use the default Camel implementation of the cron endpoint (quartz) instead of trying to materialize the integration as Kubernetes CronJob.

concurrencyPolicy
string

Specifies how to treat concurrent executions of a Job. Valid values are: - "Allow": allows CronJobs to run concurrently; - "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn’t finished yet; - "Replace": cancels currently running job and replaces it with a new one

auto
bool

Automatically deploy the integration as CronJob when all routes are either starting from a periodic consumer (only cron, timer and quartz are supported) or a passive consumer (e.g. direct is a passive consumer).

It’s required that all periodic consumers have the same period, and it can be expressed as cron schedule (e.g. 1m can be expressed as 0/1 * * * *, while 35m or 50s cannot).

startingDeadlineSeconds
int64

Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.

activeDeadlineSeconds
int64

Specifies the duration in seconds, relative to the start time, that the job may be continuously active before it is considered to be failed. It defaults to 60s.

backoffLimit
int32

Specifies the number of retries before marking the job failed. It defaults to 2.

DependenciesTrait

Appears on:

The Dependencies trait is internally used to automatically add runtime dependencies based on the integration that the user wants to run.

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

DeployerTrait

Appears on:

The deployer trait is responsible for deploying the resources owned by the integration, and can be used to explicitly select the underlying controller that will manage the integration pods.

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

kind
string

Allows to explicitly select the desired deployment kind between deployment, cron-job or knative-service when creating the resources for running the integration.

useSSA
bool

Use server-side apply to update the owned resources (default true). Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters.

DeploymentTrait

Appears on:

The Deployment trait is responsible for generating the Kubernetes deployment that will make sure the integration will run in the cluster.

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

progressDeadlineSeconds
int32

The maximum time in seconds for the deployment to make progress before it is considered to be failed. It defaults to 60s.

strategy
Kubernetes apps/v1.DeploymentStrategyType

The deployment strategy to use to replace existing pods with new ones.

rollingUpdateMaxUnavailable
int

The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%.

rollingUpdateMaxSurge
int

The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%.

DiscoveryCacheType(string alias)

Appears on:

EnvironmentTrait

Appears on:

The environment trait is used internally to inject standard environment variables in the integration container, such as NAMESPACE, POD_NAME and others.

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

containerMeta
bool

Enables injection of NAMESPACE and POD_NAME environment variables (default true)

httpProxy
bool

Propagates the HTTP_PROXY, HTTPS_PROXY and NO_PROXY environment variables (default true)

vars
[]string

A list of environment variables to be added to the integration container. The syntax is KEY=VALUE, e.g., MY_VAR="my value". These take precedence over the previously defined environment variables.

ErrorHandlerTrait

Appears on:

The error-handler is a platform trait used to inject Error Handler source into the integration runtime.

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

ref
string

The error handler ref name provided or found in application properties

GCTrait

Appears on:

The GC Trait garbage-collects all resources that are no longer necessary upon integration updates.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

discoveryCache
DiscoveryCacheType

Discovery client cache to be used, either disabled, disk or memory (default memory). Deprecated: to be removed from trait configuration.

HealthTrait

Appears on:

The health trait is responsible for configuring the health probes on the integration container.

It’s disabled by default.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

livenessProbeEnabled
bool

Configures the liveness probe for the integration container (default false).

livenessScheme
string

Scheme to use when connecting to the liveness probe (default HTTP).

livenessInitialDelay
int32

Number of seconds after the container has started before the liveness probe is initiated.

livenessTimeout
int32

Number of seconds after which the liveness probe times out.

livenessPeriod
int32

How often to perform the liveness probe.

livenessSuccessThreshold
int32

Minimum consecutive successes for the liveness probe to be considered successful after having failed.

livenessFailureThreshold
int32

Minimum consecutive failures for the liveness probe to be considered failed after having succeeded.

readinessProbeEnabled
bool

Configures the readiness probe for the integration container (default true).

readinessScheme
string

Scheme to use when connecting to the readiness probe (default HTTP).

readinessInitialDelay
int32

Number of seconds after the container has started before the readiness probe is initiated.

readinessTimeout
int32

Number of seconds after which the readiness probe times out.

readinessPeriod
int32

How often to perform the readiness probe.

readinessSuccessThreshold
int32

Minimum consecutive successes for the readiness probe to be considered successful after having failed.

readinessFailureThreshold
int32

Minimum consecutive failures for the readiness probe to be considered failed after having succeeded.

startupProbeEnabled
bool

Configures the startup probe for the integration container (default false).

startupScheme
string

Scheme to use when connecting to the startup probe (default HTTP).

startupInitialDelay
int32

Number of seconds after the container has started before the startup probe is initiated.

startupTimeout
int32

Number of seconds after which the startup probe times out.

startupPeriod
int32

How often to perform the startup probe.

startupSuccessThreshold
int32

Minimum consecutive successes for the startup probe to be considered successful after having failed.

startupFailureThreshold
int32

Minimum consecutive failures for the startup probe to be considered failed after having succeeded.

IngressTrait

Appears on:

The Ingress trait can be used to expose the service associated with the integration to the outside world with a Kubernetes Ingress.

It’s enabled by default whenever a Service is added to the integration (through the service trait).

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

annotations
map[string]string

The annotations added to the ingress. This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md

host
string

To configure the host exposed by the ingress.

path
string

To configure the path exposed by the ingress (default /).

pathType
Kubernetes networking/v1.PathType

To configure the path type exposed by the ingress. One of Exact, Prefix, ImplementationSpecific (default to Prefix).

auto
bool

To automatically add an ingress whenever the integration uses an HTTP endpoint consumer.

IstioTrait

Appears on:

The Istio trait allows configuring properties related to the Istio service mesh, such as sidecar injection and outbound IP ranges.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

allow
string

Configures a (comma-separated) list of CIDR subnets that should not be intercepted by the Istio proxy (10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 by default).

inject
bool

Forces the value for labels sidecar.istio.io/inject. By default the label is set to true on deployment and not set on Knative Service.

JVMTrait

Appears on:

The JVM trait is used to configure the JVM that runs the Integration. This trait can be configured only for Integration and related IntegrationKits (bound to a container image) built by Camel K operator. If the system detects the usage of a different container image (ie, built externally), then, the trait is disabled by the platform.

the platform will skip the trait configuration for those container image matching camel-k-kit- name.
Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

debug
bool

Activates remote debugging, so that a debugger can be attached to the JVM, e.g., using port-forwarding

debugSuspend
bool

Suspends the target JVM immediately before the main class is loaded

printCommand
bool

Prints the command used the start the JVM in the container logs (default true)

debugAddress
string

Transport address at which to listen for the newly launched JVM (default *:5005)

options
[]string

A list of JVM options

classpath
string

Additional JVM classpath (use Linux classpath separator)

JolokiaTrait

Appears on:

The Jolokia trait activates and configures the Jolokia Java agent.

nolint: tagliatelle

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

CACert
string

The PEM encoded CA certification file path, used to verify client certificates, applicable when protocol is https and use-ssl-client-authentication is true (default /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt for OpenShift).

clientPrincipal
[]string

The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint, applicable when protocol is https and use-ssl-client-authentication is true (default clientPrincipal=cn=system:master-proxy, cn=hawtio-online.hawtio.svc and cn=fuse-console.fuse.svc for OpenShift).

discoveryEnabled
bool

Listen for multicast requests (default false)

extendedClientCheck
bool

Mandate the client certificate contains a client flag in the extended key usage section, applicable when protocol is https and use-ssl-client-authentication is true (default true for OpenShift).

host
string

The Host address to which the Jolokia agent should bind to. If "*" or "0.0.0.0" is given, the servers binds to every network interface (default "*").

password
string

The password used for authentication, applicable when the user option is set.

port
int

The Jolokia endpoint port (default 8778).

protocol
string

The protocol to use, either http or https (default https for OpenShift)

user
string

The user to be used for authentication

useSSLClientAuthentication
bool

Whether client certificates should be used for authentication (default true for OpenShift).

options
[]string

A list of additional Jolokia options as defined in JVM agent configuration options

KameletsTrait

Appears on:

The kamelets trait is a platform trait used to inject Kamelets into the integration runtime.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

auto
bool

Automatically inject all referenced Kamelets and their default configuration (enabled by default)

list
string

Comma separated list of Kamelet names to load into the current integration

mountPoint
string

The directory where the application mounts and reads Kamelet spec (default /etc/camel/kamelets)

KnativeServiceTrait

Appears on:

The Knative Service trait allows configuring options when running the Integration as a Knative service, instead of a standard Kubernetes Deployment.

Running an Integration as a Knative Service enables auto-scaling (and scaling-to-zero), but those features are only relevant when the Camel route(s) use(s) an HTTP endpoint consumer.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

annotations
map[string]string

The annotations added to route. This can be used to set knative service specific annotations CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true"

class
string

Configures the Knative autoscaling class property (e.g. to set hpa.autoscaling.knative.dev or kpa.autoscaling.knative.dev autoscaling).

Refer to the Knative documentation for more information.

autoscalingMetric
string

Configures the Knative autoscaling metric property (e.g. to set concurrency based or cpu based autoscaling).

Refer to the Knative documentation for more information.

autoscalingTarget
int

Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod.

Refer to the Knative documentation for more information.

minScale
int

The minimum number of Pods that should be running at any time for the integration. It’s zero by default, meaning that the integration is scaled down to zero when not used for a configured amount of time.

Refer to the Knative documentation for more information.

maxScale
int

An upper bound for the number of Pods that can be running in parallel for the integration. Knative has its own cap value that depends on the installation.

Refer to the Knative documentation for more information.

rolloutDuration
string

Enables to gradually shift traffic to the latest Revision and sets the rollout duration. It’s disabled by default and must be expressed as a Golang time.Duration string representation, rounded to a second precision.

visibility
string

Setting cluster-local, Knative service becomes a private service. Specifically, this option applies the networking.knative.dev/visibility label to Knative service.

Refer to the Knative documentation for more information.

auto
bool

Automatically deploy the integration as Knative service when all conditions hold:

  • Integration is using the Knative profile

  • All routes are either starting from an HTTP based consumer or a passive consumer (e.g. direct is a passive consumer)

KnativeTrait

Appears on:

The Knative trait automatically discovers addresses of Knative resources and inject them into the running integration.

The full Knative configuration is injected in the CAMEL_KNATIVE_CONFIGURATION in JSON format. The Camel Knative component will then use the full configuration to configure the routes.

The trait is enabled by default when the Knative profile is active.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

config
string

Can be used to inject a Knative complete configuration in JSON format.

channelSources
[]string

List of channels used as source of integration routes. Can contain simple channel names or full Camel URIs.

channelSinks
[]string

List of channels used as destination of integration routes. Can contain simple channel names or full Camel URIs.

endpointSources
[]string

List of channels used as source of integration routes.

endpointSinks
[]string

List of endpoints used as destination of integration routes. Can contain simple endpoint names or full Camel URIs.

eventSources
[]string

List of event types that the integration will be subscribed to. Can contain simple event types or full Camel URIs (to use a specific broker different from "default").

eventSinks
[]string

List of event types that the integration will produce. Can contain simple event types or full Camel URIs (to use a specific broker).

filterSourceChannels
bool

Enables filtering on events based on the header "ce-knativehistory". Since this header has been removed in newer versions of Knative, filtering is disabled by default.

sinkBinding
bool

Allows binding the integration to a sink via a Knative SinkBinding resource. This can be used when the integration targets a single sink. It’s enabled by default when the integration targets a single sink (except when the integration is owned by a Knative source).

auto
bool

Enable automatic discovery of all trait properties.

namespaceLabel
bool

Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace As Knative requires this label to perform injection of K_SINK URL into the service. If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true)

LoggingTrait

Appears on:

The Logging trait is used to configure Integration runtime logging options (such as color and format). The logging backend is provided by Quarkus, whose configuration is documented at https://quarkus.io/guides/logging.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

color
bool

Colorize the log output

format
string

Logs message format

level
string

Adjust the logging level (defaults to INFO)

json
bool

Output the logs in JSON

jsonPrettyPrint
bool

Enable "pretty printing" of the JSON logs

MountTrait

Appears on:

The Mount trait can be used to configure volumes mounted on the Integration Pods.

nolint: tagliatelle

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

configs
[]string

A list of configuration pointing to configmap/secret. The configuration are expected to be UTF-8 resources as they are processed by runtime Camel Context and tried to be parsed as property files. They are also made available on the classpath in order to ease their usage directly from the Route. Syntax: [configmap|secret]:name[/key], where name represents the resource name and key optionally represents the resource key to be filtered

resources
[]string

A list of resources (text or binary content) pointing to configmap/secret. The resources are expected to be any resource type (text or binary content). The destination path can be either a default location or any path specified by the user. Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path

volumes
[]string

A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]

hotReload
bool

Enable "hot reload" when a secret/configmap mounted is edited (default false)

OpenAPITrait

Appears on:

The OpenAPI DSL trait is internally used to allow creating integrations from a OpenAPI specs.

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

configmaps
[]string

The configmaps holding the spec of the OpenAPI

OwnerTrait

Appears on:

The Owner trait ensures that all created resources belong to the integration being created and transfers annotations and labels on the integration onto these owned resources.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

targetAnnotations
[]string

The set of annotations to be transferred

targetLabels
[]string

The set of labels to be transferred

PDBTrait

Appears on:

The PDB trait allows to configure the PodDisruptionBudget resource for the Integration pods.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

minAvailable
string

The number of pods for the Integration that must still be available after an eviction. It can be either an absolute number or a percentage. Only one of min-available and max-unavailable can be specified.

maxUnavailable
string

The number of pods for the Integration that can be unavailable after an eviction. It can be either an absolute number or a percentage (default 1 if min-available is also not set). Only one of max-unavailable and min-available can be specified.

PlatformBaseTrait

Appears on:

PlatformBaseTrait is the base type for platform traits. It cannot be disabled by the user.

Field Description

enabled
bool

Deprecated: no longer in use.

configuration
Configuration

Legacy trait configuration parameters. Deprecated: for backward compatibility.

PlatformTrait

Appears on:

The platform trait is a base trait that is used to assign an integration platform to an integration.

In case the platform is missing, the trait is allowed to create a default platform. This feature is especially useful in contexts where there’s no need to provide a custom configuration for the platform (e.g. on OpenShift the default settings work, since there’s an embedded container image registry).

Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

createDefault
bool

To create a default (empty) platform when the platform is missing.

global
bool

Indicates if the platform should be created globally in the case of global operator (default true).

auto
bool

To automatically detect from the environment if a default platform can be created (it will be created on OpenShift only).

PodTrait

Appears on:

The pod trait allows the customization of the Integration pods. It applies the PodSpecTemplate struct contained in the Integration .spec.podTemplate field, into the Integration deployment Pods template, using strategic merge patch.

This can be used to customize the container where Camel routes execute, by using the integration container name.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

PrometheusTrait

Appears on:

The Prometheus trait configures a Prometheus-compatible endpoint. It also creates a PodMonitor resource, so that the endpoint can be scraped automatically, when using the Prometheus operator.

The metrics are exposed using Micrometer Metrics.

The creation of the PodMonitor resource requires the Prometheus Operator custom resource definition to be installed. You can set pod-monitor to false for the Prometheus trait to work without the Prometheus Operator.
By default the metrics API is not available in JSON

The Prometheus trait is disabled by default.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

podMonitor
bool

Whether a PodMonitor resource is created (default true).

podMonitorLabels
[]string

The PodMonitor resource labels, applicable when pod-monitor is true.

PullSecretTrait

Appears on:

The Pull Secret trait sets a pull secret on the pod, to allow Kubernetes to retrieve the container image from an external registry.

The pull secret can be specified manually or, in case you’ve configured authentication for an external container registry on the IntegrationPlatform, the same secret is used to pull images.

It’s enabled by default whenever you configure authentication for an external container registry, so it assumes that external registries are private.

If your registry does not need authentication for pulling images, you can disable this trait.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

secretName
string

The pull secret name to set on the Pod. If left empty this is automatically taken from the IntegrationPlatform registry configuration.

imagePullerDelegation
bool

When using a global operator with a shared platform, this enables delegation of the system:image-puller cluster role on the operator namespace to the integration service account.

auto
bool

Automatically configures the platform registry secret on the pod if it is of type kubernetes.io/dockerconfigjson.

QuarkusMode(string alias)

Appears on:

QuarkusMode is the type of Quarkus build packaging.

QuarkusPackageType(string alias)

Appears on:

QuarkusPackageType is the type of Quarkus build packaging. Deprecated: use QuarkusMode instead.

QuarkusTrait

Appears on:

The Quarkus trait configures the Quarkus runtime.

It’s enabled by default.

A native based compilation will be forced to use a pod build strategy. Compiling to a native executable, i.e. when using build-mode=native, requires at least 4GiB of memory, so the Pod running the native build, must have enough memory available.
Field Description

PlatformBaseTrait
PlatformBaseTrait

(Members of PlatformBaseTrait are embedded into this type.)

packageTypes
[]QuarkusPackageType

The Quarkus package types, fast-jar or native (default fast-jar). In case both fast-jar and native are specified, two IntegrationKit resources are created, with the native kit having precedence over the fast-jar one once ready. The order influences the resolution of the current kit for the integration. The kit corresponding to the first package type will be assigned to the integration in case no existing kit that matches the integration exists. Deprecated: use build-mode instead.

buildMode
[]QuarkusMode

The Quarkus mode to run: either jvm or native (default jvm). In case both jvm and native are specified, two IntegrationKit resources are created, with the native kit having precedence over the jvm one once ready.

nativeBaseImage
string

The base image to use when running a native build (default quay.io/quarkus/quarkus-micro-image:2.0)

nativeBuilderImage
string

The image containing the tooling required for a native build (by default it will use the one provided in the runtime catalog)

RawMessage([]byte alias)

Appears on:

RawMessage defines a binary type for configuration Deprecated: for backward compatibility.

RegistryTrait

Appears on:

The Registry trait sets up Maven to use the Image registry as a Maven repository.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

RouteTrait

Appears on:

The Route trait can be used to configure the creation of OpenShift routes for the integration.

The certificate and key contents may be sourced either from the local filesystem or in a OpenShift secret object. The user may use the parameters ending in -secret (example: tls-certificate-secret) to reference a certificate stored in a secret. Parameters ending in -secret have higher priorities and in case the same route parameter is set, for example: tls-key-secret and tls-key, then tls-key-secret is used. The recommended approach to set the key and certificates is to use secrets to store their contents and use the following parameters to reference them: tls-certificate-secret, tls-key-secret, tls-ca-certificate-secret, tls-destination-ca-certificate-secret See the examples section at the end of this page to see the setup options.

nolint: tagliatelle

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

annotations
map[string]string

The annotations added to route. This can be used to set route specific annotations For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true"

host
string

To configure the host exposed by the route.

tlsTermination
string

The TLS termination type, like edge, passthrough or reencrypt.

Refer to the OpenShift route documentation for additional information.

tlsCertificate
string

The TLS certificate contents.

Refer to the OpenShift route documentation for additional information.

tlsCertificateSecret
string

The secret name and key reference to the TLS certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/".

Refer to the OpenShift route documentation for additional information.

tlsKey
string

The TLS certificate key contents.

Refer to the OpenShift route documentation for additional information.

tlsKeySecret
string

The secret name and key reference to the TLS certificate key. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/".

Refer to the OpenShift route documentation for additional information.

tlsCACertificate
string

The TLS CA certificate contents.

Refer to the OpenShift route documentation for additional information.

tlsCACertificateSecret
string

The secret name and key reference to the TLS CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/".

Refer to the OpenShift route documentation for additional information.

tlsDestinationCACertificate
string

The destination CA certificate provides the contents of the ca certificate of the final destination. When using reencrypt termination this file should be provided in order to have routers use it for health checks on the secure connection. If this field is not specified, the router may provide its own destination CA and perform hostname validation using the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically verify.

Refer to the OpenShift route documentation for additional information.

tlsDestinationCACertificateSecret
string

The secret name and key reference to the destination CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/".

Refer to the OpenShift route documentation for additional information.

tlsInsecureEdgeTerminationPolicy
string

To configure how to deal with insecure traffic, e.g. Allow, Disable or Redirect traffic.

Refer to the OpenShift route documentation for additional information.

ServiceBindingTrait

Appears on:

The Service Binding trait allows users to connect to Services in Kubernetes: https://github.com/k8s-service-bindings/spec#service-binding As the specification is still evolving this is subject to change.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

services
[]string

List of Services in the form [[apigroup/]version:]kind:[namespace/]name

ServiceTrait

Appears on:

The Service trait exposes the integration with a Service resource so that it can be accessed by other applications (or integrations) in the same namespace.

It’s enabled by default if the integration depends on a Camel component that can expose a HTTP endpoint.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

auto
bool

To automatically detect from the code if a Service needs to be created.

nodePort
bool

Enable Service to be exposed as NodePort (default false). Deprecated: Use service type instead.

type
ServiceType

The type of service to be used, either 'ClusterIP', 'NodePort' or 'LoadBalancer'.

ServiceType(string alias)

Appears on:

TolerationTrait

Appears on:

This trait sets Tolerations over Integration pods. Tolerations allow (but do not require) the pods to schedule onto nodes with matching taints. See https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ for more details.

The toleration should be expressed in a similar manner that of taints, i.e., Key[=Value]:Effect[:Seconds], where values in square brackets are optional.

For examples:

  • node-role.kubernetes.io/master:NoSchedule

  • node.kubernetes.io/network-unavailable:NoExecute:3000

  • disktype=ssd:PreferNoSchedule

It’s disabled by default.

Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

taints
[]string

The list of taints to tolerate, in the form Key[=Value]:Effect[:Seconds]

Trait

Appears on:

Trait is the base type for all traits. It could be disabled by the user.

Field Description

enabled
bool

Can be used to enable or disable a trait. All traits share this common property.

configuration
Configuration

Legacy trait configuration parameters. Deprecated: for backward compatibility.