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

What are the prerequisites / requirements for adding new distro? #179

Closed
yurishkuro opened this issue Nov 7, 2023 · 5 comments
Closed
Assignees

Comments

@yurishkuro
Copy link

Jaeger is working on v2 that will be based on OTEL collector infrastructure, so we could point to this tool for config validation. I have a couple questions:

  1. what are the prerequisites that a disto must meet to be compatible with this tool?
  2. I assume extensions are also validated - are there plans for visualizing them (including inter-dependencies that will be supported in the next collector version)?
@mmanciop mmanciop self-assigned this Nov 7, 2023
@mmanciop
Copy link
Member

mmanciop commented Nov 7, 2023

Hi @yurishkuro

  1. the process to add a new distro is documented here. Pretty much is (1) you have RPMs for it (but the limitation is just a convenience and can be lifted with some work) and (2) some bespoke logic is written for the validation handler.

  2. A suite of tests is run to validate that our backend validation can detect correctness of some configurations (the backend needs to provide a uniform interface to the frontend). We do not show extensions yet on the graph, but if you misconfigure an extension or reference an extension that is not declared, it is highlighted as an error in the editor pane.

Indeed everything is validated with the backend validation, short of the actual processing of data: it literally brings up that Distro's collector running on a Lambda function and tests the config that way. Browser-only validation is naturally more limited, and based on a JSON schema from nimbushq/otel-validator.

@mmanciop
Copy link
Member

mmanciop commented Nov 7, 2023

@yurishkuro about:

[extension] inter-dependencies that will be supported in the next collector version

I guess you mean the start order. If not, do you have some useful links on the topic?

@yurishkuro
Copy link
Author

Yes, the start order. Although it's not accessible from the config only, so will be difficult to take into account here.

@mmanciop
Copy link
Member

mmanciop commented Nov 8, 2023

Yes, the start order. Although it's not accessible from the config only, so will be difficult to take into account here.

@yurishkuro if I read the Collector's extension lifecycle order PR right, there is no way to know statically whether the value of a configuration entry for a given extension references by ID another extension. Given this, I don't think we can do much graphical about it in OTelBin, unfortunately.

I fully expect dangling extension references to be found with the backend validation. We'll need to parse and contextualise in the editor:

  1. The error message for dangling extension references
  2. The error message for circular dependencies between extensions

CC @bripkens and @roshan-gh

@mmanciop
Copy link
Member

@yurishkuro I am going ahead and closing the issue. Feel free to reopen if there is something that has not been addressed yet.

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

2 participants