Cameleer

Components

Every Cameleer component: the endpoint schemes you use in from and to, grouped by category.

NameSchemeWhat it does
Core and routing 18
Beanbean, classThe bean component calls your own Rust code, registered in the registry under a name, from a route.
BrowsebrowseThe browse component keeps the messages sent to it in memory so they can be listed later, and passes them on to a consuming route if there is one.
ClassclassThe class component calls a bean by name, like bean; in Cameleer the "class name" is looked up in the registry.
Control BuscontrolbusThe controlbus component starts, stops, suspends and inspects routes from a message, and evaluates scripts sent as messages.
Data FormatdataformatThe dataformat component marshals or unmarshals the message body with a data format (JSON, CSV, Base64, ...) as an endpoint, so it can be used anywhere a URI is accepted.
DataSetdatasetThe dataset component load-tests a route: it sends a known set of messages into the route and checks that the same messages come out.
DataSet Testdataset-test, testThe dataset-test component checks a route's output against expected messages read from another endpoint, such as a file of expected lines.
DirectdirectThe direct component calls another route synchronously, in the same thread, inside the same Cameleer process.
KameletkameletThe kamelet component uses Kamelets, reusable route snippets with typed parameters, as sources, actions and sinks in a route.
LanguagelanguageThe language component evaluates a script in any supported language (Simple, JSONPath, XPath, jq, ...) and uses the result as the new message body.
LoglogThe log component writes each message that reaches it to the log, with control over the level and which parts (body, headers, properties) are shown.
MockmockThe mock component records the messages a route sends to it and checks them against expectations, so you can test routes without real systems.
RefrefThe ref component uses an endpoint looked up by name in the registry, so the real endpoint can be chosen at startup instead of in the route.
SagasagaThe saga component completes or compensates the current saga from a route, for sagas started with the Saga EIP.
SEDAsedaThe seda component hands messages to another route through a bounded in-memory queue, so the sender does not wait for the processing.
StubstubThe stub component stands in for any endpoint: it accepts any URI and options and queues the messages in memory like seda, so you can run a route without the real system.
TesttestThe test component is the short name of dataset-test: it checks a route's output against expected messages read from another endpoint.
VMvmThe vm component is a seda queue shared by every CamelContext in the same process, so separately deployed route sets can pass messages in memory.
Scheduling 4
CroncronThe cron component starts a route on a cron schedule, such as every night at 02:00 in a given time zone.
QuartzquartzThe quartz component starts a route from a cron trigger or a simple repeating trigger, using Apache Camel's Quartz endpoint syntax.
SchedulerschedulerThe scheduler component starts a route repeatedly with a scheduled poll consumer: a delay between runs, optional back-off when idle, or a cron expression.
TimertimerThe timer component starts a route at a fixed interval, for example every 5 seconds, a set number of times or forever.
Files, shell and streams 7
ExecexecThe exec component runs a local program or script from a route, writes the message body to its standard input and returns its standard output as the new body.
FilefileThe file component reads files from a directory (polling for new ones) and writes message bodies to files.
FTPftpThe ftp component downloads files from and uploads files to an FTP server, polling a remote directory for new files.
FTPSftpsThe ftps component transfers files with an FTP server over TLS (FTPS), in explicit (AUTH TLS) or implicit mode, with encrypted data connections.
SFTPsftpThe sftp component downloads files from and uploads files to an SSH server over SFTP, polling a remote directory for new files.
SSHsshThe ssh component runs commands on remote hosts over SSH: the producer runs the message body as a command and returns its output, the consumer runs a command on a schedule.
StreamstreamThe stream component reads lines from standard input or a file (optionally tailing it) and writes messages to standard output, standard error or a file.
HTTP, REST and web services 17
AtomatomThe atom component polls an Atom feed and emits each new entry as an exchange whose body is the entry.
CXFcxfThe cxf component calls SOAP web services and hosts SOAP services in a route, from a WSDL, with SOAP 1.1 and 1.2, faults, WS-Security, WS-Addressing and MTOM.
CXF-RScxfrsThe cxfrs component serves and calls JAX-RS style REST resources: operations are matched by HTTP method and path template, and the matching operation name is passed to the route.
FHIRfhirThe fhir component reads and writes healthcare data on a FHIR server (R4, R4B, R5, DSTU3): create, read, update, delete, search, history, transactions, operations, patch and validation.
GraphQLgraphqlThe graphql component sends GraphQL queries and mutations to a GraphQL server over HTTP or HTTPS and returns the JSON response.
HTTPhttp, httpsThe http component calls HTTP and HTTPS endpoints from a route: REST APIs, webhooks and LLM APIs, over HTTP/1.1 or HTTP/2.
JettyjettyThe jetty component serves HTTP requests on an address given in the URI, for routes written for Apache Camel's camel-jetty.
Netty HTTPnetty-httpThe netty-http component serves HTTP requests on an address given in the URI, for routes written for Apache Camel's camel-netty-http.
Platform HTTPplatform-httpThe platform-http component serves HTTP requests on Cameleer's embedded HTTP/1.1 server: each route binds a path and its reply becomes the HTTP response.
RESTrestThe rest component defines REST endpoints (the REST DSL, with a generated OpenAPI 3 document) and calls REST APIs with path templates filled from headers.
RSSrssThe rss component polls an RSS feed (RSS 2.0, RSS 1.0 or Atom) and emits new entries as exchanges.
Spring Web Servicesspring-wsThe spring-ws component hosts and calls payload-oriented SOAP web services: consumers are selected by the payload root element, SOAP action, XPath or WS-Addressing, and the body is the payload XML.
UndertowundertowThe undertow component serves HTTP requests on an address given in the URI, for routes written for Apache Camel's camel-undertow.
Vert.x WebSocketvertx-websocketThe vertx-websocket component runs a WebSocket server (or client) with Vert.x-style headers, including events when a client connects or disconnects.
WebhookwebhookThe webhook component receives events from a SaaS service through a webhook: it serves an HTTP endpoint for a delegate endpoint (GitHub or Telegram) and registers that endpoint with the service on start.
WebSocketwebsocketThe websocket component runs a WebSocket server: the consumer receives messages from connected clients and the producer sends to one client or broadcasts to all of them.
WSws, wssThe ws component is a WebSocket client: it connects to a WebSocket server, receives the server's messages as exchanges and sends messages on the same connection.
Messaging and streaming 10
ActiveMQactivemqThe activemq component sends and receives messages on Apache ActiveMQ (Classic or Artemis) queues and topics with JMS semantics, over the broker's STOMP connector.
AMQPamqpThe amqp component sends and receives messages over AMQP 1.0 with JMS semantics, for ActiveMQ Artemis, ActiveMQ Classic, Qpid, RabbitMQ's AMQP 1.0 support and Azure Service Bus.
AMQP-STOMPamqp-stompThe amqp-stomp component is Cameleer's JMS-over-STOMP component under a third name, for routes that used Cameleer's former STOMP-based amqp scheme.
JMSjms, activemq, amqp-stompThe jms component sends and receives JMS-style messages (queues, topics, selectors, request/reply, transactions) through any broker that speaks STOMP 1.2, such as ActiveMQ, Artemis or RabbitMQ.
KafkakafkaThe kafka component sends messages to and consumes messages from Apache Kafka topics, with consumer groups, keys, partitions, TLS and SASL.
Paho (MQTT)pahoThe paho component publishes and subscribes to MQTT 3.1.1 topics, for IoT sensors, edge gateways and any MQTT broker such as Mosquitto, EMQX, HiveMQ or AWS IoT Core.
Paho MQTT 5paho-mqtt5The paho-mqtt5 component publishes and subscribes to MQTT 5.0 topics, with user properties, clean start and session expiry.
RabbitMQrabbitmqThe rabbitmq component sends and consumes RabbitMQ messages over AMQP 0-9-1 with the options of Apache Camel's older camel-rabbitmq component.
Spring RabbitMQspring-rabbitmqThe spring-rabbitmq component sends messages to and consumes messages from RabbitMQ exchanges and queues over AMQP 0-9-1, with Apache Camel's spring-rabbitmq options.
STOMPstompThe stomp component sends and receives messages over STOMP 1.2 with brokers such as ActiveMQ, Artemis and RabbitMQ, mapping STOMP headers to message headers.
Network protocols 5
gRPCgrpcThe grpc component calls gRPC services and hosts gRPC services in a route, with messages described by a .proto file read at runtime.
MLLPmllpThe mllp component sends and receives HL7 v2 healthcare messages over TCP with MLLP framing, and generates HL7 acknowledgements automatically.
NettynettyThe netty component runs TCP and UDP servers and clients for plain socket protocols: text lines or raw bytes, one-way or request/reply.
SyslogsyslogThe syslog component receives and sends syslog messages (RFC 5424 and RFC 3164) over UDP, TCP or TLS and parses them into structured fields.
ThriftthriftThe thrift component calls Apache Thrift services and hosts Thrift services in a route, driven by a Thrift IDL file read at runtime.
Mail 3
IMAPimap, imapsThe imap component reads email from an IMAP mailbox: it polls a folder for new (unseen) messages and turns each one into an exchange.
POP3pop3, pop3sThe pop3 component downloads email from a POP3 mailbox on a schedule and turns each message into an exchange.
SMTPsmtp, smtpsThe smtp component sends email: the message body becomes the mail text and headers such as To and Subject set the recipients and subject.
Databases and search 10
Cassandra CQLcqlThe cql component runs CQL statements against Apache Cassandra and ScyllaDB, and polls a CQL query on a schedule.
CouchDBcouchdbThe couchdb component saves, reads and deletes JSON documents in Apache CouchDB and consumes the database's changes feed.
Elasticsearchelasticsearch, opensearchThe elasticsearch component indexes, updates, gets, deletes and searches documents in Elasticsearch over its REST API.
JDBCjdbcThe jdbc component executes the SQL statement in the message body against a data source and returns the rows or the update count.
MongoDBmongodbThe mongodb component inserts, queries, updates and deletes documents in MongoDB, and consumes change streams and tailable cursors.
MongoDB GridFSmongodb-gridfsThe mongodb-gridfs component stores, reads, lists and deletes files in MongoDB GridFS buckets, and polls a bucket for new files.
OpenSearchopensearchThe opensearch component indexes, gets, deletes and searches documents in OpenSearch (including Amazon OpenSearch Service with basic authentication) over its REST API.
Spring Redisspring-redisThe spring-redis component runs Redis commands (strings, hashes, lists, sets, sorted sets, geo, pub/sub) and subscribes to Redis channels.
SQLsqlThe sql component runs SQL queries and updates against PostgreSQL or the embedded in-memory database, and polls tables for new rows.
SQL Stored Proceduresql-storedThe sql-stored component calls stored procedures and functions in PostgreSQL or the embedded database, passing IN parameters and returning OUT values and result sets.
AI and LLMs 5
AWS Bedrockaws-bedrock, aws2-bedrockThe aws-bedrock component calls foundation models on Amazon Bedrock (Claude, Llama, Titan, Mistral and others) with the Converse and InvokeModel APIs, including streaming and guardrails.
AWS Bedrock Agent Runtimeaws-bedrock-agent-runtimeThe aws-bedrock-agent-runtime component queries Amazon Bedrock knowledge bases (retrieve, retrieve-and-generate) and invokes Bedrock Agents.
Azure OpenAIazure-openaiThe azure-openai component calls models deployed on Azure OpenAI: chat completions (with streaming and tool calls), embeddings, image generation and the Assistants API.
Google Vertex AIgoogle-vertexaiThe google-vertexai component calls Gemini and other models on Google Cloud Vertex AI: text and chat generation, streaming, multimodal prompts, embeddings, Imagen images, token counts and partner models such as Claude.
OpenAIopenaiThe openai component calls any OpenAI-compatible API (OpenAI, Ollama, vLLM, LM Studio, LiteLLM and other gateways) for chat completions and embeddings.
Chat and SaaS 5
GitHubgithubThe github component polls a GitHub repository for new pull requests, issues, commits, tags and events, and creates issues, comments and commit statuses through the GitHub REST API.
JirajiraThe jira component creates, updates, transitions, comments and searches Jira issues over the Jira REST API v2, and polls for new issues, new comments and field changes.
SlackslackThe slack component posts messages to Slack channels (incoming webhook or the chat.postMessage Web API) and reads new channel messages by polling conversations.history.
TelegramtelegramThe telegram component sends messages, photos and documents through a Telegram bot and receives the messages people send to the bot (long polling with getUpdates, or a webhook).
TwiliotwilioThe twilio component calls the Twilio REST API (2010-04-01): send and list SMS and MMS messages, place calls, manage phone numbers, queues, recordings and the other resources Camel's twilio component exposes.
Amazon Web Services 32
AWS Athenaaws2-athenaThe aws2-athena component runs SQL queries on data in S3 with Amazon Athena, waits for them to finish and returns the result rows.
AWS CloudTrailaws-cloudtrailThe aws-cloudtrail component polls AWS CloudTrail for new management events (who did what, when) and turns each event into a message.
AWS CloudWatchaws2-cwThe aws2-cw component publishes custom metrics to Amazon CloudWatch.
AWS Comprehendaws2-comprehend, aws-comprehendThe aws2-comprehend component analyses text with Amazon Comprehend: sentiment, language, entities, key phrases, PII, syntax, toxicity and custom classification.
AWS Configaws-configThe aws-config component manages AWS Config rules and conformance packs and reads their compliance results.
AWS DynamoDBaws2-ddbThe aws2-ddb component writes, reads, queries, scans and deletes items in Amazon DynamoDB tables, using plain maps instead of DynamoDB attribute values.
AWS DynamoDB Streamsaws2-ddbstreamThe aws2-ddbstream component consumes the change records (inserts, updates, deletes) of an Amazon DynamoDB table's stream.
AWS EC2aws2-ec2The aws2-ec2 component starts, stops, creates, terminates, tags and describes Amazon EC2 instances.
AWS ECSaws2-ecsThe aws2-ecs component lists, creates, describes and deletes Amazon ECS clusters.
AWS EKSaws2-eksThe aws2-eks component lists, creates, describes and deletes Amazon EKS (Kubernetes) clusters.
AWS EventBridgeaws2-eventbridgeThe aws2-eventbridge component publishes events to Amazon EventBridge buses and manages rules and targets.
AWS IAMaws2-iamThe aws2-iam component manages AWS IAM users, groups, access keys, roles, policies and instance profiles.
AWS Kinesisaws2-kinesisThe aws2-kinesis component puts records into and consumes records from Amazon Kinesis Data Streams.
AWS Kinesis Firehoseaws2-kinesis-firehoseThe aws2-kinesis-firehose component sends records to Amazon Data Firehose (Kinesis Data Firehose) delivery streams, which deliver them to S3, Redshift, OpenSearch or HTTP endpoints.
AWS KMSaws2-kmsThe aws2-kms component manages AWS KMS keys and, as a Cameleer extension, encrypts and decrypts data with them.
AWS Lambdaaws2-lambdaThe aws2-lambda component invokes AWS Lambda functions and manages functions, versions, aliases, tags and event source mappings.
AWS MQaws2-mqThe aws2-mq component lists, creates, describes, reboots and deletes Amazon MQ brokers (ActiveMQ and RabbitMQ).
AWS MSKaws2-mskThe aws2-msk component manages Amazon MSK (Managed Streaming for Apache Kafka) clusters, and Cameleer adds the AWS_MSK_IAM SASL mechanism so the kafka component can connect to MSK with IAM authentication.
AWS Pollyaws2-pollyThe aws2-polly component turns text into speech with Amazon Polly and manages lexicons and long speech synthesis tasks.
AWS Redshift Dataaws2-redshift-dataThe aws2-redshift-data component runs SQL on Amazon Redshift clusters and Redshift Serverless workgroups through the Redshift Data API, without a database driver or connection pool.
AWS Rekognitionaws2-rekognitionThe aws2-rekognition component analyses images and stored videos with Amazon Rekognition: labels, text, faces, moderation labels, celebrities and face collections.
AWS S3aws2-s3The aws2-s3 component uploads, downloads, lists, copies and deletes objects in Amazon S3 buckets, and polls a bucket for new objects.
AWS Secrets Manageraws-secrets-managerThe aws-secrets-manager component creates, reads, updates, rotates and deletes secrets in AWS Secrets Manager, and the {{aws:...}} placeholder puts secrets into routes and endpoint options.
AWS SESaws2-sesThe aws2-ses component sends e-mails (text, HTML or raw MIME) with Amazon Simple Email Service.
AWS SNSaws2-snsThe aws2-sns component publishes messages to Amazon SNS topics, including FIFO topics and batches.
AWS SQSaws2-sqsThe aws2-sqs component sends messages to and receives messages from Amazon SQS queues, including FIFO queues.
AWS Step Functionsaws2-step-functionsThe aws2-step-functions component starts and manages AWS Step Functions workflows (state machines, executions and activities).
AWS STSaws2-stsThe aws2-sts component gets temporary AWS credentials (assume role, session and federation tokens) and tells which identity the credentials belong to.
AWS Textractaws2-textractThe aws2-textract component extracts text, forms, tables and invoice fields from documents and images with Amazon Textract.
AWS Timestreamaws2-timestreamThe aws2-timestream component writes time series records to Amazon Timestream and runs queries on them.
AWS Transcribeaws2-transcribeThe aws2-transcribe component starts and manages Amazon Transcribe speech-to-text jobs, including medical and call analytics jobs, custom vocabularies and language models.
AWS Translateaws2-translateThe aws2-translate component translates text between languages with Amazon Translate, with optional automatic source language detection.
Microsoft Azure 11
Azure Cosmos DBazure-cosmosdbThe azure-cosmosdb component creates, reads, upserts, queries and deletes items in Azure Cosmos DB (SQL API) and consumes a container's change feed.
Azure Data Lake Storageazure-storage-datalakeThe azure-storage-datalake component reads, writes, appends, lists and deletes files and directories in Azure Data Lake Storage Gen2, sets ACLs and runs query acceleration.
Azure Event Gridazure-eventgridThe azure-eventgrid component publishes events to an Azure Event Grid topic, as CloudEvents or in the Event Grid schema.
Azure Event Hubsazure-eventhubsThe azure-eventhubs component sends events to and consumes events from Azure Event Hubs over AMQP 1.0, with partitions, checkpoints and load balancing between consumers.
Azure Filesazure-storage-filesThe azure-storage-files component uploads, downloads, lists and deletes files and directories in Azure Files shares, and polls a directory for new files.
Azure Functionsazure-functionsThe azure-functions component invokes HTTP-triggered Azure Functions and returns their response.
Azure Key Vaultazure-key-vaultThe azure-key-vault component manages secrets, keys and certificates in Azure Key Vault and signs, verifies, encrypts and decrypts with vault keys; the {{azure:...}} placeholder puts secrets into routes.
Azure Schema Registryazure-schema-registryThe azure-schema-registry component registers and looks up Avro, JSON and custom schemas in the Azure Event Hubs Schema Registry.
Azure Service Busazure-servicebusThe azure-servicebus component sends messages to and receives messages from Azure Service Bus queues and topic subscriptions over AMQP 1.0, with peek-lock, sessions, scheduling, dead-lettering and transactions.
Azure Storage Blobazure-storage-blobThe azure-storage-blob component uploads, downloads, lists, copies and deletes blobs in Azure Blob Storage (block, append and page blobs), and polls a container for new blobs.
Azure Storage Queueazure-storage-queueThe azure-storage-queue component sends messages to and receives messages from Azure Queue Storage.
Google Cloud and Workspace 17
Google BigQuerygoogle-bigqueryThe google-bigquery component streams rows into Google BigQuery tables, runs load and extract jobs between BigQuery and Cloud Storage, and manages tables and datasets.
Google BigQuery SQLgoogle-bigquery-sqlThe google-bigquery-sql component runs standard SQL queries and DML statements on Google BigQuery, with named @parameters bound from message headers or the body.
Google Calendargoogle-calendarThe google-calendar component creates, lists, updates and deletes Google Calendar events and manages calendars, ACLs and watch channels through the Calendar v3 REST API.
Google Calendar Streamgoogle-calendar-streamThe google-calendar-stream component polls a Google Calendar and emits new and changed events, optionally using incremental sync tokens so deleted events are reported too.
Google Cloud Functionsgoogle-functionsThe google-functions component calls Google Cloud Functions (1st gen) and manages them: list, get, create, update, delete and source upload URLs.
Google Cloud Storagegoogle-storageThe google-storage component uploads, downloads, lists, copies and deletes objects in Google Cloud Storage buckets, and consumes new objects from a bucket.
Google Drivegoogle-driveThe google-drive component uploads, downloads, lists, copies and deletes Google Drive files through the Drive v3 REST API, and can poll a file listing to emit created, modified and removed files.
Google Firestoregoogle-firestoreThe google-firestore component reads, writes, queries and listens to documents in Google Cloud Firestore, with plain maps as message bodies.
Google Mailgoogle-mailThe google-mail component sends, lists, reads, labels and deletes Gmail messages, drafts, labels and threads through the Gmail v1 REST API.
Google Mail Streamgoogle-mail-streamThe google-mail-stream component polls a Gmail mailbox and emits each new message that matches a Gmail search query, then marks it as read.
Google Pub/Subgoogle-pubsubThe google-pubsub component publishes messages to Google Cloud Pub/Sub topics and consumes messages from Pub/Sub subscriptions, with gRPC streaming pull by default.
Google Pub/Sub Litegoogle-pubsub-liteThe google-pubsub-lite component publishes messages to Google Cloud Pub/Sub Lite topics and consumes Pub/Sub Lite subscriptions over gRPC, partition by partition.
Google Secret Managergoogle-secret-managerThe google-secret-manager component creates, reads, versions, lists and deletes secrets in Google Cloud Secret Manager, and the {{gcp:name}} placeholder reads secrets into route configuration.
Google Sheetsgoogle-sheetsThe google-sheets component reads, writes, appends and clears cell values in Google Sheets spreadsheets, and creates and updates spreadsheets, over the Sheets v4 REST API.
Google Sheets Streamgoogle-sheets-streamThe google-sheets-stream component polls a range of a Google Sheets spreadsheet and emits the rows that were appended since the previous poll.
Google Speech-to-Textgoogle-speech-to-textThe google-speech-to-text component transcribes audio to text with the Google Cloud Speech-to-Text v1 API, from audio bytes or a gs:// file.
Google Text-to-Speechgoogle-text-to-speechThe google-text-to-speech component turns text or SSML into speech audio (MP3, OGG Opus, WAV) with the Google Cloud Text-to-Speech v1 API.
Templating 5
FreeMarkerfreemarkerThe freemarker component renders a FreeMarker (FTL) template against the message and sets the rendered text as the new body.
MustachemustacheThe mustache component renders a Mustache template against the message (body, headers, properties) and sets the rendered text as the new body.
MVELmvelThe mvel component renders an MVEL 2 template (orb tags such as @{expr} and @foreach{}) against the message and sets the rendered text as the new body.
StringTemplatestring-templateThe string-template component renders a StringTemplate 4 template against the message and sets the rendered text as the new body.
VelocityvelocityThe velocity component renders an Apache Velocity (VTL) template against the message and sets the rendered text as the new body.
XML, JSON and validation 8
JSON Schema validatorjson-validatorThe json-validator component checks the message body (or a header) against a JSON Schema and fails the exchange with a JsonValidationException listing every error when it does not conform.
ValidatorvalidatorThe validator component checks the XML message body against an XML Schema (XSD) and fails the exchange with a SchemaValidationException listing every error when it does not conform.
XJxjThe xj component converts XML to JSON and JSON to XML, either directly (xj:identity) or through an XSLT stylesheet.
XML Security Signxmlsecurity-signThe xmlsecurity-sign component adds an XML Signature (XMLDSig, RSA-SHA256 or ECDSA-SHA256) to the XML message body, enveloped, enveloping or detached.
XML Security Verifyxmlsecurity-verifyThe xmlsecurity-verify component checks the XML Signature in the message body against a trusted key and, by default, removes the signature; a bad signature fails the exchange.
XQueryxqueryThe xquery component runs an XQuery file against the XML message body and replaces the body with the query result.
XSLTxsltThe xslt component transforms the XML message body with an XSLT stylesheet and sets the result (XML, HTML or text) as the new body.
XSLT Saxonxslt-saxonThe xslt-saxon component transforms XML with an XSLT stylesheet like xslt, under the scheme Camel uses for Saxon; version="2.0" stylesheets get XPath 2.0 and the XSLT 2.0 core.