-
-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Currently, building binaries and plugins outside of a controlled environment may lead to runtime incompatibilities and non-reproducible builds. Introducing a dedicated builder image would provide a stable and consistent toolchain for compilation and linking.
A builder image would ensure:
- Reproducible builds with pinned compiler, Go version, and system libraries
- Correct linking of binaries and plugins
- Fewer environment-specific issues in local builds and CI/CD
- Cleaner production images via multi-stage Docker builds
Common issues without a builder image:
-
Plugin / runtime mismatch
plugin was built with a different version of package runtime -
Go toolchain mismatch
panic: plugin.Open: plugin was built with a different version of package sync -
libc incompatibility (glibc vs musl)
/lib64/libc.so.6: version `GLIBC_2.34' not found -
Invalid or incompatible binary format
invalid ELF header -
Missing shared libraries at runtime
error while loading shared libraries: libstdc++.so.6: cannot open shared object file -
CGO symbol resolution errors
undefined symbol: sqlite3_open_v2
Proposed solution:
Provide an official builder image that:
- Pins Go and system dependency versions
- Is used for compiling binaries and plugins
- Is compatible with the recommended runtime image
- Can be easily integrated into CI/CD and multi-stage Dockerfiles
This would significantly improve build reliability and developer experience.
Reactions are currently unavailable
Metadata
Metadata
Labels
enhancementNew feature or requestNew feature or request