Skip to content

Commit d47cf75

Browse files
committed
feat(blog): Camel K 2.9.0 release
1 parent fdb4288 commit d47cf75

File tree

4 files changed

+105
-1
lines changed

4 files changed

+105
-1
lines changed

antora-playbook-snippets/antora-playbook.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ content:
3131
# Let's keep latest active development + LTS active versions only
3232
branches:
3333
- main
34-
- release-2.8.x
34+
- release-2.9.x
3535
- release-2.7.x
3636
start_path: docs
3737

127 KB
Loading
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: "Camel K 2.9.0"
3+
date: 2025-12-23
4+
draft: false
5+
authors: [squakez]
6+
categories: ["Releases", "Camel K", "Roadmap"]
7+
preview: "What's new in Camel K 2.9.0!"
8+
---
9+
10+
*© ‘Camel Caravan’ by D.Damdinsuren*
11+
12+
Last release of 2025! A present just in time for those celebrating Christmas. And this time, a very big package you'll be happy to open! **Camel K version 2.9.0** is bringing a lot of new features, improved traits and a new shiny **GitOps** operator assisted strategy. Let's unfold it together.
13+
14+
## GitOps operator side
15+
16+
During 2025 we have introduced several enhancements around **GitOps**. We had introduced the possibility to use a **Kustomize based overlay structure** already in the `kamel promote` CLI. In 2.9.0 we're closing the circle and add some automation on the operator side, in order to transfer to the operator the responsibility to create the Integration overlay structure and push to a Git repository of your choice. We believe this is the definitive step to have a complete **GitOps** strategy driven by Camel K.
17+
18+
From now on, you can take care of building and testing the application as done usually and, automatically delegate to the GitOps feature the responsibility to push the changes which will be eventually taken by your CICD tooling (even on a different cluster!). We had thought on possible variants of this strategy in order to let you use it with a high degree of flexibility. The entire story is available in the [official Camel K GitOps documentation page](/camel-k/next/running/gitops.html) and we will probably come up with a more complete blog in the next months to explain it, even with more details.
19+
20+
And remind you can also build your application stored as a Git project: an real E2E Git journey that sets the base for the future Camel K.
21+
22+
## Dry Build
23+
24+
Another big achievement in this release is the feature called **Dry Build**. This is another game changer as it introduces a clear separation between the Build phase and the Execution phase of a Camel application. With this feature you won't be required any longer to Deploy and run the Integration after building it. Said in other terms, you can Build and package a Camel application ready to be Deployed without running it.
25+
26+
From now on you can separate clusters based on the responsibility, for example, segregate a "Build" cluster from the "Production" cluster.
27+
28+
Combined with the option of "Self Managed Build", it can allow you to define very flexible pipelines.
29+
30+
## New KEDA trait
31+
32+
We have revamped the old `keda` trait to be fully supported and integrated in the new future story of Camel K. The new trait resembles quite a lot to the previous one with a big difference. It is no longer bound to `Kamelet` only. We have worked on a nice automatic mapping mechanism to autodiscover any component and create a Scaler automatically with zero configuration. At the moment of writing, we have only one automatic scaler, `Kafka`. Feel free to use, ask for more, and possibly contribute yourself to new scalers (the development is really straightforward). Of course you can also configure manually your KEDA Scalers, while any needed automatic Scaler is still missing.
33+
34+
## Safer `kamel reset`
35+
36+
The `kamel reset` CLI command is a nice development tool, as it makes easy to wipe it off all workloads on a development namespace. But, wait, was it really the development namespace!? worry not, from now on, you will be asked to introduce the namespace manually as a mean of security.
37+
38+
## Pipe spec traits
39+
40+
So far we had the opportunity to configure traits in Pipe via annotations. We have decided to move directly into the spec as indeed, also the Pipes, need a certain degree of configuration that only traits are giving. From now on, you can use the very same logic we are using on the Integration spec. However, we advise to limit the usage of only the "Kubernetes" trait (ie, resource or cloud configuration) only as the goal of the Pipe is to be an abstraction from the generated Integration and a way to bind `source` and `sink` without knowledge around Camel specific implementation details.
41+
42+
NOTE: `kamel bind -t` option is available too!
43+
44+
## Cross namespace resource bindings
45+
46+
Pipes allow you to bind `sources` and `sinks` resources. We have now introduced the possibility to refer cross namespaces resources in order to allow you using other namespace resources which the Pipe `ServiceAccount` must be authorized to. This is a fundamental security policy used to avoid Pipe uses resources you're not allowed to use.
47+
48+
## Kamelets distribution dependency
49+
50+
In this release we're introducing the possibility to use a Maven Kamelet dependency directly in Camel K. This is bringing parity with local development approach you may be using with regular Camel and Camel JBang. Read more in the [Kamelet distribution documentation page](/camel-k/next/kamelets/distribution.html#kamelets-as-dependency).
51+
52+
## JVM CACert initialization
53+
54+
We are leveraging the presence of `init-container` trait introduced in recent version and added a new option on the `jvm` trait to easily enable the generation of a new JVM CACert right before the start of a new Camel application:
55+
56+
```
57+
kamel run app.java \
58+
-t mount.configs=secret:my-ca@/tmp/my-ca \
59+
-t mount.configs=secret:my-password@/tmp/my-password \
60+
-t jvm.ca-cert=/tmp/my-ca \
61+
-t jvm.ca-cert-password=/tmp/my-password
62+
```
63+
64+
The operator will be in charge of all heavy lift!
65+
66+
## Deprecations
67+
68+
In this release we're adding some deprecation. These are the traits we have decided to deprecate: `logging`, `master`, `telemetry`. They can all be configured easily via Camel properties, so, they no longer add too much value to the project. We have also deprecated `kamel` CLI `delete`, `get` and `kit`. The alternative is already available with `kubectl` CLI and similar.
69+
70+
## Documentation
71+
72+
We added several resources. Here we want to highlight the new guide you can use as a reference to [Debug Camel application in the cloud](/camel-k/next/troubleshooting/debugging.html).
73+
74+
## Main dependencies
75+
76+
The operator was built with Golang 1.25 and the Kubernetes API is aligned with version 1.34. We haven't changed the Camel K Runtime LTS version (3.15.3, based on Camel 4.8.5): this is for backward compatibility reasons. As mentioned already since version 2.7, we're pushing to the usage of `plain-quarkus` provider, which allow you to **use any released Camel Quarkus version**, or Git stored Camel projects.
77+
78+
## Full release notes
79+
80+
Okey, that was a long ride. We have more minor things, fixes, documentation and dependency updates that you can check in the [2.9.0 release notes](https://github.com/apache/camel-k/releases/tag/v2.9.0).
81+
82+
## Stats
83+
84+
Here some stats that may be useful for development team to track the health of the project (release over release diff percentage):
85+
86+
* Github project stars: 903 (+1,5 %)
87+
* [Docker pulls over time](https://hub.docker.com/v2/repositories/apache/camel-k/): 2434805 (+1,8 %)
88+
* Unit test coverage: 61.1 % (+10 %)
89+
90+
# Thanks
91+
92+
Thanks a lot to our contributors and the hard work happening in the community. Feel free to provide any feedback or comment using the Apache Camel available channels.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
url: "/releases/k-2.9.0/"
3+
date: 2025-12-23
4+
type: release-note
5+
version: "2.9.0"
6+
title: "Camel-K 2.9.0"
7+
preview: ""
8+
changelog: ""
9+
category: "camel-k"
10+
milestone: 59
11+
jdk: [17,21]
12+
---

0 commit comments

Comments
 (0)