summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorAndrew Clayton <a.clayton@nginx.com>2023-10-17 12:53:18 +0100
committerAndrew Clayton <a.clayton@nginx.com>2023-10-17 12:53:18 +0100
commit4af8e80018a387e0d54be3c3cf902ee12186df00 (patch)
tree045e1dbf3a9e2b66e162c7ae68d4b42b90658742 /README
downloadproject_blackbird-4af8e80018a387e0d54be3c3cf902ee12186df00.tar.gz
project_blackbird-4af8e80018a387e0d54be3c3cf902ee12186df00.tar.bz2
Initial commit
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to 'README')
-rw-r--r--README72
1 files changed, 72 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..822d1df
--- /dev/null
+++ b/README
@@ -0,0 +1,72 @@
+Project Blackbird
+=================
+
+Make Fermyon Spin WebAssembly Modules run on NGINX Unit.
+
+The repository will contain some exploratory tools.
+
+Quickstart
+==========
+
+Clone the spin repository
+
+$ git clone https://github.com/fermyon/spin.git
+
+Build the wasm module.
+
+$ cd spin/examples/wasi-http-rust
+$ cargo build --target wasm32-wasi
+
+Grab the Wasmtime C API
+
+$ wget -O- https://github.com/bytecodealliance/wasmtime/releases/download/v13.0.0/wasmtime-v13.0.0-x86_64-linux-c-api.tar.xz | tar -xvf -
+
+Clone this repository
+
+$ git clone git://git.digital-domain.net/project_blackbird.git
+
+Build it
+
+$ cd project_blackbird
+$ make WASMTIME_C_API=/path/to/wasmtime-c-api WASM_MODULE=/path/to/spin/examples/wasi-http-rust/target/wasm32-wasi/debug/wasi_http_rust.wasm
+
+Run it
+
+$ ./wasmtime-wasi-http
+Initializing...
+Loading binary...
+Compiling module...
+Setting function imports...
+ [poll2::poll-oneoff]
+ [streams2::read]
+ [streams2::blocking-read]
+ [streams2::subscribe-to-input-stream]
+ [streams2::write]
+ [streams2::blocking-write]
+ [streams2::subscribe-to-output-stream]
+ [default-outgoing-HTTP2::handle]
+ [types2::new-fields]
+ [types2::fields-entries]
+ [types2::finish-incoming-stream]
+ [types2::finish-outgoing-stream]
+ [types2::incoming-request-method]
+ [types2::incoming-request-path-with-query]
+ [types2::incoming-request-headers]
+ [types2::incoming-request-consume]
+ [types2::new-outgoing-request]
+ [types2::outgoing-request-write]
+ [types2::set-response-outparam]
+ [types2::incoming-response-status]
+ [types2::incoming-response-headers]
+ [types2::incoming-response-consume]
+ [types2::new-outgoing-response]
+ [types2::outgoing-response-write]
+ [types2::future-incoming-response-get]
+ [types2::listen-to-future-incoming-response]
+Initialising WASI...
+Instantiating module...
+Getting function exports...
+ [HTTP#handle]
+ [cabi_realloc]
+Shutting down...
+Done.