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.

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).

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

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.

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.

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.)

configuration
BuildConfiguration

The configuration that should be used to perform the Build.

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. As the catalog is a static resource, we expect it to be empty.

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.

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).

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

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.

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

baseImage
string

base image used by the kit

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, i.e. when using package-type=native, is only supported for kamelets, as well as YAML and XML integrations. It also requires at least 4GiB of memory, so the Pod running the native build, that is either the operator Pod, or the build Pod (depending on the build strategy configured for the platform), 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

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.

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.

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.

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

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.

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

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:

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:

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").

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

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 package the project

buildah
BuildahTask

a BuildahTask, for Buildah strategy

kaniko
KanikoTask

a KanikoTask, for Kaniko strategy

spectrum
SpectrumTask

a SpectrumTask, for Spectrum strategy

s2i
S2iTask

a S2iTask, for S2I strategy

custom
UserTask

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

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:

BuilderTrait is internally used to determine the best strategy to build and configure IntegrationKits.

Field Description

Trait
Trait

(Members of Trait 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)

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.

requestMemory
string

When using pod strategy, the minimum amount of memory required by the pod builder.

limitCPU
string

When using pod strategy, the maximum amount of CPU required by the pod builder.

limitMemory
string

When using pod strategy, the maximum amount of memory required by the pod builder.

tasks
[]string

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

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

Trait
Trait

(Members of Trait 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:

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

Trait
Trait

(Members of Trait 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.

The rules for using a Kubernetes CronJob are the following: - timer: when periods can be written as cron expressions. E.g. timer:tick?period=60000. - 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

Trait
Trait

(Members of Trait 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

Trait
Trait

(Members of Trait 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

Trait
Trait

(Members of Trait 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

Trait
Trait

(Members of Trait 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

Trait
Trait

(Members of Trait 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.

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

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.)

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

Trait
Trait

(Members of Trait 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]

OpenAPITrait

Appears on:

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

Field Description

Trait
Trait

(Members of Trait 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.

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

Trait
Trait

(Members of Trait 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.

QuarkusPackageType(string alias)

Appears on:

Quarkus package type.

QuarkusTrait

Appears on:

The Quarkus trait configures the Quarkus runtime.

It’s enabled by default.

Compiling to a native executable, i.e. when using package-type=native, requires at least 4GiB of memory, so the Pod running the native build, that is either the operator Pod, or the build Pod (depending on the build strategy configured for the platform), must have enough memory available.
Field Description

Trait
Trait

(Members of Trait are embedded into this type.)

packageTypes
[]QuarkusPackageType

The Quarkus package types, either 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.

RawMessage([]byte alias)

Appears on:

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.)

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]