# 1. Build Stage
FROM rust:1.90 as builder

WORKDIR /usr/src/app
# Copy necessary crates for compilation
COPY ./services/common-contracts /usr/src/app/services/common-contracts
COPY ./services/workflow-orchestrator-service /usr/src/app/services/workflow-orchestrator-service

WORKDIR /usr/src/app/services/workflow-orchestrator-service
# Build the binary
RUN cargo build --release

# 2. Runtime Stage
FROM debian:bookworm-slim

# Set timezone
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# Minimal runtime deps
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl && rm -rf /var/lib/apt/lists/*

# Copy the built binary
COPY --from=builder /usr/src/app/services/workflow-orchestrator-service/target/release/workflow-orchestrator-service /usr/local/bin/

# Run it
ENTRYPOINT ["/usr/local/bin/workflow-orchestrator-service"]

