parseable
parseable copied to clipboard
Fix dockerfile to include glibc for runtime dependency
Description
For compatibility with glibc, some options that were attempted, but didn't work out were:
# apk add gcompat
# apk add libc6-compat
They both resulted in errors similar to the one shown below with alpine-glibc-v2.35-r0
This patch installs glibc for alpine to include the C Runtime Dependencies.
The version chosen is 2.34-r0 instead of 2.35-r0 (Latest Release). This is because the latest release is producing errors at runtime as follows:
Error relocating /lib/ld-linux-x86-64.so.2: unsupported relocation type 37
Error relocating /bin/parseable: __memcpy_chk: symbol not found
Error relocating /bin/parseable: __register_atfork: symbol not found
Error relocating /bin/parseable: gnu_get_libc_version: symbol not found
Error relocating /bin/parseable: __res_init: symbol not found
- Added Glibc package
- Added a chown (missing folder permission for parseable user
This cannot be merged yet as the server panics with the following error upon starting
$ docker run parseable-glibc parseable server --demo
thread 'local-sync' panicked at 'unable to parse localtime info: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/chrono-0.4.20/src/offset/local/unix.rs:95:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread '<unnamed>' panicked at 'unable to parse localtime info: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/chrono-0.4.20/src/offset/local/unix.rs:95:37
Error: Failed to sync local data to disc. This can happen due to critical error in disc or environment. Please restart the Parseable server.
Join us on Parseable Slack if the issue persists after restart : https://launchpass.com/parseable
The image size is 80.4MB
This PR has:
- [ ] been tested to ensure log ingestion and log query works.
- [x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
- [x] added documentation for new or modified features or behaviors.