/camel-k-examples

Apache Camel K Examples

Primary LanguageJavaApache License 2.0Apache-2.0

Camel K Examples

This repository contains a collection of Camel K examples useful to understand how it works, common use cases and the idiomatic programming model.

You can find more information about Apache Camel and Apache Camel K on the official Camel website.

Before you begin

Open the examples in the IDE

To better work on all examples, make sure you have all them locally by checking out the git repository:

git clone git@github.com:apache/camel-k-examples.git

We suggest you to open the examples with VSCode because it provides useful extensions for working with Camel K files. If you've already installed it on your machine, after cloning the repository, you can open the examples on the IDE executing:

code camel-k-examples

We suggest you to install the following extensions for VSCode (The IDE should automatically prompt to ask you to install them):

  • Extension Pack for Apache Camel: provides auto-completion, error handling as well as integrated IDE tools to manage the lifecycle of Camel K integrations
  • Didact: Provides a better getting started experience when following readme files in the various examples

Have your Kubernetes cluster ready

All examples require that you are connected to a Kubernetes/OpenShift cluster, even a local instance such as Minikube or CRC. Some advanced examples may have additional requirements.

Ensure that you've followed the Camel K installation guide for your specific cluster before looking at the examples.

Install the CLI tools

All examples need at least the following CLI tools installed on your system:

Examples

Examples are contained in directories ordered by level of difficulty.

Most examples provide a readme.didact.md file instead of the standard readme file. For those, if you're using VSCode with Didact installed, you can right click on the readme.didact.md file and hit "Didact: Start Didact Tutorial from File".

This is the current list of examples:

  • 01 Basic: Getting started with Camel K by learning the most important features that you should know before trying to develop more complex examples.
  • 02 Serverless API: Learn how to design an API that manages files in a remote storage location and leverages Knative Serving to scale automatically (even to zero instances) based on the current load.
  • 03 Knative Source Basic: Getting started with Knative Camel Source by learning the most important concepts you should know before trying to develop more complex examples.
  • 04 AWS Kinesis Source Basic: Learn how to consume AWS Kinesis events using Knative Camel Source.
  • 10 Knative Source Salesforce: Learn how to create a Knative Camel Source for Salesforce.
  • 11 Knative Source Slack: Getting started with Slack integration using Knative Camel Source.
  • 90 AWS Kinesis Source With a Custom Configuration: Learn how to use a custom AWS Kinesis configuration when consuming AWS Kinesis events using Knative Camel Source.