# ---- builder ----
FROM rust:1.96-slim-bookworm AS builder

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

WORKDIR /app

# Cache dependencies
COPY Cargo.toml Cargo.lock ./
COPY build.rs ./
COPY proto/ proto/
RUN echo '' >lib.rs && \
    echo 'fn main() {}' >main.rs && \
    cargo build --release --bin emailks; \
    rm -f lib.rs main.rs

# Build real binary
COPY . .
RUN cargo build --release --bin emailks && \
    cp target/release/emailks /app/emailks

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

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

COPY --from=builder /app/emailks /usr/local/bin/emailks

EXPOSE 50051

ENTRYPOINT ["emailks"]
