open-telemetry / opentelemetry-collector-contrib

Contrib repository for the OpenTelemetry Collector
https://opentelemetry.io
Apache License 2.0
2.74k stars 2.17k forks source link

Enabling OpAMP Supervisor Authentication with Extension #32762

Open dmolenda-sumo opened 2 months ago

dmolenda-sumo commented 2 months ago

Component(s)

cmd/opampsupervisor

Is your feature request related to a problem? Please describe.

Some vendors have specific authentication methods and the current authentication method between the OpAMP server and OpAMP supervisor is not sufficient. Currently, the only way to solve this problem is to create fork and add custom authentication methods there.

Describe the solution you'd like

It would be useful to reuse the authentication extensions that are already available. To do this, the supervisor needs to be modified to include the extension in its build. Furthermore, the current supervisor configuration must be extended to allow for the definition of the extension and enable its use in the server definition.

The first step will be to attempt to add extensions to the supervisor in their current form along with all the required dependencies. This will help us determine the number of dependencies needed and whether this number is acceptable for us.

Describe alternatives you've considered

An alternative would be to somehow separate the logic responsible for authentication from that required by the collector of each extension. This would reduce the number of dependencies needed for the supervisor. Unfortunately, this solution requires changes to the collector, which will make it much more time-consuming. For this reason, we decided to try the first approach for now.

No response

Additional context

No response

github-actions[bot] commented 2 months ago

Pinging code owners:

BinaryFissionGames commented 1 month ago

Hey @dmolenda-sumo, have you made any progress on this?

I'd be happy to help with prototyping some different options if you'd like, I think last this was discussed we were considering what the best way to implement this was (e.g. if we had to separate out a different interface for these extensions or not).

BinaryFissionGames commented 1 month ago

I'm still interested in helping with this issue!

djaglowski commented 1 month ago

I'm going to assign this to @BinaryFissionGames since he's available to work on this now but please let us know @dmolenda-sumo if you were already in progress.

dmolenda-sumo commented 1 month ago

Unfortunately I won't be able to work on this issue :(. It's great that @BinaryFissionGames will be able to work on it

cforce commented 2 weeks ago

It would be great if general the concept of "extension" like in opentelemetry collector would be supported, especially the oauth2clientauthextension (https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/oauth2clientauthextension)n would be useful