Camel K Operator fine tuning

Camel K Operators offers several possibility of customization. The default installation could be good in the most of the cases, but, we have a series of configuration that can be applied when you want to fine tune your Camel K operator and get the very best of it. The following settings will work for an installation via kamel CLI, but the same configuration could be done with the other installation procedures by applying the required changes on the related configuration files.

Storage

Since version 2.0, Camel K requires some persistent storage. You can change the storage configuration using the following settings:

--storage                                     If false, it won't use a persistent storage (recommended for development purpose only) (default true)
--storage-access-mode string                  Persistent Volume Access Mode (any of ReadWriteOnce, ReadOnlyMany, ReadWriteMany or ReadWriteOncePod)(default "ReadWriteOnce")
--storage-capacity string                     How much capacity to use (default "20Gi")
--storage-class-name string                   Use a storage class name to create a dynamic volume (if empty will look up for cluster default)

Resource management

We provide certain configuration to better "operationalize" the Camel K Operator:

--node-selector stringArray                   Add a NodeSelector to the operator Pod
--operator-resources stringArray              Define the resources requests and limits assigned to the operator Pod as <requestType.requestResource=value> (i.e., limits.memory=256Mi)
--toleration stringArray                      Add a Toleration to the operator Pod

More detailed information on the resource management page.

Build configuration

We have several configuration used to influence the building of an integration:

--base-image string                           Set the base Image used to run integrations
--build-publish-strategy string               Set the build publish strategy
--build-publish-strategy-option stringArray   Add a build publish strategy option, as <name=value>
--build-strategy string                       Set the build strategy
--build-timeout string                        Set how long the build process can last

A very important set of configuration you can provide is related to Maven:

--maven-ca-secret string                      Configure the secret key containing the Maven CA certificates (secret/key)
--maven-cli-option stringArray                Add a default Maven CLI option to the list of arguments for Maven commands
--maven-extension stringArray                 Add a Maven build extension
--maven-local-repository string               Path of the local Maven repository
--maven-property stringArray                  Add a Maven property
--maven-repository stringArray                Add a Maven repository
--maven-settings string                       Configure the source of the Maven settings (configmap|secret:name[/key])

You can learn more in details in the Maven configuration page.

Finally, you can change the registry where to host your integration containers:

--organization string                         A organization on the Docker registry that can be used to publish images
--registry string                             A Docker registry that can be used to publish images
--registry-auth-file string                   A docker registry configuration file containing authorization tokens for pushing and pulling images
--registry-auth-password string               The docker registry authentication password
--registry-auth-server string                 The docker registry authentication server
--registry-auth-username string               The docker registry authentication username
--registry-insecure                           Configure to configure registry access in insecure mode or not
--registry-secret string                      A secret used to push/pull images to the Docker registry

We have a dedicated section to explain more in details how to configure a registry.

Monitoring

Camel K Operator provides certain monitoring capabilities. You can change the default settings:

--health-port int                             The port of the health endpoint (default 8081)
--monitoring                                  To enable or disable the operator monitoring
--monitoring-port int                         The port of the metrics endpoint (default 8080)
--log-level string                            The level of operator logging (default - info): info or 0, debug or 1 (default "info")

You can learn more about how to monitor Camel K Operator.

Installation topology

We have also certain configuration that let you control how to deploy your Camel K Operator(s):

--global                                      Configure the operator to watch all namespaces. No integration platform is created. You can run integrations in a namespace by installing an integration platform: 'kamel install --skip-operator-setup -n my-namespace'
--operator-id string                          Set the operator id that is used to select the resources this operator should manage (default "camel-k")

Learn more about Camel K multi-tenancy.