Skip to content

v0.2.1

Choose a tag to compare

@thezillo thezillo released this 01 Jul 19:40
· 35 commits to main since this release

Alpine/musl base image

No functional changes — this release replaces the Docker base with a statically-linked musl build.

Why

  • Eliminates a whole class of deploy crash-loops: the glibc build required the builder and runtime images to track the exact same glibc minor version (bookworm vs trixie already bit this once — GLIBC_2.39 not found). A static musl binary has no runtime libc dependency at all.
  • Flatter memory footprint under load: glibc's malloc grows a memory arena per thread and rarely returns freed pages to the OS, so RSS climbs with concurrency and plateaus high. musl's single-arena allocator keeps this much tighter.
  • Smaller image: ~90MB (debian-slim) -> ~24MB (alpine).

Safety

The dependency tree is pure Rust — crypto provider is ring (not aws-lc-rs, no cmake), no openssl-sys or other C deps, DNS resolves through musl's own getaddrinfo. Full test suite (78 tests) passes unmodified under the musl target.

Image: ghcr.io/thezillo/codex-proxy:v0.2.1