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

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

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 — 

BuildPhase(string alias)

Appears on:

BuildPhase — 

BuildSpec

Appears on:

BuildSpec defines the Build operation to be executed

Field Description

tasks
[]Task

The sequence of Build tasks to be performed as part of the Build execution.

strategy
BuildStrategy

The strategy that should be used to perform the Build.

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.

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

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

sources
[]SourceSpec

Deprecated: no longer in use the source code for the Route(s)

resources
[]ResourceSpec

Deprecated: no longer in use

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

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

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/pkg/apis/camel/v1.CamelArtifact

artifacts required by this catalog

loaders
map[string]github.com/apache/camel-k/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.

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

Deprecated: never used a set of general metadata for various purposes

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

metadata
map[string]string

Deprecated: not in use

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)

resourceType
string

Deprecated: no longer used

resourceMountPoint
string

Deprecated: no longer used

resourceKey
string

Deprecated: no longer used

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)

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

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.

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

configuration used by the kit TODO: we should deprecate in future releases in favour of mount, openapi or camel traits

repositories
[]string

Maven repositories that can be used by the kit

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/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

buildStrategy
BuildStrategy

the strategy to adopt for building an Integration base image

publishStrategy
IntegrationPlatformBuildPublishStrategy

the strategy to adopt for publishing an Integration base 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

timeout
Kubernetes meta/v1.Duration

how much time to wait before time out the build process

maven
MavenSpec

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

kanikoBuildCache
bool

Deprecated: Use PublishStrategyOptions instead enables Kaniko publish strategy cache

persistentVolumeClaim
string

Deprecated: Use PublishStrategyOptions instead the Persistent Volume Claim used by Kaniko publish strategy, if cache is enabled

PublishStrategyOptions
map[string]string

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

IntegrationPlatformResourcesSpec

Appears on:

IntegrationPlatformResourcesSpec contains platform related resources. Deprecated: not used

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

resources
IntegrationPlatformResourcesSpec

Deprecated: not used

traits
Traits

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

configuration
[]ConfigurationSpec

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

resources
[]ResourceSpec

Deprecated: Use mount trait (mount.resources) to manage resources Use openapi trait (openapi.configmaps) to manage OpenAPIs specifications

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

generatedResources
[]ResourceSpec

Deprecated: a list of resources 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.

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

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.

caSecret
Kubernetes core/v1.SecretKeySelector

Deprecated: use CASecrets The Secret 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.

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.

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

ResourceSpec

Appears on:

ResourceSpec represent an attached resource which will be materialized as a file on the running Pod TODO: we should deprecate in future releases in favour of mount, openapi or camel traits

Field Description

DataSpec
DataSpec

(Members of DataSpec are embedded into this type.)

the content of the resource

type
ResourceType

the kind of data to expect

mountPath
string

the mount path on destination Pod

ResourceType(string alias)

Appears on:

ResourceType defines a kind of resource

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

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 (base task)

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

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

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

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

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

probesEnabled
bool

DeprecatedProbesEnabled enable/disable probes on the container (default false). Deprecated: replaced by the health trait.

livenessScheme
string

Scheme to use when connecting. Defaults to HTTP. Applies to the liveness probe. Deprecated: replaced by the health trait.

livenessInitialDelay
int32

Number of seconds after the container has started before liveness probes are initiated. Deprecated: replaced by the health trait.

livenessTimeout
int32

Number of seconds after which the probe times out. Applies to the liveness probe. Deprecated: replaced by the health trait.

livenessPeriod
int32

How often to perform the probe. Applies to the liveness probe. Deprecated: replaced by the health trait.

livenessSuccessThreshold
int32

Minimum consecutive successes for the probe to be considered successful after having failed. Applies to the liveness probe. Deprecated: replaced by the health trait.

livenessFailureThreshold
int32

Minimum consecutive failures for the probe to be considered failed after having succeeded. Applies to the liveness probe. Deprecated: replaced by the health trait.

readinessScheme
string

Scheme to use when connecting. Defaults to HTTP. Applies to the readiness probe. Deprecated: replaced by the health trait.

readinessInitialDelay
int32

Number of seconds after the container has started before readiness probes are initiated. Deprecated: replaced by the health trait.

readinessTimeout
int32

Number of seconds after which the probe times out. Applies to the readiness probe. Deprecated: replaced by the health trait.

readinessPeriod
int32

How often to perform the probe. Applies to the readiness probe. Deprecated: replaced by the health trait.

readinessSuccessThreshold
int32

Minimum consecutive successes for the probe to be considered successful after having failed. Applies to the readiness probe. Deprecated: replaced by the health trait.

readinessFailureThreshold
int32

Minimum consecutive failures for the probe to be considered failed after having succeeded. Applies to the readiness probe. Deprecated: replaced by the health trait.

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)

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.

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

host
string

Required. To configure the host exposed by the ingress.

auto
bool

To automatically add an ingress whenever the integration uses a 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 a 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.

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

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

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]