Skip to content
obeli-skPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Obelisk WebUI

A Yew-based web interface for Obelisk, a deterministic workflow engine for durable execution.

Features

  • Execution List - Browse, filter, and paginate through workflow executions
  • Deployment List - View deployment states and execution counts
  • Deployment Graph - Inspect component dependencies, imports, and dynamic calls
  • 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

Screenshots

The Web UI included in Obelisk 0.42.0, running the demo-tutorial deployment, with the other views showing a real workflow-agent session.

Deployment graph: the webhook calls two workflows, which share an activity

Deployments, executions, trace, application logs, and system logs

Deployments

Deployments and their execution counts

Executions

Execution list with lifecycle filters and results

Execution trace

Durable agent session trace with child activities and recorded events

Execution log

Persisted workflow events and their parameters

Application logs

Workflow and child activity logs

System logs

Startup, deployment, and maintenance events

The capture script uses the server's embedded Web UI and REST API, with OBELISK_API_TOKEN for authentication.

Development

Make sure to fetch the submodule:

git submodule init
git submodule update

Prerequisites

This 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 Cachix cache for faster builds
cat << 'EOF' | sudo tee -a /etc/nix/nix.conf
extra-substituters = https://obeli-sk.cachix.org
extra-trusted-public-keys = obeli-sk.cachix.org-1:31iM9GWSEhAXvvuTWQ7CvAcwvgRzsuJ9yJghywSd3Jw=
EOF
sudo systemctl restart nix-daemon.service

Running Locally

Enter the Nix development shell and start the development server:

nix develop
just serve

The WebUI will be available at http://localhost:8081.

Make sure the Obelisk REST API is running at http://127.0.0.1:8080.

Building for Release

nix develop
just build

This creates:

  • Release WASM files in crates/webui/dist/
  • The static asset and same origin API gateway component at target/wasm32-wasip2/release/webui_proxy.wasm

See webui-proxy README for deployment instructions.

Project Structure

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

License

AGPL-3.0-only - See LICENSE-AGPL for details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages