zlayer-builder 0.11.2

Dockerfile parsing and buildah-based container image building
Documentation
[package]
name = "zlayer-builder"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Dockerfile parsing and buildah-based container image building"
keywords = ["container", "docker", "dockerfile", "buildah", "image"]
categories = ["development-tools", "command-line-utilities"]
readme = "README.md"

[dependencies]
# Dockerfile parsing
dockerfile-parser = "0.9"

# Core
anyhow.workspace = true
async-trait.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = ["full", "process"] }
tracing.workspace = true
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true

# Serialization
serde_yaml.workspace = true

# Hashing
sha2.workspace = true
hex.workspace = true

# ZImagefile support
indexmap = { version = "2", features = ["serde"] }
humantime = "2"

# Base64 decoding (docker config auth)
base64.workspace = true

# Platform detection
dirs = "5"

# TUI
ratatui = "0.29"
crossterm = "0.28"
zlayer-tui.workspace = true

# Registry (used unconditionally for WASM OCI export; cache feature enables extra sub-features)
zlayer-registry.workspace = true

# OCI types for sandbox push (optional, gated on cache)
oci-client = { workspace = true, optional = true }

# Auth for sandbox push (optional, gated on cache)
zlayer-core = { workspace = true, optional = true }

# HTTP client (for ADD URL support)
reqwest.workspace = true

# Archive handling (for ADD auto-extraction)
tar.workspace = true
flate2.workspace = true
bzip2.workspace = true
xz2.workspace = true
zip.workspace = true

# Unix system calls (for chown)
nix.workspace = true
zlayer-paths.workspace = true

# Spec types (OsKind / ArchKind / TargetPlatform) used by the HCS backend when
# routing manifest pulls through `ImagePuller::with_platform`.
zlayer-spec.workspace = true

# Windows-only dependencies for the HCS (Host Compute Service) build backend.
# The HCS backend in `src/backend/hcs/` wraps `zlayer-agent`'s NTFS layer
# primitives (scratch layer creation, BackupRead-based diff capture) with a
# `BuildBackend` impl. Both deps are already gated behind
# `cfg(target_os = "windows")` at their source so non-Windows builds never pull
# them in — listing them under a target-specific block keeps the Linux /
# macOS dependency graph lean.
[target.'cfg(target_os = "windows")'.dependencies]
zlayer-agent = { workspace = true }
zlayer-hcs = { workspace = true }
windows = { version = "0.62", features = [
    "Win32_Foundation",
    "Win32_System_HostComputeSystem",
] }
uuid = { workspace = true }

[dev-dependencies]
tempfile = "3"
tokio = { workspace = true, features = ["full", "macros", "rt-multi-thread"] }
wat = "1"
oci-client = { workspace = true }

[features]
default = []
# Enable remote cache backend integration with zlayer-registry
cache = ["oci-client", "zlayer-core"]
# Enable persistent disk-based cache (requires cache feature)
cache-persistent = ["cache", "zlayer-registry/persistent"]
# Enable S3-compatible storage backend (requires cache feature)
cache-s3 = ["cache", "zlayer-registry/s3"]
# Enable local OCI registry for image resolution (check local store before pulling)
local-registry = ["cache", "zlayer-registry/local"]

[lints]
workspace = true