Repository navigation
v0.2.1
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
mallocgrows 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