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

List Camel's endpoint in the integrations status #5241

Open
lburgazzoli opened this issue Mar 11, 2024 · 8 comments
Open

List Camel's endpoint in the integrations status #5241

lburgazzoli opened this issue Mar 11, 2024 · 8 comments
Labels

Comments

@lburgazzoli
Copy link
Contributor

lburgazzoli commented Mar 11, 2024

Requirement

List Camel's endpoint in the integrations status

Problem

The camel-k operator can project the status of the Camel context/routes/etc to the Integration' status by scraping the health endpoint so that tools can get the status of the routes without having to interact with the running process.

It would be nice to also have information about the endpoints registered with the Camel Context so as an example, advanced tools can draw a topology

Proposal

The Camel runtime could optionally expose some additional information, like those exposed by the camel-console but in a production ready way (read only, minimal data).

This production ready console Could be integrated with Spring Boot actuators and Quarkus management interface.

The camel-k operator could then grab such data and project it to the integration status:

apiVersion: camel.apache.org/v2
kind: Integration
name: my-integration
spec:
  ...
status:
  endpoints:
    - url: "kafka:my-topic"
      parameters:
          broker: "my.kafka.broker.com"
    - url: "aws-s3:my-bucket"
      parameters:
          region: "eu"

Tools like HawtIO, OpenShift DevConsole could then be able to draw a topology of the existing integration and 3rd party systems.

Open questions

No response

@lburgazzoli lburgazzoli added the kind/feature New feature or request label Mar 11, 2024
@lburgazzoli
Copy link
Contributor Author

@davsclaus ^^

@squakez
Copy link
Contributor

squakez commented Apr 5, 2024

@lburgazzoli I think this can intersect with the work I'm about to retake of #5096. Right now, using as an example reference the Quarkus runtime, the service is returning the following result:

			  {
			    "status": "DOWN",
			    "checks": [ {
			      "name": "camel-routes",
			      "status": "DOWN",
			      "data": {
			        "route.id": "route1",
			        "route.status": "Stopped",
			        "check.kind": "READINESS"
			      }
			    }]
			  }

Do you think can be this enough to start some development which may eventually be enhanced with any future work on Camel core?

@lburgazzoli
Copy link
Contributor Author

I don't think this should be something to be included in the health endpoint but rather a dedicated endpoint

@squakez
Copy link
Contributor

squakez commented Apr 5, 2024

I don't think this should be something to be included in the health endpoint but rather a dedicated endpoint

Clear. What I mean is, while this is available on Camel core, should we start the development on the operator side? I guess that, when the new development is ready, then, we can easily change the endpoint to the new one. In the while, however, we'd be preparing all the required stuff on the operator side.

@squakez
Copy link
Contributor

squakez commented Apr 5, 2024

BTW, this I was meaning to include the info that are already on the health endpoint

@lburgazzoli
Copy link
Contributor Author

I'd personally wait to see how/if things would be implemented in camel core

@lburgazzoli
Copy link
Contributor Author

Copy link
Contributor

This issue has been automatically marked as stale due to 90 days of inactivity.
It will be closed if no further activity occurs within 15 days.
If you think that’s incorrect or the issue should never stale, please simply write any comment.
Thanks for your contributions!

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

No branches or pull requests

2 participants