diff options
-rw-r--r-- | .github/workflows/dockerfile.yaml | 2 | ||||
-rw-r--r-- | crates/configuration/.dockerignore | 5 | ||||
-rw-r--r-- | crates/configuration/Dockerfile | 27 |
3 files changed, 33 insertions, 1 deletions
diff --git a/.github/workflows/dockerfile.yaml b/.github/workflows/dockerfile.yaml index b84fa03..1074294 100644 --- a/.github/workflows/dockerfile.yaml +++ b/.github/workflows/dockerfile.yaml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: true matrix: - crate: ["pseudonyms", "warden"] + crate: ["pseudonyms", "warden", "configuration"] name: build / ${{ matrix.crate }} steps: - uses: actions/checkout@v4 diff --git a/crates/configuration/.dockerignore b/crates/configuration/.dockerignore new file mode 100644 index 0000000..c8cd160 --- /dev/null +++ b/crates/configuration/.dockerignore @@ -0,0 +1,5 @@ +/target +.env +.git +.github +/contrib diff --git a/crates/configuration/Dockerfile b/crates/configuration/Dockerfile new file mode 100644 index 0000000..a960a69 --- /dev/null +++ b/crates/configuration/Dockerfile @@ -0,0 +1,27 @@ +FROM rust:1.89.0-slim AS builder + +ENV SQLX_OFFLINE=true + +RUN rustup target add x86_64-unknown-linux-musl +RUN apt update && apt install -y musl-tools musl-dev protobuf-compiler curl +RUN update-ca-certificates + +WORKDIR /usr/src/app + +RUN mkdir -p crates + +COPY ./.sqlx .sqlx +COPY ./crates/configuration crates/configuration +COPY ./lib lib +COPY ./Cargo.toml . +COPY ./Cargo.lock . + +RUN cargo fetch + +COPY ./proto proto + +RUN cargo build --target x86_64-unknown-linux-musl --release + +FROM scratch +COPY --from=builder /usr/src/app/target/x86_64-unknown-linux-musl/release/warden-config ./ +CMD [ "./warden-config" ] |