Camel K CLI (kamel)

The Camel K command line interface, kamel, is the main entry point for running integrations on a Kubernetes cluster.

Releases of the Camel K CLI are available on:

Available Commands

Some of the most used commands are:

Table 1. Useful Commands
Name Description Example


Obtain the full list of available commands

kamel help


Initialize empty Camel K files (besides Java you can also do this for other languages like Groovy, Kotlin, XML, YAML)

kamel init


Run an integration on Kubernetes

kamel run


Debug a remote integration using a local debugger

kamel debug my-integration


Get integrations deployed on Kubernetes

kamel get


Get detailed information on a resource

kamel describe integration routes


Print the logs of a running integration

kamel log routes


Delete integrations deployed on Kubernetes

kamel delete routes

The list above is not the full list of available commands. You can run kamel help to obtain the full list. Each command also takes the --help as option to output more information, e.g.:

$ kamel run --help

Global Flags

While each command has a dedicated set of flags, there are global flags that are available to every command:

Table 2. Global Flags
Flag Description Example

--kube-config PATH

Path to the config file to use for CLI requests

kamel install --kube-config ~/.kube/config

-h or --help

Help for kamel, or the command

kamel run --help

-n or --namespace NAME

Namespace to use for all operations

kamel get --namespace NAME

For command-specific flags, run --help with the command to obtain the full list, e.g.:

$ kamel <command> --help


Some command options in the CLI can be also specified as modeline in the source file, take a look at the Modeline section for more information.

Image Registry

The CLI can be used to upload content to the Image Registry. To do so, the registry options need to be correctly set during installation. If the Image Registry uses a custom certificate authority then it needs to be trusted by the CLI see SSL_CERT_FILE. If the Image registry uses authentication then it should be configured correctly in $HOME/.docker/config.json; see Docker Credentials store].