Skip to content
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

Need a Web UI? #77

Closed
astefanutti opened this issue Sep 14, 2018 · 4 comments
Closed

Need a Web UI? #77

astefanutti opened this issue Sep 14, 2018 · 4 comments

Comments

@astefanutti
Copy link
Member

As it looks like Camel-K is the Hawtest way of running Camel in the cloud 😉, I was wondering if the Hawtio console for Kubernetes / OpenShift could provide any Camel-K plugin.

If you have any ideas, suggestions, ..., I'd be glad to work something out!

Here is a screenshot of the discover page:

screen shot 2018-09-14 at 17 48 26

@nicolaferraro
Copy link
Member

A UI is a really nice idea!
We're making progress with the kamel command line helper that allows publishing files containing Camel routes in multiple supported languages, and will allow soon to have instant redeploys (#34).

But for what concerns the future plans we had already in mind that crazy idea of creating a web-based mini-IDE, where you can write (code) your routes, have auto-completion through a backend language server, customize the integration details (e.g. components, configuration properties, passwords), and run them, with a immediate feedback on the UI through a log window.
With something like that in place, devs could iterate on integrations quickly: change the code -> save -> instant redeploy.

This is what we have in mind now :)

Monitoring is the hardest part IMO. That's because currently we have a Deployment per integration that is always active, but later on we will drop this behavior to add the "scale to 0 feature". A simple example is a route like from("timer:job?period=1h").to("...") that will be probably materialized as a CronJob. This means there'll not be always a JVM with Jolokia to ask information to.

I guess exporting metrics and tracing info will be the way, but I've not gone into details at the moment.
Wdyt?

@astefanutti
Copy link
Member Author

But for what concerns the future plans we had already in mind that crazy idea of creating a web-based mini-IDE, where you can write (code) your routes, have auto-completion through a backend language server, customize the integration details (e.g. components, configuration properties, passwords), and run them, with a immediate feedback on the UI through a log window.
With something like that in place, devs could iterate on integrations quickly: change the code -> save -> instant redeploy.

This is what we have in mind now :)

That is pretty much what I had in mind too 😄! Hawtio Online has what's needed for the master API integration part. It could detect if the Camel-K CRD is present and activates the plugin accordingly. The later would be able to auto-discover the existing Camel-K definition / deployment and propose an edit button that would lead to a mini-IDE. The UI image could be enriched with a LSP container.

Monitoring is the hardest part IMO. That's because currently we have a Deployment per integration that is always active, but later on we will drop this behavior to add the "scale to 0 feature". A simple example is a route like from("timer:job?period=1h").to("...") that will be probably materialized as a CronJob. This means there'll not be always a JVM with Jolokia to ask information to.

Jolokia is one source of monitoring (maybe more management actually). I am planning to source monitoring data from Prometheus and the Metrics API in the near future as well in Hawtio Online.

@astefanutti
Copy link
Member Author

camel-k-ui looks very promising! Let me close this issue, which was more of a question, and iterate there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants