-
Notifications
You must be signed in to change notification settings - Fork 55
Open
Description
I have a number of proposals that I can make to this project:
- Two-stage build in docker. In this way, we will have a build in a reproducible environment.
- Optimized linking as much as possible. The image is required for production use. At high loads, even minor optimizations save resources.
- Build plugin along with Jaeger source code. In this way, we will influence the optimization of the building of Jaeger. We can use cache or saved docker levels to speed up building.
- Use Debian releases instead of Alpine distributive. One of the optimizations is linking with system libraries. Alpine has limited multithreading functionality due to the use of musl instead of libc. But there is no problem supporting both distributions.
- Image versioning that includes the Jaeger version, the plugin version, and the label that this container contains the plugin. The same approach is used by snyk. For example, the image will have the following tags:
ghcr.io/jaegertracing/jaeger-collector:1.29.0-clickhouse-0.8.0-stretchghcr.io/jaegertracing/jaeger-collector:1.29.0-clickhouse-0.8.0ghcr.io/jaegertracing/jaeger-collector:1.29.0-clickhouseghcr.io/jaegertracing/jaeger-collector:clickhouse-0.8.0-stretchghcr.io/jaegertracing/jaeger-collector:clickhouse-0.8.0ghcr.io/jaegertracing/jaeger-collector:clickhouse
- Have a complete set of images of own production:
all-in-one,jaeger-agent,jaeger-collector,jaeger-ingester,jaeger-query. - Run E2E-tests using docker-compose. example.
The implementation of part of the above can be found in this project https://github.com/levonet/docker-jaeger.
I'm ready to move this infrastructure and do support by my team during the time of using Jaeger.
bocharovf and wenerme
Metadata
Metadata
Assignees
Labels
No labels