This PR just takes the otlphttp module and pulls out the grpc support into a new otlpgrpc module, in order to allow our current UI to manage it and simplify the config. To avoid copypasta, the bulk of the source has been placed in a common source and header file which are used in the the build of both modules. Docs have been updated and each module has a "scratch" that can be used to boot it up so that manual testing can be done easily.
The only user-visible change (besides the separate modules) is that the enable_http and enable_grpc module config is no longer required, since they are now in separate modules.
The new otlpgrpc module has been smoke tested locally and responds properly to telegraf. Manual testing will be needed on actual brokers in order to verify that all is working as intended (although the risk is low, because code was only changed to the extent of pulling the module apart).
This PR just takes the otlphttp module and pulls out the grpc support into a new otlpgrpc module, in order to allow our current UI to manage it and simplify the config. To avoid copypasta, the bulk of the source has been placed in a common source and header file which are used in the the build of both modules. Docs have been updated and each module has a "scratch" that can be used to boot it up so that manual testing can be done easily. The only user-visible change (besides the separate modules) is that the enable_http and enable_grpc module config is no longer required, since they are now in separate modules. The new otlpgrpc module has been smoke tested locally and responds properly to telegraf. Manual testing will be needed on actual brokers in order to verify that all is working as intended (although the risk is low, because code was only changed to the extent of pulling the module apart).