A serverless platform that executes WebAssembly (WASM) functions on demand.
- Backend Server: Rust-based server that handles function storage and execution
- CLI Tool: Command-line utility for deploying WASM functions to the platform
- Rust toolchain
- MinIO server (for function storage)
- Wasmtime (for WASM execution)
-
Install the WebAssembly compiler target:
rustup target add wasm32-wasip1
-
Install Wasmtime engine:
curl https://wasmtime.dev/install.sh -sSf | bash -
Start MinIO server: Ensure your MinIO server is running locally on port 9000 with default credentials (
minioadmin/minioadmin). -
Build and start the server:
cargo run
The server will be available at
http://127.0.0.1:8080/
From the CLI directory:
cargo build --releaseNavigate to your Rust project directory and use the CLI:
orbit-cliThe CLI will:
- Compile your Rust project to WebAssembly
- Upload the WASM file to the Orbit platform
curl -X POST http://localhost:8080/execute \
-H "Content-Type: application/json" \
-d '{
"fn_name": "your_function_name",
"params": ["param1", "param2"]
}'GET /: Health check endpointPOST /execute: Execute a WASM functionPOST /upload: Upload a new WASM function
main.rs: Server initialization and MinIO connection setupactors.rs: Actix actors for WASM function executionroutes.rs: API endpoints for function upload and executionwasm_function.rs: WASM execution engine
[Your project license here]