Camel CLI - Dev Services

The Camel CLI can start and manage local infrastructure services (databases, message brokers, etc.) for development and testing — similar to Spring Boot Dev Services and Quarkus Dev Services. Services are powered by Apache Camel test-infra and run in containers (Docker or Podman).

The CLI commands use camel infra (short for infrastructure). In the documentation we call this feature Dev Services to align with Spring Boot and Quarkus terminology — they mean the same thing.

Listing available services

camel infra list
ALIAS                   IMPLEMENTATION
 ignite
 azure                   storage-queue
 openldap
 event-bridge
 xmpp
 kinesis
 redis
 ...

Running a service

camel infra run $SERVICE

Some services offer multiple implementations — pass the implementation name as a second argument:

camel infra run kafka redpanda

Once running, the service prints its connection details as JSON:

$ camel infra run ftp

Starting service ftp
{
  "getPort" : 52472,
  "getFtpRootDir" : "file://path/to/current/directory/target/ftp/..."
}
$ camel infra run kafka redpanda

Starting service kafka with implementation redpanda
{
  "getBootstrapServers" : "localhost:32771"
}

Stopping a service

camel infra stop arangodb

Listing running services

$ camel infra ps
 ALIAS             IMPLEMENTATION  DESCRIPTION
 arangodb                          ArangoDB is a multi-model database for high-performance applications.

Getting service details

Retrieve connection details for a running service:

$ camel infra get openldap
{
  "getPort" : 32774,
  "getSslPort" : 32775,
  "getHost" : "localhost"
}

Viewing service logs

Tail logs from all running services:

camel infra log

Or from a specific service:

camel infra log openldap

See Also

The Sending messages to infrastructure services feature in the Development Tools page can send messages directly to services started with camel infra run.