FROM rust:1.85-bookworm AS builder
WORKDIR /src
COPY Cargo.toml ./
COPY crates ./crates
COPY config ./config
COPY spec ./spec
RUN cargo test --workspace && cargo build --release -p ato-app

FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates \
    && rm -rf /var/lib/apt/lists/*
COPY --from=builder /src/target/release/ato /usr/local/bin/ato
COPY config/ato.default.json /etc/ato/ato.default.json
ENV ATO_CONFIG=/etc/ato/ato.default.json
USER nobody
WORKDIR /etc/ato
ENTRYPOINT ["/usr/local/bin/ato"]
