https://github.com/wasmcloud/wasmcloud-otp
wasmCloud host runtime that leverages Elixir/OTP and Rust to provide simple, secure, distributed application development using the actor model
https://github.com/wasmcloud/wasmcloud-otp
actor-model actors dispatcher elixir otp webassembly webassembly-runtime
Last synced: 11 days ago
JSON representation
wasmCloud host runtime that leverages Elixir/OTP and Rust to provide simple, secure, distributed application development using the actor model
- Host: GitHub
- URL: https://github.com/wasmcloud/wasmcloud-otp
- Owner: wasmCloud
- License: apache-2.0
- Created: 2021-05-28T20:34:53.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-12T18:43:44.000Z (6 months ago)
- Last Synced: 2025-04-03T09:09:54.454Z (20 days ago)
- Topics: actor-model, actors, dispatcher, elixir, otp, webassembly, webassembly-runtime
- Language: Elixir
- Homepage:
- Size: 409 MB
- Stars: 226
- Watchers: 5
- Forks: 48
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
> [!IMPORTANT]
> This host is now **deprecated** and is not receiving feature updates. For the latest wasmCloud features, use the [primary host runtime](https://github.com/wasmCloud/wasmCloud/tree/main/crates/host).
[](https://github.com/wasmCloud/wasmcloud-otp/actions/workflows/wasmcloud_host.yml)
[](https://github.com/wasmCloud/wasmcloud-otp/releases)
[](https://wasmcloud.com)
[](https://wasmcloud.dev)
# wasmCloud Host Runtime (OTP)
The wasmCloud Host Runtime is a server process that securely hosts and provides dispatch for [actors](https://wasmcloud.dev/reference/host-runtime/actors/) and [capability providers](https://wasmcloud.dev/reference/host-runtime/capabilities/). This runtime is designed to take advantage of WebAssembly's small footprint, secure sandbox, speed, and portability to allow developers to write boilerplate-free code that embraces the [actor model](https://en.wikipedia.org/wiki/Actor_model) and abstracts away dependencies on [non-functional requirements](https://www.scaledagileframework.com/nonfunctional-requirements/) via well-defined [interfaces](https://github.com/wasmCloud/interfaces/).
This host runtime is written in Elixir and extensively leverages the decades of work, testing, and improvements that have gone into the **OTP** framework. There are a number of excellent Elixir and OTP references online, but we highly recommend starting with the [Pragmatic Programmers](https://pragprog.com/categories/elixir-phoenix-and-otp/) Elixir and OTP library of books.
To get started with installation and exploration, check out the [getting started](https://wasmcloud.dev/overview/getting-started/) section of our documentation.
The wasmCloud Host Runtime is made up of two pieces:
- The Host Core
- Dashboard Web UI## Host Core
The **host core** consists of all of the "headless" (no UI) functional components of the system. This OTP application and its contained supervision tree represent the _core_ of the wasmCloud OTP host runtime.
You can find the [host core](./host_core/README.md) in this github repository.
## Dashboard Web UI
The dashboard web UI (often colloquially referred to as the _washboard_) is a **Phoenix** application that fits snugly atop the host core, providing real-time web access to a variety of information, telemetry, and insight while also exposing a graphical interface to controlling the host and portions of the lattice.
You can find the [dashboard UI](./wasmcloud_host/README.md) in this github repository.
### NATS
All of wasmCloud's _lattice_ functionality requires the use of [NATS](https://nats.io). To learn more, check out the [lattice](https://wasmcloud.dev/reference/lattice/) section of our documentation.