aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2025-08-12 21:11:29 +0200
committerrtkay123 <dev@kanjala.com>2025-08-12 21:11:29 +0200
commitd6a7767d708bb348b97748976f8d2f315b0a98c0 (patch)
tree27b28248f7711d974ad5b7c60f910d9d9eab7e73
parentb6924a50c9ec49e1b2b0d286abbbe608410af87d (diff)
downloadwarden-d6a7767d708bb348b97748976f8d2f315b0a98c0.tar.bz2
warden-d6a7767d708bb348b97748976f8d2f315b0a98c0.zip
build(router): dockerfile
-rw-r--r--.github/workflows/dockerfile.yaml2
-rw-r--r--crates/configuration/Dockerfile4
-rw-r--r--crates/router/.dockerignore5
-rw-r--r--crates/router/Dockerfile24
-rw-r--r--crates/router/router.toml26
5 files changed, 59 insertions, 2 deletions
diff --git a/.github/workflows/dockerfile.yaml b/.github/workflows/dockerfile.yaml
index 1074294..c2823ea 100644
--- a/.github/workflows/dockerfile.yaml
+++ b/.github/workflows/dockerfile.yaml
@@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: true
matrix:
- crate: ["pseudonyms", "warden", "configuration"]
+ crate: ["pseudonyms", "warden", "configuration", "router"]
name: build / ${{ matrix.crate }}
steps:
- uses: actions/checkout@v4
diff --git a/crates/configuration/Dockerfile b/crates/configuration/Dockerfile
index a960a69..9d32bc0 100644
--- a/crates/configuration/Dockerfile
+++ b/crates/configuration/Dockerfile
@@ -1,5 +1,7 @@
FROM rust:1.89.0-slim AS builder
+ARG FEATURES=""
+
ENV SQLX_OFFLINE=true
RUN rustup target add x86_64-unknown-linux-musl
@@ -20,7 +22,7 @@ RUN cargo fetch
COPY ./proto proto
-RUN cargo build --target x86_64-unknown-linux-musl --release
+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-config ./
diff --git a/crates/router/.dockerignore b/crates/router/.dockerignore
new file mode 100644
index 0000000..c8cd160
--- /dev/null
+++ b/crates/router/.dockerignore
@@ -0,0 +1,5 @@
+/target
+.env
+.git
+.github
+/contrib
diff --git a/crates/router/Dockerfile b/crates/router/Dockerfile
new file mode 100644
index 0000000..ab2422b
--- /dev/null
+++ b/crates/router/Dockerfile
@@ -0,0 +1,24 @@
+FROM rust:1.89.0-slim AS builder
+
+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 ./crates/router crates/router
+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-router ./
+CMD [ "./warden-router" ]
diff --git a/crates/router/router.toml b/crates/router/router.toml
index e69de29..48fbd99 100644
--- a/crates/router/router.toml
+++ b/crates/router/router.toml
@@ -0,0 +1,26 @@
+[application]
+env = "development"
+
+[monitoring]
+log-level = "warden_router=trace,info"
+opentelemetry-endpoint = "http://localhost:4317"
+loki-endpoint = "http://localhost:3100"
+
+[misc]
+config-endpoint = "http://localhost:1304"
+
+[misc.nats]
+stream-name = "iso20022"
+subjects = ["iso20022.>"]
+destination-prefix = "rule"
+max-messages = 10000
+durable-name = "iso20022"
+
+[misc.nats.config]
+stream = "configuration"
+reload-subject = "configuration.reload"
+
+[nats]
+hosts = ["nats://localhost:4222"]
+
+# vim:ft=toml