aboutsummaryrefslogtreecommitdiffstats
path: root/crates/configuration
diff options
context:
space:
mode:
Diffstat (limited to 'crates/configuration')
-rw-r--r--crates/configuration/.dockerignore5
-rw-r--r--crates/configuration/Dockerfile27
2 files changed, 32 insertions, 0 deletions
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" ]