diff --git a/.github/workflows/rust_tests.yml b/.github/workflows/rust_tests.yml index 548e74e1..66d261a3 100644 --- a/.github/workflows/rust_tests.yml +++ b/.github/workflows/rust_tests.yml @@ -18,13 +18,13 @@ jobs: uses: actions/checkout@v4 - name: Setup | Rust - run: rustup toolchain install stable --profile minimal + run: rustup toolchain install 1.82 --profile minimal - name: Setup | Install wasm toolchain - run: rustup target add wasm32-wasi + run: rustup target add wasm32-wasip1 - name: Build wasm module - run: cargo build --release --target=wasm32-wasi + run: cargo build --release --target=wasm32-wasip1 - name: Run unit tests run: cargo test --lib diff --git a/arch/Dockerfile b/arch/Dockerfile index 6d7a0f9b..f485f938 100644 --- a/arch/Dockerfile +++ b/arch/Dockerfile @@ -1,22 +1,22 @@ # build filter using rust toolchain -FROM rust:1.80.0 as builder -RUN rustup -v target add wasm32-wasi +FROM rust:1.82.0 as builder +RUN rustup -v target add wasm32-wasip1 WORKDIR /arch COPY crates . -RUN cd prompt_gateway && cargo build --release --target wasm32-wasi -RUN cd llm_gateway && cargo build --release --target wasm32-wasi +RUN cd prompt_gateway && cargo build --release --target wasm32-wasip1 +RUN cd llm_gateway && cargo build --release --target wasm32-wasip1 # copy built filter into envoy image -FROM envoyproxy/envoy:v1.31-latest as envoy +FROM envoyproxy/envoy:v1.32-latest as envoy #Build config generator, so that we have a single build image for both Rust and Python -FROM python:3-slim as arch +FROM python:3.12-slim as arch RUN apt-get update && apt-get install -y gettext-base curl && apt-get clean && rm -rf /var/lib/apt/lists/* -COPY --from=builder /arch/target/wasm32-wasi/release/prompt_gateway.wasm /etc/envoy/proxy-wasm-plugins/prompt_gateway.wasm -COPY --from=builder /arch/target/wasm32-wasi/release/llm_gateway.wasm /etc/envoy/proxy-wasm-plugins/llm_gateway.wasm +COPY --from=builder /arch/target/wasm32-wasip1/release/prompt_gateway.wasm /etc/envoy/proxy-wasm-plugins/prompt_gateway.wasm +COPY --from=builder /arch/target/wasm32-wasip1/release/llm_gateway.wasm /etc/envoy/proxy-wasm-plugins/llm_gateway.wasm COPY --from=envoy /usr/local/bin/envoy /usr/local/bin/envoy WORKDIR /config COPY arch/requirements.txt . diff --git a/arch/README.md b/arch/README.md index 990c45e4..49c62797 100644 --- a/arch/README.md +++ b/arch/README.md @@ -3,13 +3,13 @@ ## Add toolchain ```sh -$ rustup target add wasm32-wasi +$ rustup target add wasm32-wasip1 ``` ## Building ```sh -$ cargo build --target wasm32-wasi --release +$ cargo build --target wasm32-wasip1 --release ``` ## Testing @@ -25,7 +25,7 @@ $ cargo test - Build filter binary, ``` - $ cargo build --target wasm32-wasi --release + $ cargo build --target wasm32-wasip1 --release ``` - Start envoy with arch_config.yaml and test, ``` diff --git a/arch/docker-compose.dev.yaml b/arch/docker-compose.dev.yaml index bbac66f8..134f3853 100644 --- a/arch/docker-compose.dev.yaml +++ b/arch/docker-compose.dev.yaml @@ -13,8 +13,8 @@ services: - ./envoy.template.yaml:/config/envoy.template.yaml - ./arch_config_schema.yaml:/config/arch_config_schema.yaml - ./tools/cli/config_generator.py:/config/config_generator.py - - ../crates/target/wasm32-wasi/release/llm_gateway.wasm:/etc/envoy/proxy-wasm-plugins/llm_gateway.wasm - - ../crates/target/wasm32-wasi/release/prompt_gateway.wasm:/etc/envoy/proxy-wasm-plugins/prompt_gateway.wasm + - ../crates/target/wasm32-wasip1/release/llm_gateway.wasm:/etc/envoy/proxy-wasm-plugins/llm_gateway.wasm + - ../crates/target/wasm32-wasip1/release/prompt_gateway.wasm:/etc/envoy/proxy-wasm-plugins/prompt_gateway.wasm - ~/archgw_logs:/var/log/ extra_hosts: - "host.docker.internal:host-gateway" diff --git a/crates/llm_gateway/tests/integration.rs b/crates/llm_gateway/tests/integration.rs index 5a5ed4a8..2a92441a 100644 --- a/crates/llm_gateway/tests/integration.rs +++ b/crates/llm_gateway/tests/integration.rs @@ -7,10 +7,10 @@ use serial_test::serial; use std::path::Path; fn wasm_module() -> String { - let wasm_file = Path::new("../target/wasm32-wasi/release/llm_gateway.wasm"); + let wasm_file = Path::new("../target/wasm32-wasip1/release/llm_gateway.wasm"); assert!( wasm_file.exists(), - "Run `cargo build --release --target=wasm32-wasi` first" + "Run `cargo build --release --target=wasm32-wasip1` first" ); wasm_file.to_str().unwrap().to_string() } diff --git a/crates/prompt_gateway/tests/integration.rs b/crates/prompt_gateway/tests/integration.rs index 821c3543..bc031fc0 100644 --- a/crates/prompt_gateway/tests/integration.rs +++ b/crates/prompt_gateway/tests/integration.rs @@ -17,10 +17,10 @@ use std::collections::HashMap; use std::path::Path; fn wasm_module() -> String { - let wasm_file = Path::new("../target/wasm32-wasi/release/prompt_gateway.wasm"); + let wasm_file = Path::new("../target/wasm32-wasip1/release/prompt_gateway.wasm"); assert!( wasm_file.exists(), - "Run `cargo build --release --target=wasm32-wasi` first" + "Run `cargo build --release --target=wasm32-wasip1` first" ); wasm_file.to_str().unwrap().to_string() } diff --git a/demos/hr_agent/Dockerfile b/demos/hr_agent/Dockerfile index 427fe8a4..1282b448 100644 --- a/demos/hr_agent/Dockerfile +++ b/demos/hr_agent/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10 AS base +FROM python:3.12 AS base FROM base AS builder @@ -7,7 +7,7 @@ WORKDIR /src COPY requirements.txt /src/ RUN pip install --prefix=/runtime --force-reinstall -r requirements.txt -FROM python:3.10-slim AS output +FROM python:3.12-slim AS output COPY --from=builder /runtime /usr/local WORKDIR /app diff --git a/demos/network_agent/Dockerfile b/demos/network_agent/Dockerfile index 503ffeff..d54fa746 100644 --- a/demos/network_agent/Dockerfile +++ b/demos/network_agent/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10 AS base +FROM python:3.12 AS base FROM base AS builder @@ -9,7 +9,7 @@ RUN pip install --prefix=/runtime --force-reinstall -r requirements.txt COPY . /src -FROM python:3.10-slim AS output +FROM python:3.12-slim AS output COPY --from=builder /runtime /usr/local diff --git a/demos/shared/chatbot_ui/Dockerfile b/demos/shared/chatbot_ui/Dockerfile index 32101bf5..588f9721 100644 --- a/demos/shared/chatbot_ui/Dockerfile +++ b/demos/shared/chatbot_ui/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10 AS base +FROM python:3.12 AS base FROM base AS builder @@ -8,7 +8,7 @@ COPY requirements.txt /src/ RUN pip install --prefix=/runtime --force-reinstall -r requirements.txt -FROM python:3.10-slim AS output +FROM python:3.12-slim AS output COPY --from=builder /runtime /usr/local diff --git a/model_server/Dockerfile b/model_server/Dockerfile index 339f36e2..687b6b51 100644 --- a/model_server/Dockerfile +++ b/model_server/Dockerfile @@ -1,9 +1,9 @@ -FROM python:3.10 AS builder +FROM python:3.12 AS builder COPY requirements.txt . RUN pip install --prefix=/runtime -r requirements.txt -FROM python:3.10-slim AS output +FROM python:3.12-slim AS output # curl is needed for health check in docker-compose RUN apt-get update && apt-get install -y curl && apt-get clean && rm -rf /var/lib/apt/lists/*