A Yew-based web interface for Obelisk, a deterministic workflow engine for durable execution.
- Execution List - Browse, filter, and paginate through workflow executions
- Deployment List - View deployment states and execution counts
- Component List - Explore registered components and their interfaces
- Execution Detail - Inspect execution events, traces, and logs
- Debugger - Step through execution history with source mapping
- Workflow Actions - Replay executions and upgrade to new component versions
Make sure to fetch the submodule:
git submodule init
git submodule updateThis project uses Nix flakes for dependency management.
# Install Nix (recommended: Determinate Systems installer)
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
# Configure Garnix cache for faster builds
cat << 'EOF' | sudo tee -a /etc/nix/nix.conf
extra-substituters = https://cache.garnix.io
extra-trusted-public-keys = cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g
EOF
sudo systemctl restart nix-daemon.serviceEnter the Nix development shell and start the development server:
nix develop
just serveThe WebUI will be available at http://localhost:8081.
Make sure the Obelisk server is running for gRPC connectivity.
nix develop
just buildThis creates:
- Release WASM files in
crates/webui/dist/ - The
webui-proxycomponent attarget/wasm32-wasip2/release/webui_proxy.wasm
See webui-proxy README for deployment instructions.
webui/
├── crates/
│ ├── webui/ # Main WebUI application (Yew + WASM)
│ └── webui-proxy/ # Webhook component for serving WebUI
├── obelisk/ # Git submodule with proto definitions
├── Justfile # Build commands
└── flake.nix # Nix development environment
AGPL-3.0-only - See LICENSE-AGPL for details.