| 123456789101112131415161718192021222324252627 |
- # syntax=docker/dockerfile:1
- FROM --platform=$BUILDPLATFORM rust:1.64 AS buildbase
- RUN <<EOT bash
- set -ex
- apt-get update
- apt-get install -y \
- git \
- clang
- rustup target add wasm32-wasi
- EOT
- # This line installs WasmEdge including the AOT compiler
- RUN curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash
- FROM buildbase AS build
- COPY Cargo.toml .
- COPY src ./src
- # Build the Wasm binary
- RUN --mount=type=cache,target=/usr/local/cargo/git/db \
- --mount=type=cache,target=/usr/local/cargo/registry/cache \
- --mount=type=cache,target=/usr/local/cargo/registry/index \
- cargo build --target wasm32-wasi --release
- # This line builds the AOT Wasm binary
- RUN /root/.wasmedge/bin/wasmedgec target/wasm32-wasi/release/kafka.wasm kafka.wasm
- FROM scratch
- ENTRYPOINT [ "kafka.wasm" ]
- COPY --link --from=build /kafka.wasm /kafka.wasm
|