aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2025-08-12 19:21:05 +0200
committerrtkay123 <dev@kanjala.com>2025-08-12 19:21:05 +0200
commitd75b5fc9c0497f56e6b8602d8ff8991bfaeff18c (patch)
tree7af0e1f075825ca6ea324f1d27f8955b663176d5
parent1d347dd2142a266552812ac2f8844acf52d2dc1c (diff)
downloadwarden-d75b5fc9c0497f56e6b8602d8ff8991bfaeff18c.tar.bz2
warden-d75b5fc9c0497f56e6b8602d8ff8991bfaeff18c.zip
build(config): dockerfile
-rw-r--r--.github/workflows/dockerfile.yaml2
-rw-r--r--crates/configuration/.dockerignore5
-rw-r--r--crates/configuration/Dockerfile27
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" ]