compose-serving-stack runs the full otel/opentelemetry-collector-contrib image, pinned in collector.py. Two things follow from that.
It is far more than we need. Common practice is to build your own collector with only the components you use. We could ship a minimal image carrying the receivers, processors and exporters Modelplane actually composes, which is a much smaller image and a much smaller attack surface on every GPU cluster.
The image should be configurable. An operator who wants an exporter we didn't build in has no way to get one today. If they could point the collector at their own image, they could build it themselves — and that also answers the question of whether a new exporter needs a Modelplane release to reach them. Today it does.
Worth pairing with a renovate rule: OTel releases roughly every two weeks, and the pin will go stale on its own otherwise. (The pin is current as of filing — 0.161.0 against 0.162.0 latest — so this is about not drifting, not about catching up.)
Raised by @lsviben on #470 (comment) and #470 (comment), and by @negz on #470 (comment).
compose-serving-stackruns the fullotel/opentelemetry-collector-contribimage, pinned incollector.py. Two things follow from that.It is far more than we need. Common practice is to build your own collector with only the components you use. We could ship a minimal image carrying the receivers, processors and exporters Modelplane actually composes, which is a much smaller image and a much smaller attack surface on every GPU cluster.
The image should be configurable. An operator who wants an exporter we didn't build in has no way to get one today. If they could point the collector at their own image, they could build it themselves — and that also answers the question of whether a new exporter needs a Modelplane release to reach them. Today it does.
Worth pairing with a renovate rule: OTel releases roughly every two weeks, and the pin will go stale on its own otherwise. (The pin is current as of filing — 0.161.0 against 0.162.0 latest — so this is about not drifting, not about catching up.)
Raised by @lsviben on #470 (comment) and #470 (comment), and by @negz on #470 (comment).