aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2025-08-10 22:26:49 +0200
committerrtkay123 <dev@kanjala.com>2025-08-10 22:26:49 +0200
commit418b7bcea86d6838b704ee8d3f55501debd5ee21 (patch)
tree5d6d86956582a58bda058ac9e14e050dd058de3f
parent1479133bc9fc39159f7b37dba1fd966cd0124574 (diff)
downloadwarden-418b7bcea86d6838b704ee8d3f55501debd5ee21.tar.bz2
warden-418b7bcea86d6838b704ee8d3f55501debd5ee21.zip
build(warden): dockerfile
-rw-r--r--.github/workflows/dockerfile.yaml4
-rw-r--r--crates/pseudonyms/.dockerignore2
-rw-r--r--crates/warden/.dockerignore5
-rw-r--r--crates/warden/Dockerfile29
4 files changed, 38 insertions, 2 deletions
diff --git a/.github/workflows/dockerfile.yaml b/.github/workflows/dockerfile.yaml
index c3bac8a..b84fa03 100644
--- a/.github/workflows/dockerfile.yaml
+++ b/.github/workflows/dockerfile.yaml
@@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: true
matrix:
- crate: ["pseudonyms"]
+ crate: ["pseudonyms", "warden"]
name: build / ${{ matrix.crate }}
steps:
- uses: actions/checkout@v4
@@ -23,7 +23,7 @@ jobs:
submodules: true
- name: set up docker buildx
uses: docker/setup-buildx-action@v3
- - name: build and push
+ - name: build # and push
uses: docker/build-push-action@v6
with:
push: false
diff --git a/crates/pseudonyms/.dockerignore b/crates/pseudonyms/.dockerignore
index 27fd8a4..c8cd160 100644
--- a/crates/pseudonyms/.dockerignore
+++ b/crates/pseudonyms/.dockerignore
@@ -1,3 +1,5 @@
/target
.env
.git
+.github
+/contrib
diff --git a/crates/warden/.dockerignore b/crates/warden/.dockerignore
new file mode 100644
index 0000000..c8cd160
--- /dev/null
+++ b/crates/warden/.dockerignore
@@ -0,0 +1,5 @@
+/target
+.env
+.git
+.github
+/contrib
diff --git a/crates/warden/Dockerfile b/crates/warden/Dockerfile
new file mode 100644
index 0000000..d297961
--- /dev/null
+++ b/crates/warden/Dockerfile
@@ -0,0 +1,29 @@
+FROM rust:1.89.0-slim AS builder
+
+ARG FEATURES=""
+
+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/warden crates/warden
+COPY ./lib lib
+COPY ./Cargo.toml .
+COPY ./Cargo.lock .
+
+RUN cargo fetch
+
+COPY ./proto proto
+
+RUN cargo build -F "${FEATURES}" --target x86_64-unknown-linux-musl --release
+
+FROM scratch
+COPY --from=builder /usr/src/app/target/x86_64-unknown-linux-musl/release/warden ./
+CMD [ "./warden" ]