Camel GitOps on Cloud

, by

With Camel K version 2.9 we have enhanced the GitOps capability of the operator to run a builtin opinionated GitOps strategy. In this blog we are going to expand with a complete example and show how to enabled with a sample Camel application we build on an environment and we promote to another environment controlled with a gateway. The process will be the following: a development team (the “citizen integrator”?) is in charge to develop and test a given Camel application on a development environment.

Continue reading ❯

HOWTOSCAMEL K

Prototyping E2E scenarios with Apache Camel

, by

Introduction In this blog post, we’ll explore how Apache Camel JBang’s Infrastructure Command can help you rapidly prototype end-to-end integration scenarios and adapt to changing requirements. We’ll walk through a realistic development scenario where requirements evolve over time, demonstrating how Camel’s flexibility makes it an ideal choice for proof-of-concept development. Camel JBang Infrastructure: Your Prototyping Toolkit We already know and love Camel JBang (if you don’t, check out Claus Ibsen’s YouTube channel for excellent tutorials).

Continue reading ❯

HOWTOS

Camel Observability Services

, by

Observability is a pillar of any distributed Microservices oriented architecture. As the number of services to govern may rise in number, it’s very important to have a clear and easy way to understand (observe) what’s going on in a distributed system at any time. And this feature become even more important when you’re running your application in the cloud. What is Observability from Camel perspective The term Observability is often used with a wide perspective and may provide misunderstanding about what it really encompass.

Continue reading ❯

HOWTOS

Connecting EDI to the Enterprise with Camel & Smooks

, by

Electronic Data Interchange (EDI) underpins the flow of information in numerous industries. From healthcare, retail, and aviation, to finance, manufacturing, and logistics, EDI is the workhorse carrying billions of transactions across applications in these industries. Historically viewed as a long, complex and costly journey, connecting EDI to the enterprise is traditionally thought to belong in the realm of expensive proprietary software or organisations with sizeable in-house IT teams. The goal of this blog post is to dispel this perception.

Continue reading ❯

USECASESHOWTOSTOOLING

Migrating from Camel Karaf to Camel Spring Boot or Quarkus

, by

This is the 2nd blog post in a series of migration blogs to provide details and help for users to Camel 4. The first blog post that focus on general migration principles can be found here. This blog post focuses on migrating from legacy Apache Karaf OSGi Blueprint to Camel 4. Migration Tasks The migration from Camel Karaf and OSGi Blueprint to Camel 4 is not a trivial migration effort.

Continue reading ❯

HOWTOS

Modernizing Camel's Test Support Code: How To

, by

Earlier I wrote a blog post about a multi-release effort to clean up some of the legacy test code for Camel 4. In this blog post, I will dive into more details about how to adjust your code to use the modernized interfaces. New Interfaces Camel 4.9 will introduce two new interfaces to CamelTestSupport that will help users adjust their code and will help us with future maintenance of the test support code.

Continue reading ❯

HOWTOS

Easier migration with Apache Camel

, by

This blog post introduces a Camel Upgrade Recipes project and shows an example of its usage. Introduction Migrating Apache Camel code can often be a tedious and error-prone process, especially when it involves repetitive tasks like renaming classes, updating method signatures, or adapting to new Camel API changes. To address this need, Camel Upgrade Recipes project based on OpenRewrite was developed. The project is not designed to provide fully automated migration but rather to assist with manual migrations, making them more efficient and less error-prone.

Continue reading ❯

HOWTOS

Modernizing Camel's Test Support Code: What You Need to Know

, by

The first law of software complexity says that “a well-designed system will degrade into a badly designed system over time”. This law can be ruthless for open source projects receiving hundreds of contributions every month. That’s why projects must refactor code, evaluate APIs, review tests, and modernize code to leverage the latest and greatest features from Java. Camel Test Support One area in Camel that has had little attention until recently was our test support code.

Continue reading ❯

HOWTOS

Camel K runtimes with Knative

, by

In the last 2.2.0 version release, Camel K added an interesting feature that gave the users the possibility to build their Camel application externally and run via the operator with certain limitations. In this blog we’re trying to analyze those limitations and provide some example that will show you how to possibly leverage this feature. What is a “sourceless” Integration? With a great effort of creativity (sarcasm), we have named this feature as “sourceless” Integration.

Continue reading ❯

CAMEL KHOWTOS

Camel 4 Data Types

, by

Since Camel 4, users are able to apply data types to their individual Camel routes in order to transform the processed message content in a declarative way. The data type functionality has been added on top of the well-known Transformer EIP that is a part of Apache Camel since the beginning. This post gives a short introduction to the concept of data types and continues with several examples that show how to use those data types in Camel for instance as a form of Camel route contracts.

Continue reading ❯

HOWTOS

Migrating to Apache Camel 4

, by ,

Apache Camel 4 was released a few months back. This blog post is a general guideline for Camel users that are seeking information how to migrate from Camel 2 or 3. We plan to launch a series of blog posts in the near future with more specific details on migrating, such as migrating from Camel Karaf to Camel 4 on Spring Boot or Quarkus. Apache Camel 4.0 is a fork of Camel 3.

Continue reading ❯

HOWTOS

Camel K Observability: Micrometer Metrics

, by

We already explained how to take monitor your Integrations in the previous blog post about monitoring operations on Camel K. The good news is there are only a few changes with the move to Micrometer Metrics. From Microprofile to Micrometer Camel K 2.0 was the occasion to move from one technology (Microprofile) to another (Micrometer) for the Prometheus trait configuration implementation. The reason is the deprecation notice from Quarkus Microprile’s implementation in favor of using Micrometer Metrics.

Continue reading ❯

CAMEL KHOWTOS

Camel K GitOps

, by

In this blog post we’ll be talking about GitOps and we’ll provide some approach that we hope can help you understand better how you can do such kind of operations togheter with Camel K. As we’re talking about processes, all the discussion we’re going to provide can be different in each company, environment and according the set of tools you’re using. The idea of the blog is to show the possibilities offered by Camel K in order to help you understand better how you can adapt your own tools and process to Camel K deployment model.

Continue reading ❯

HOWTOSCAMEL K

How to configure a Maven proxy in Camel K

, by

One of the main effort we’re putting in Camel K version 2 is to have a enterprise grade building system. Not that Camel K version 1 has not this capability, but some of the key features are not very explicit. So I thought that, while waiting for Camel K version 2 release, where we’re making all this configuration explicit, I can share some tip on how to improve the capacity to build and have a production enterprise ready environment also in Camel K 1.

Continue reading ❯

HOWTOSCAMEL K

Camel Micrometer Observation: Observability with Micrometer

, by

The Spring Observability Team has added native observability support for Spring Applications with Spring Framework 6 and Spring Boot 3. You can read more about the feature in the Spring blog where the Micrometer team explains what Observability and Micrometer Observation projects are. This blog post will explain how to set up Micrometer Observation and how you can add observability to your Camel projects. Setting up the ObservationRegistry The following snippet of code shows how to set up basic metrics and tracing capabilities for an ObservationRegistry.

Continue reading ❯

HOWTOS

Camel K Observability: Distributed Tracing

, by

Tracing is an important approach for controlling and monitoring the experience of users, it allows us to gather more information about an integration’s performance. Camel K has been providing support for distributed tracing using OpenTracing since long time. At the beginning of 2022, the CNCF announced that they were archiving the OpenTracing project in favor of the OpenTelemetry project. OpenTelemetry is the latest solution created by merging OpenTracing and OpenCensus. As a result, we decided in Camel K 1.

Continue reading ❯

CAMEL KHOWTOS

Testing Camel K with YAKS

, by

This post describes the steps to test a Camel K integration with YAKS both locally and on the Kubernetes platform. What is YAKS? YAKS is an Open Source test automation platform that leverages Behavior Driven Development concepts for running tests locally and on Cloud infrastructure (e.g. Kubernetes or OpenShift). This means that the testing tool is able to run your tests both as local tests and natively on Kubernetes. The framework is specifically designed to verify Serverless and Microservice applications and aims for integration testing with the application under test up and running in a production-like environment.

Continue reading ❯

HOWTOSCAMEL K

How to test an Integration for Camel K

, by

Testing is probably one of those operations we use to repeat most of the time while building any application. Applications in Camel world are no difference. With the advent of Camel JBang, we have a unified place that can be used to perform our testing/fine tuning locally before moving to a higher environment. During the last years of development, we have noticed that testing or fine tuning an integration directly connected to a Cloud Native environment can result a bit cumbersome.

Continue reading ❯

HOWTOSCAMEL KTOOLING

Camel K CICD

, by

In Camel K version 10, we’ve released the CLI `promote feature that provides Camel K an opinionated way of promoting an Integration through the stages of software development. This feature unlock the possibility to combine Camel K with external tooling and let the user develop according to any automated release process. We always ear about CI/CD (Continuous Integration/Continuous Delivery and/or Deployment), and in this blog we’re going to see how to make it for any Camel K integration.

Continue reading ❯

HOWTOSCAMEL K

Author-led Training on Apache Camel

, by

Announcing Author-led Training on Camel I’m happy to announce the release of a new course on Apache Camel at Pluralsight. The course, “Fundamentals of Integration with Apache Camel”, by Michael Hoffman, is intended to help you learn the foundations of Camel as well as how to apply it at an enterprise scale. Demonstrations are provided for implementing ETL, Event-Driven Architecture with RabbitMQ and Kafka, and finally, serverless with Camel-K. Please note, Pluralsight is a paid subscription service.

Continue reading ❯

HOWTOSEVENTS

Apache Camel and CVE-2021-44228 (log4j)

, by

Apache Camel is NOT using log4j for production Apache Camel does not directly depend on Log4j 2, so we are not affected by CVE-2021-44228. If you explicitly added the Log4j 2 dependency to your own applications, make sure to upgrade. Apache Camel is using log4j for testing itself Apache Camel does use log4j during testing itself, and therefore you can find that we have been using log4j v2.13.3 release in our latest LTS releases Camel 3.

Continue reading ❯

HOWTOS

Karavan Serverless mode

, by

Karavan Serverless What’s new in Karavan preview release 0.0.8? In addition to VSCode extension and Standalone application, Karavan could be deployed in Serverless mode alongside Camel-K on Kubernetes. Karavan Serverless gets and applies Integration Custom Resources directly from/to Kubernetes. Try Karavan Serverless mode on Minikube Install Minikube Install Camel-K Install Karavan serverless git clone --depth 1 https://github.com/apache/camel-karavan cd camel-karavan/karavan-demo/serverless kubectl apply -k karavan -n default Get Karavan URL minikube service camel-karavan --url The output should be like the following:

Continue reading ❯

TOOLINGEVENTSCAMEL KHOWTOS

The Camel: mocking more than ever helped by Quarkus friend

, by

Even implementing a simple stateless micro-service, one could face situations where testing becomes hard. A lot of tools and techniques could help, but having something at hand quickly is very handy. In this post, I’m introducing a Quarkus feature that plays nice with Camel in order to mock beans for test purpose. Camel and Quarkus together for mocking beans It’s long known that Camel offers great support for Java beans. Every time a developer needs custom code, this feature comes to the rescue.

Continue reading ❯

HOWTOSCAMEL QUARKUS

Command line utility with Camel Quarkus

, by

Camel and Camel Quarkus are typically used to create integration applications that run as long living processes, a.k.a. daemons or services. In this blog post, we are going to explain a slightly different use case: using Camel Quarkus in programs that exit by themselves after performing some desired tasks. Where can this be useful? The enterprise is full of scheduled batch processing. Say, some system exports some sort of reports daily at 4 a.

Continue reading ❯

HOWTOSCAMEL QUARKUS