clawft-kernel 0.8.3

WeftOS kernel: boot sequence, process table, service registry, and health subsystem
Documentation
# Kernel-only Alpine image — builds the `weaver` binary from source.
#
# Distinct from the repository-root `Dockerfile`, which is also
# self-contained multi-stage but builds the full `weft` CLI (gateway-
# capable default features) for GHCR multi-arch releases (WEFT-594).
# Use this image for kernel-only deploys from the working tree (e.g.
# crates/clawft-kernel/docker-compose.yml, or testing a kernel patch).
#
# Build (from the workspace root):
#   docker build -f crates/clawft-kernel/Dockerfile.alpine -t weft-kernel:dev .
#
# Compose entry point:
#   crates/clawft-kernel/docker-compose.yml (build context = workspace root)
#
# For end-user gateway deployments prefer the root Dockerfile / GHCR image
# (ghcr.io/weave-logic-ai/weftos).

FROM rust:1.93-alpine AS builder
# musl-dev only — weaver links fully static against musl. (Do NOT add
# openssl-dev: it makes openssl-sys link libssl/libcrypto dynamically,
# and the minimal runtime stage then fails with "weaver: no such file or
# directory" at exec. The workspace reqwest uses rustls-tls, so no
# openssl is pulled — see the workspace Cargo.toml comment.)
RUN apk add --no-cache musl-dev
WORKDIR /build
COPY . .
RUN cargo build --release --bin weaver --features native

FROM alpine:3.21
RUN apk add --no-cache ca-certificates
COPY --from=builder /build/target/release/weaver /usr/local/bin/weaver
ENTRYPOINT ["weaver"]
CMD ["kernel", "status"]