zeekayandHanzo Dev bc404adbb6 core: pull the builder and runtime image from hanzoai/pack
RailpackBuilderImage and RailpackRuntimeImage named
ghcr.io/railwayapp/railpack-{builder,runtime}, so every `pack build`
pulled the upstream vendor's images instead of our own. Point them at
ghcr.io/hanzoai/pack-{builder,runtime}, published by the release
pipeline as of the prior commit.

Also updates the local-dev mirrors of the same reference: the
mise-builder-shell task, the run-with-frontend script, the mise clean
task's image cleanup list, and a stale comment in buildkit/frontend.go.

Snapshots refreshed with the project's own task
(UPDATE_SNAPS=true go test -short ./...) and inspected line by line:
every changed line is exactly the builder/runtime image string, nothing
else. The pre-existing, unrelated php-vanilla frankenphp version drift
that the same refresh also touches was left untouched here.

Do not merge until a release tag has gone through the pipeline from the
prior commit and ghcr.io/hanzoai/pack-builder and pack-runtime actually
exist -- until then this is a correct diff sitting ahead of its own
prerequisite, not something to land on main.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-04 03:57:43 -07:00
2026-08-14 19:01:32 -07:00
2026-08-14 19:01:32 -07:00
2026-08-13 06:04:08 -06:00
2025-02-10 13:26:33 -07:00

Hanzo Pack

Zero-config OCI image builder and BuildKit gateway frontend for the Hanzo Cloud.

Go 1.24 BuildKit License

Hanzo Pack is the zero-configuration container image builder that powers the Hanzo Cloud build plane (ghcr.io/hanzoai/pack:latest). It inspects your repository, detects the language, framework, dependencies, and entry point, and emits an optimized OCI container image via BuildKit with zero configuration required.

It serves as the canonical builder for kind: fn and zero-Dockerfile builds in Hanzo Platform, wired directly as the default BuildKit frontend at k8s.go:880.

Features

  • Automatic Ecosystem Detection — Node.js, Next.js, Python, Go, Rust, Ruby, PHP, Java, static HTML, and more.
  • BuildKit Gateway Frontend — Runs natively inside BuildKit without requiring Docker daemon access or privileged containers.
  • Optimized Layer Caching — Multi-stage builds that cache language runtimes, package managers, and dependencies independently from application source code.
  • Deterministic Artifacts — Consistent, reproducible builds across developer machines and in-cluster CI runners.

Quick Start

Standalone CLI

# Build the pack binary
go install github.com/hanzoai/pack/cmd/cli@latest

# Build an application from source
pack build .

BuildKit Dockerfile-less Build

Specify Hanzo Pack as the #syntax gateway in your build:

# Build directly with docker buildx using the pack frontend
docker buildx build \
  --build-arg BUILDKIT_SYNTAX=ghcr.io/hanzoai/pack:latest \
  -t my-app:latest .

Supported Ecosystems

Ecosystem Detected Files Build / Start Strategy
Node.js / Bun / Deno package.json, bun.lock, deno.json Detects package manager (npm, pnpm, yarn, bun), installs deps, runs build, starts server
Python pyproject.toml, requirements.txt, Pipfile Detects uv, poetry, or pip; builds virtualenv; detects WSGI/ASGI entrypoint
Go go.mod Compiles static Linux binary with Go toolchain caching
Rust Cargo.toml Cargo build with release profile and sccache support
Static Web index.html Ultra-lightweight Nginx / static web server

Architecture

Hanzo Pack is designed to run in two modes:

  1. Local CLI (cmd/cli): Developer CLI communicating with a local BuildKit daemon.
  2. Cluster Gateway Frontend (ghcr.io/hanzoai/pack): Invoked by Hanzo CI/CD runners (hanzoai/platform) as an in-cluster BuildKit job. When a repo contains no Dockerfile (or declares kind: fn), Hanzo Cloud delegates to Pack to detect and construct the container.

License

MIT License. See LICENSE for details.

S
Description
Zero-config BuildKit gateway frontend for the Hanzo build fabric
Readme MIT
24 MiB
Languages
Go 90.8%
Shell 6.5%
Python 1.4%
Dockerfile 0.7%
TypeScript 0.6%