Skip to content

feat(deploy): add Dockerfile.z3 multi-stage build with Z3 from source - #292

Open
telleroutlook wants to merge 1 commit into
mainfrom
fix/dockerfile-z3
Open

feat(deploy): add Dockerfile.z3 multi-stage build with Z3 from source#292
telleroutlook wants to merge 1 commit into
mainfrom
fix/dockerfile-z3

Conversation

@telleroutlook

Copy link
Copy Markdown
Contributor

Adds deploy/Dockerfile.z3 with three stages:

  • z3-builder: compiles Z3 from source (pinned via Z3_VERSION arg, default z3-4.13.4) with static linking (-DZ3_BUILD_LIBZ3_SHARED=OFF) for distroless compatibility; falls back to apt when BUILD_Z3_FROM_SOURCE unset.
  • go-builder: CGO_ENABLED=0 build of symkerneld.
  • Runtime: gcr.io/distroless/static-debian12:nonroot — only z3 binary + symkerneld, minimal attack surface.

Closes #289

Adds deploy/Dockerfile.z3 with three stages:
- z3-builder: compiles Z3 from source (pinned via Z3_VERSION arg) or
  installs the apt package when BUILD_Z3_FROM_SOURCE is unset.
  Static link flag (-DZ3_BUILD_LIBZ3_SHARED=OFF) ensures the z3 binary
  is self-contained and distroless-compatible.
- go-builder: CGO_ENABLED=0 build of symkerneld.
- Runtime: gcr.io/distroless/static-debian12:nonroot with only the z3
  binary and symkerneld binary — minimal attack surface.

Closes #289
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[milestone Milestone 12] deploy/Dockerfile.z3 — Extended multi-stage build with Z3 library compilatio...

1 participant