zc2 0.0.12

P2P compute broker with credit-based billing, WAL, and broker mesh support
# zakuro-ai/broker - Zakuro Compute Broker
#
# Routes compute requests to workers with credit-based billing.
#
# Build: docker build -t zakuro-ai/broker .
# Run:   docker run -p 9000:9000 -e ZAKURO_API_KEY=demo zakuro-ai/broker

FROM rust:1.75-slim AS builder

RUN apt-get update && apt-get install -y --no-install-recommends \
    pkg-config \
    libssl-dev \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /build
COPY . .
RUN cargo build --release

# -------------------------------------------------------------------
FROM debian:bookworm-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
    curl \
    ca-certificates \
    iproute2 \
    && rm -rf /var/lib/apt/lists/*

# Copy binary
COPY --from=builder /build/target/release/zc2 /usr/local/bin/zc

# Environment
ENV ZAKURO_API_KEY=""
ENV ZAKURO_MASTER_KEY=""
ENV REDIS_URL="redis://redis:6379"

# Ports: 9000 = broker API
EXPOSE 9000

# Health check
HEALTHCHECK --interval=10s --timeout=5s --retries=3 \
    CMD curl -f http://localhost:9000/health || exit 1

ENTRYPOINT ["/usr/local/bin/zc"]
CMD ["broker"]