Production container with pre-built service binaries #34
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "development_production_container"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Production container that pre-builds ALL hero service binaries at Docker build time, producing a slim
debian:bookworm-slimimage (~427MB) with no Rust toolchain or SSH keys needed at runtime.Closes #30
Depends on #32 (dev container fixes this is based on)
What's included
Dockerfile.prod: Multi-stage build that compiles hero_services + zinit + all 12 service reposdocker/build-services.sh: Build script that clones and builds each service (withbuild_cargofor repos needing custom builds like hero_os)docker/strip-build-sections.sh: Strips[build]/[install]/[download]sections and removes "install" from profile actionsbuild-prod-container.yaml: CI workflow for production image builds (manual dispatch)stop_and_cleanpreserves pre-built binaries when no[build]sections existTest results (local build)
Build: 12/12 service repos compiled successfully
Runtime: 19/21 services running
hero_indexerbut repo buildshero_indexer_openrpc)Remaining issue
The
hero_indexer.tomlreferences binaryhero_indexerbut the repo now buildshero_indexer_openrpcandhero_indexer_http(restructured). Fixing the TOML exec line will bring it to 21/21. This is a pre-existing issue also affecting the dev container.Dev vs Production container
Dockerfile)Dockerfile.prod)rust:slim-bookwormdebian:bookworm-slimRun
WIP: Production container with pre-built service binariesto Production container with pre-built service binariesSuperseded by #43 (combined deploy branch with all PRs merged).
Pull request closed