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:

Running on macOS

Before running the CLI on macOS, it may be necessary to give adequate permissions for it to run.

It can either be done on the "Privacy & Security" panel in the System Settings or via command-line:

xattr -d com.apple.quarantine /path/to/kamel

Available Commands

Some of the most used commands are:

Table 1. Useful Commands
Name Description Example

help

Obtain the full list of available commands

kamel help

run

Run an integration on Kubernetes

kamel run Routes.java

debug

Debug a remote integration using a local debugger

kamel debug my-integration

get

Get integrations deployed on Kubernetes

kamel get

describe

Get detailed information on a resource

kamel describe integration routes

log

Print the logs of a running integration

kamel log routes

delete

Delete integrations deployed on Kubernetes

kamel delete routes

bind

Bind Kubernetes resources, such as Kamelets, in an integration flow.

kamel bind timer-source -p "source.message=hello world" channel:mychannel

install

Install Camel K on a Kubernetes cluster

kamel install

rebuild

Clear the state of integrations to rebuild them.

kamel rebuild --all

reset

Reset the Camel K installation

kamel reset

uninstall

Uninstall Camel K from a Kubernetes cluster

kamel uninstall

version

Display client version

kamel version

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

Modeline

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.