Skip to main content

What is TAHO?

TAHO is a WebAssembly Component host runtime that streams, compiles, and runs WASM components from remote repositories. It provides a REST API for invoking service components, with components loaded dynamically from GitHub and other sources.

Core Concepts

WebAssembly Component Runtime

TAHO executes workloads as WebAssembly components, providing language-agnostic execution with strong isolation guarantees. Components are streamed over the network and loaded directly into memory without requiring local disk storage.

Dynamic Component Loading

Components are fetched from remote repositories (GitHub and others) and compiled on-demand. The runtime manages component lifecycle, caching compiled components for performance.

REST API for Services

Services are exposed via HTTP endpoints that allow you to invoke component methods. The API handles routing requests to the appropriate component instances.

Quick Start

1

Install TAHO CLI

cargo install --path taho-cli --force
2

Start the runtime

taho start
3

Invoke a service

curl -X POST http://localhost:9481/api/services/{domain}/{service}/invoke/{method} \
  -H "Content-Type: application/json" \
  -d '{"your": "data"}'

Key Features

TAHO streams WebAssembly components over the network:
  • Load from GitHub repositories and other sources
  • No local storage required for components
  • Automatic compilation and caching
  • Hot-reload support for component updates

Architecture Overview

TAHO consists of three main layers:

Use Cases

Microservices Runtime

  • Deploy WebAssembly components as lightweight services
  • Invoke service methods via REST API
  • Update services without restarting the runtime
  • Manage multiple service components in a single host

AI/ML Inference

  • Run ML models as WebAssembly components
  • Support for WasmEdge runtime with AI acceleration
  • Stream models on-demand without local storage
  • Invoke inference endpoints via HTTP

Component Development

  • Build services in any language that targets WebAssembly
  • Define clear interfaces using WIT specifications
  • Test locally with hot-reload support
  • Deploy by updating repository references

Technology Stack

  • Runtime: Rust with Tokio async runtime
  • Web Framework: Actix-web with TLS support
  • WASM Runtimes: Wasmtime and WasmEdge for component execution
  • Component Format: WebAssembly Component Model with WIT interfaces
  • Storage: Redis-compatible caching, SurrealDB persistence
  • Networking: Fabric peer-to-peer layer (in development)

Next Steps

Community

TAHO is in active development. APIs and features may change. See the changelog for recent updates.