Skip to content

Commit

Permalink
fix: remove missing link
Browse files Browse the repository at this point in the history
  • Loading branch information
squakez committed Aug 19, 2024
1 parent 3a9f891 commit 8742c8e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 17 deletions.
25 changes: 12 additions & 13 deletions content/blog/2020/06/camel-k-release-1.0.0/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ Apache Camel K has made a lot of progress since its inception and we're now prou
We've been working hard in the past months to add more awesome features to Camel K, but also to improve stability
and performance. This post contains a list of cool stuff that you'll find in the 1.0 GA release.

First of all, if you're living under a rock and it's the first time you hear about Camel K,
First of all, if you're living under a rock and it's the first time you hear about Camel K,
you can read some introductory blog posts here ([1 - introducing camel k](https://nicolaferraro.me/2018/10/15/introducing-camel-k/), [2 - camel k on knative](https://www.nicolaferraro.me/2018/12/10/camel-k-on-knative/))
or look at the Apache Camel website that contains a [Camel K section](/camel-k/next/)
with a lot of material that is automatically generated from the [Github repository](https://github.com/apache/camel-k).

## User experience

Camel K development style is minimalistic: you need just to write a single file with your integration routes and you can immediately
run them on any Kubernetes cluster. This way of defining things is common to many FaaS platforms (although Camel K is not a proper FaaS platform,
but a lightweight *integration* platform) and it's technically difficult to provide IDE support, such as code completion and other utilities,
Camel K development style is minimalistic: you need just to write a single file with your integration routes and you can immediately
run them on any Kubernetes cluster. This way of defining things is common to many FaaS platforms (although Camel K is not a proper FaaS platform,
but a lightweight *integration* platform) and it's technically difficult to provide IDE support, such as code completion and other utilities,
to developers.

But now we've done it. The integration tooling team has created some cool extensions for VS Code that make the development experience
Expand Down Expand Up @@ -61,11 +61,11 @@ You can find ready-to-use examples written in different languages (e.g. [XML](ht

## Serverless

Serverless is the most important area where we're focusing the new developments in Apache Camel K, although, you should remember,
Serverless is the most important area where we're focusing the new developments in Apache Camel K, although, you should remember,
you can have a wonderful Camel K experience even without serverless features.
To enable the serverless profile in Camel K, you just need to have **[Knative](https://knative.dev) installed**.

In recent releases, we have added support for the most recent advancements in Knative, for example, Camel K is very well integrated
In recent releases, we have added support for the most recent advancements in Knative, for example, Camel K is very well integrated
with the **Knative event broker** and you can easily produce or consume events from it.

With **2 lines of code** you can transfer events (e.g. generated by IoT devices) **from your MQTT broker to the mesh**:
Expand All @@ -76,7 +76,7 @@ from('paho:mytopic?brokerUrl=tcp://broker-address:1883&clientId=knative-bridge')
.to('knative:event/device-event')
```

No kidding, you just need to write those two lines of code in a file and run it with `kamel run bridge.groovy` to
No kidding, you just need to write those two lines of code in a file and run it with `kamel run bridge.groovy` to
push data into the Knative broker.

And you can also scale the Integration out (*Integration* is a Kubernetes custom resource, `kubectl get integrations` to see all of them)
Expand All @@ -88,20 +88,20 @@ The Camel K embedded auto-scaling feature works really well when you want to rea
```groovy
from('knative:event/device-event')
.to('http://myhost/webhook/random-id')
```
```

This integration is configured to receive all events with `type=device-event` and **scales automatically with the load** because it is materialized into a [Knative Serving Service](https://knative.dev/docs/serving/spec/knative-api-specification-1.0/#service)
and automatically [subscribed to the Eventing Broker via a Trigger](https://knative.dev/docs/eventing/broker/).

It then receives a [CloudEvent](https://cloudevents.io/) when your IoT devices produce something and scales down to zero if there's no data coming.
You just need to create it (as before, just `kamel run listener.groovy`), all the remaining configuration is
You just need to create it (as before, just `kamel run listener.groovy`), all the remaining configuration is
done **automatically by the Camel K operator**.

We've added much more features for having a better integration with the Knative ecosystem and we've also fixed some compatibility and performance issues that were present in previous versions. The user experience is now much smoother.

If you are a Knative YAML developer (!), instead of using Camel K directly, you also have the option to use **[Knative Camel Sources](https://knative.dev/docs/eventing/samples/apache-camel-source/)** which are part of the Knative release. They are wrappers for Camel K integrations that are compatible with all the tools used by Knative developers (such as the `kn` CLI or the OpenShift serverless console).
Sources in Knative can only push data into the various Knative endpoints, but not the other way around (i.e. they cannot be used to publish data from Knative to the outside).
In Camel K you don't have this limitation: the Route is the fundamental building block of a Camel integration and you can do whatever you want with it.
In Camel K you don't have this limitation: the Route is the fundamental building block of a Camel integration and you can do whatever you want with it.

## Fast startup and low memory

Expand Down Expand Up @@ -185,7 +185,7 @@ This kind of configuration is extremely useful in CI/CD scenarios because it all

## Monitoring and Tracing

Ok, you've finished level 1 of Camel K development and you want to make serious things. You're in a very good position because Camel K provides a lot of
Ok, you've finished level 1 of Camel K development and you want to make serious things. You're in a very good position because Camel K provides a lot of
useful tools to add visibility on **what your integration routes are doing**.

Let's suppose you've a **[Prometheus](https://prometheus.io/)** instance in your namespace and you want to **publish your integration metrics**:
Expand All @@ -203,7 +203,6 @@ kamel run Routes.java -t prometheus.enabled=true -t tracing.enabled=true
```

That's it again. The Camel K operator will add the camel-opentracing library and **connect it to the Jaeger collector that is available in the namespace**.
Here again, [advanced use cases](/camel-k/next/traits/tracing.html) are supported.

## Master routes

Expand Down Expand Up @@ -262,7 +261,7 @@ This way you're always notified of problems in the code and you can better under

The first step is to go to the [Camel K release page](https://github.com/apache/camel-k/releases) on Github (or the official [Apache release repository](https://dist.apache.org/repos/dist/release/camel/camel-k/1.0.0/)), **download the kamel CLI** for your OS and put it in your system path.

Installation is done usually using the `kamel install` command, but, depending on the kind of Kubernetes cluster you're using,
Installation is done usually using the `kamel install` command, but, depending on the kind of Kubernetes cluster you're using,
you may need to execute additional configuration steps.
The Camel K documentation contains a section about **[installing it on various types of Kubernetes clusters](/camel-k/next/installation/installation.html)**.

Expand Down
2 changes: 1 addition & 1 deletion content/blog/2023/02/camel-k-release-1-12/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ We're now looking forward to see a ton of new tools based on Camel K!

## Distributed Tracing support moving to OpenTelemetry

If you are already using Distributed Tracing tools then you might already know that the [CNCF](https://www.cncf.io) announced that they were [archiving the OpenTracing project](https://www.cncf.io/blog/2022/0T1/31/cncf-archives-the-opentracing-project/) in favor of the [OpenTelemetry project](https://opentelemetry.io/). In this new release we decided to introduce the [`telemetry` trait](/camel-k/next/traits/telemetry.html) based on OpenTelemetry and deprecate the [`tracing` trait](/camel-k/next/traits/tracing.html) based on OpenTracing.
If you are already using Distributed Tracing tools then you might already know that the [CNCF](https://www.cncf.io) announced that they were [archiving the OpenTracing project](https://www.cncf.io/blog/2022/0T1/31/cncf-archives-the-opentracing-project/) in favor of the [OpenTelemetry project](https://opentelemetry.io/). In this new release we decided to introduce the [`telemetry` trait](/camel-k/next/traits/telemetry.html) based on OpenTelemetry and deprecate the `tracing` trait based on OpenTracing.


## Dependencies upgrade
Expand Down
6 changes: 3 additions & 3 deletions content/blog/2023/03/camel-k-telemetry/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ categories: ["Camel K", "Features", "Devops"]
preview: "Camel K: how to configure Distributed Tracing for an Integration"
---

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.
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](https://www.cncf.io) announced that they were [archiving the OpenTracing project](https://www.cncf.io/blog/2022/01/31/cncf-archives-the-opentracing-project/) in favor of the [OpenTelemetry project](https://opentelemetry.io/). OpenTelemetry is the latest solution created by merging OpenTracing and OpenCensus. As a result, we decided in Camel K 1.12 to introduce the [`telemetry` trait](/camel-k/next/traits/telemetry.html) based on OpenTelemetry. At the same time we decided to deprecate the [`tracing` trait](/camel-k/next/traits/tracing.html) based on OpenTracing.
Camel K has been providing support for distributed tracing using OpenTracing since long time. At the beginning of 2022, the [CNCF](https://www.cncf.io) announced that they were [archiving the OpenTracing project](https://www.cncf.io/blog/2022/01/31/cncf-archives-the-opentracing-project/) in favor of the [OpenTelemetry project](https://opentelemetry.io/). OpenTelemetry is the latest solution created by merging OpenTracing and OpenCensus. As a result, we decided in Camel K 1.12 to introduce the [`telemetry` trait](/camel-k/next/traits/telemetry.html) based on OpenTelemetry. At the same time we decided to deprecate the `tracing` trait based on OpenTracing.

I'll walk you through the configurations needed to support Distributed tracing for your Camel integrations in this blog post.

Expand Down Expand Up @@ -52,7 +52,7 @@ If Jaeger is not already available on your kubernetes instance, an easy way to i

In short, to install the Jaeger operator you should:

* Install cert-manager if it is not installed as it is required
* Install cert-manager if it is not installed as it is required
```sh
# The cert manager is a prerequisite to the Jaeger operator (see https://cert-manager.io/docs/installation/)
$ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.10.1/cert-manager.yaml
Expand Down

0 comments on commit 8742c8e

Please sign in to comment.