# Stage 1: build
FROM debian:trixie-slim AS builder

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        wget \
        gpgv \
    && wget -q -O /tmp/cdssoft-release.deb \
        https://apt.ligo-wa.caltech.edu/debian/pool/trixie/cdssoft-release-trixie/cdssoft-release-trixie.deb \
    && dpkg -i /tmp/cdssoft-release.deb \
    && rm /tmp/cdssoft-release.deb \
    && apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        cmake \
        pkg-config \
        libclang-19-dev \
        librdkafka-dev \
        rust-compiler \
        "ldas-tools-framecpp-dev" \
        advligorts-dev \
        simple-pv-dev \
        libzstd-dev \
    && rm -rf /var/lib/apt/lists/*

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

# Stage 2: runtime
FROM debian:trixie-slim

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        wget \
        gpgv \
    && wget -q -O /tmp/cdssoft-release.deb \
        https://apt.ligo-wa.caltech.edu/debian/pool/trixie/cdssoft-release-trixie/cdssoft-release-trixie.deb \
    && dpkg -i /tmp/cdssoft-release.deb \
    && rm /tmp/cdssoft-release.deb \
    && apt-get update \
    && apt-get install -y --no-install-recommends \
        ldas-tools-framecpp \
        simple-pv \
    && rm -rf /var/lib/apt/lists/*

COPY --from=builder /build/target/release/daqd         /usr/bin/daqd
COPY --from=builder /build/target/release/dump_channel_list /usr/bin/dump_channel_list
COPY --from=builder /build/target/release/dump_stream  /usr/bin/dump_stream


ENTRYPOINT ["/usr/bin/daqd"]