Expand description
homestar-runtime is a determistic Wasm runtime and effectful workflow/job system intended to be embedded inside or run alongside IPFS or another content-addressable store.
You can find a more complete description here.
§Related crates/packages:
§Getting Started
For getting started with Homestar in general, please check out our README and Quickstart guide.
§Feature flags
default: Enables the default set of features.dev: Enables a dev-friendly, lighter set of features for development.ansi-logs: Enables ANSI color codes in logs.console: Enables tokio console debugging.ipfs: Enables IPFS-related integration and settings.monitoring: Enables node monitoring-related features and dependencies.profile: Enables profiling-related features and dependencies.test-utils: Enables utilities for unit testing and benchmarking.wasmtime-default: Enables the default set of features for the embedded Wasmtime runtime.websocket-notify: Enables websocket notifications.
§Examples
Check out our examples directory to explore some Homestar scenarios and see the system in action.
Re-exports§
pub use db::Db;pub use runner::NodeInfo;pub use runner::Runner;pub use workflow::WORKFLOW_TAG;
Modules§
- channel
- Wrapper around crossbeam::channel and flume to provide common interfaces for sync/async (un)bounded and non-tokio oneshot channels.
- cli
- CLI commands/arguments.
- daemon
- Daemonize the Homestar runtime.
- db
- (Default) sqlite database integration and setup.
- network
- libp2p, multi-use HTTP and WebSocket server, and ipfs networking interfaces.
- runner
- General Runner interface for working across multiple workers and executing workflows.
- test_
utils test-utils - Test utilities.
- workflow
- A Workflow is a declarative configuration of a series of
UCAN Invocation
Tasks.
Structs§
- Database
Builder - Builder for
Database. - Dht
- DHT settings.
- Existing
KeyPath - Info on where and what the Key file is
- File
Logger - File-logger interface.
- Health
- Health status of the server and database connection.
- Ipfs
Builder ipfs - Builder for
Ipfs. - Libp2p
- libp2p settings.
- Logger
- Logger interface.
- Mdns
- mDNS settings.
- Metrics
Builder - Builder for
Metrics. - Monitoring
Builder - Builder for
Monitoring. - Network
Builder - Builder for
Network. - Node
Builder - Builder for
Node. - Prometheus
Data - A parsed representation of the prometheus metrics data
- Pubsub
- Pubsub settings.
- RNGSeed
- Seed material for RNG generated keys
- Receipt
- Receipt for Invocation, including it’s own Cid and a Cid for an Instruction.
- Receipt
Notification websocket-notify - A Receipt that is sent out for websocket notifications.
- Rendezvous
- Rendezvous settings.
- RpcBuilder
- Builder for
Rpc. - Settings
- Application settings.
- Settings
Builder - Builder for
Settings. - Webserver
Builder - Builder for
Webserver.
Enums§
- KeyType
- Supported key types of homestar
- Network
Notification websocket-notify - Network notification type.
- Pubkey
Config - Configure how the Network keypair is generated or using an existing one
Constants§
- RECEIPT_
TAG - Receipt header tag, for sharing over libp2p.
- VERSION_
KEY - General version key for receipts.