diff --git a/Cargo.lock b/Cargo.lock index 49106f0e3..2cbeea82c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1575,7 +1575,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2192,7 +2192,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.1", + "socket2 0.5.10", "system-configuration", "tokio", "tower-service", @@ -2693,7 +2693,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -3646,7 +3646,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.35", - "socket2 0.6.1", + "socket2 0.5.10", "thiserror", "tokio", "tracing", @@ -3683,9 +3683,9 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.1", + "socket2 0.5.10", "tracing", - "windows-sys 0.60.2", + "windows-sys 0.59.0", ] [[package]] @@ -4083,7 +4083,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -4699,7 +4699,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -5360,7 +5360,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] diff --git a/applications/datamanager/Cargo.toml b/applications/datamanager/Cargo.toml index 735e0b09d..d319908a8 100644 --- a/applications/datamanager/Cargo.toml +++ b/applications/datamanager/Cargo.toml @@ -30,7 +30,7 @@ tracing-subscriber = { version = "0.3.20", features = ["env-filter", "fmt"] } aws-config = "1.5.8" aws-sdk-s3 = "1.48.0" aws-credential-types = "1.2.6" -duckdb = { version = "1.0", features = ["r2d2", "chrono"] } +duckdb = { version = "1.4.3", features = ["r2d2", "chrono"] } validator = { version = "0.18", features = ["derive"] } thiserror = "2.0.3" diff --git a/applications/datamanager/Dockerfile b/applications/datamanager/Dockerfile index b953e71b0..cdd69ce79 100644 --- a/applications/datamanager/Dockerfile +++ b/applications/datamanager/Dockerfile @@ -1,9 +1,18 @@ FROM lukemathwalker/cargo-chef:0.1.72-rust-1.89.0-slim AS chef +# Note: Checksum verification omitted as DuckDB does not publish official checksums; relying on HTTPS for transport security RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config \ libssl-dev \ build-essential \ + wget \ + unzip \ + && wget -q https://github.com/duckdb/duckdb/releases/download/v1.4.3/libduckdb-linux-amd64.zip \ + && unzip libduckdb-linux-amd64.zip -d /usr/local \ + && rm libduckdb-linux-amd64.zip \ + && ldconfig \ + && apt-get purge -y wget unzip \ + && apt-get autoremove -y \ && rm -rf /var/lib/apt/lists/* RUN rustup toolchain install stable @@ -14,9 +23,7 @@ WORKDIR /app FROM chef AS planner -COPY applications/datamanager/ applications/datamanager/ - -COPY Cargo.toml Cargo.lock ./ +COPY Cargo.toml Cargo.lock ./ COPY applications/datamanager/Cargo.toml ./applications/datamanager/Cargo.toml @@ -41,12 +48,17 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \ cargo build --release --bin datamanager && \ cp /app/target/release/datamanager /tmp/datamanager -FROM debian:trixie-slim AS server +FROM debian:trixie-slim AS server RUN apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates openssl && \ - update-ca-certificates && \ - rm -rf /var/lib/apt/lists/* + ca-certificates \ + openssl \ + && update-ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=chef /usr/local/lib/libduckdb.so /usr/local/lib/libduckdb.so + +RUN ldconfig ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt