Add the example for WasmEdge + Kafka / Redpanda + MySQL application to take messages from a queue and save into a database table.
Signed-off-by: Michael Yuan <michael@secondstate.io>
This commit is contained in:
26
wasmedge-kafka-mysql/etl/Dockerfile
Normal file
26
wasmedge-kafka-mysql/etl/Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
||||
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
|
Reference in New Issue
Block a user