eth-id 0.1.0

Zero-Knowledge Document Verification CLI and Library
Documentation
# ETH.id - Zero-Knowledge Document Verification CLI
# Multi-stage build for optimized image size

FROM rust:1.75 as builder

WORKDIR /app

# Copy manifests
COPY Cargo.toml Cargo.lock ./

# Copy source code
COPY src ./src
COPY tests ./tests
COPY circuits ./circuits
COPY examples ./examples

# Build release binary
RUN cargo build --release --bin eth

# Runtime stage
FROM debian:bookworm-slim

# Install runtime dependencies
RUN apt-get update && apt-get install -y \
    ca-certificates \
    libssl3 \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Copy binary from builder
COPY --from=builder /app/target/release/eth /usr/local/bin/eth

# Copy example documents
COPY examples/sample_documents /app/examples/sample_documents

# Set environment variables
ENV RUST_LOG=info

# Create directory for ETH.id data
RUN mkdir -p /root/.eth-id/audit /root/.eth-id/attestations

# Verify installation
RUN eth --version || echo "ETH.id CLI installed"

# Default command shows help
CMD ["eth", "--help"]