-
Notifications
You must be signed in to change notification settings - Fork 164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Camel K 1.0.0 announcement #387
Conversation
We can merge this when it's official |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome blog - has a great set of details and how great Camel K 1.0 is from the beginning.
We may want to add a section int the bottom about links to how to download and "install Camel K".
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, | ||
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/)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
space after k ]
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 it. The Red Hat Integration tooling team has created some cool extensions for VS Code that make the development experience |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Integration tooling team
Code completion works with Java code, but it's not only limited to it: you also have suggestions and documentation out of the box when writing the Camel URIs and property files. | ||
And you also have many options to run integrations and interact with them, all integrated in the IDE. | ||
|
||
Just install the VS Code [Extension Pack for Apache Camel by Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.apache-camel-extension-pack) to have all these features available. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extension Pack for Apache Camel
|
||
The **basic quickstart is [also available online](https://learn.openshift.com/middleware/courses/middleware-camelk/camel-k-basic)**, so you can have a look at how camel k works **without installing anything on your laptop**. | ||
|
||
More examples are expected to come in the following months. You are also welcome if you want to help us by **contributing your own**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More tutorials
More examples are expected to come in the following months. You are also welcome if you want to help us by **contributing your own**. | ||
They are based on the [VSCode Didact](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-didact) project, that provides an | ||
awesome user experience. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could also add a section about the misc examples we have here
https://github.com/apache/camel-k/tree/master/examples
I do like the tutorials but they kinda assume you have the time and want to use Visual Code.
For people that just want to hack from CLI and a plain text editor (notepad++, emacs etc) then I would like to point them to these standalone. We could in the future port them or some of them to that example git repo.
There are some good ones here we could point to at first:
kamel run Sample.java
kamel run hello.xml
kamel run simple.js
kamel init Handler.java | ||
``` | ||
|
||
You get a Java file with **all the boilerplate written for you** and you just have to write your integration routes. It works also with all other languages: Groovy, XML, YAML, Kotlin and JavaScript. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add an example for another language, eg
kamel init foo.js
kamel run -d mvn:org.my:lib:1.0.0 -d mvn:org.my:otherlib:2.0.0 -t quarkus.enabled=true Handler.java | ||
``` | ||
|
||
Sometimes the number of command line parameters you've to add **can become too many**. For this reason we've added the possibility to specify them as **modeline options** in the integration file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(done by adding a comment line with camel-k: as prefix)
Whenever you have an integration route that must be running, at any point in time, in at most one single Camel instance, you need to use a master route. Master routes can be declared by simply prefixing the consumer endpoint by the 'master' keyword and a name that will be used to create a named lock, e.g. | ||
|
||
``` | ||
from('master:lock:telegram:bots') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lock -> mylock
.to('log:info') | ||
``` | ||
|
||
It can be used to print all messages that are sent to your Telegram bot. Since the Telegram API support a single consumer only, you can guard the route with a master prefix to have the guarantee that the consumer will be only one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that there will be at most only one consumer at any given time
|
||
You can see that keeping a container with a JVM running for a task that should be executed once every two minutes may be overkill (it is overkill for sure when the period is 2 hours). We live in a time where resources such as **memory and CPU are really valuable**. | ||
|
||
So the Camel K operator automatically handles this situation by deploying your integration not as a Kubernetes deployment, but as a **Kubernetes CronJob**. This saves a lot of resources, especially when the period between executions is high. When it's time to run your integration code, a container starts, triggers the execution and then gracefully terminates. Everything is handled automatically by the Camel K runtime. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by the Camel K runtime -> by Camel K and Kubernetes.
Thanks @davsclaus , I think I've addressed all the points |
Are we ok on merging this? @nicolaferraro @davsclaus |
+1 |
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 it. The integration tooling team has created some cool extensions for VS Code that make the development experience |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps:
But now we've it. The integration tooling team has created some cool extensions for VS Code that make the development experience | |
But now we've have it. The integration tooling team has created some cool extensions for VS Code that make the development experience |
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, | ||
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/)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be cool to cross post this to Camel blog as well
No description provided.