Crate homestar_runtime

Crate homestar_runtime 

Source
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.

§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_utilstest-utils
Test utilities.
workflow
A Workflow is a declarative configuration of a series of UCAN Invocation Tasks.

Structs§

DatabaseBuilder
Builder for Database.
Dht
DHT settings.
ExistingKeyPath
Info on where and what the Key file is
FileLogger
File-logger interface.
Health
Health status of the server and database connection.
IpfsBuilderipfs
Builder for Ipfs.
Libp2p
libp2p settings.
Logger
Logger interface.
Mdns
mDNS settings.
MetricsBuilder
Builder for Metrics.
MonitoringBuilder
Builder for Monitoring.
NetworkBuilder
Builder for Network.
NodeBuilder
Builder for Node.
PrometheusData
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.
ReceiptNotificationwebsocket-notify
A Receipt that is sent out for websocket notifications.
Rendezvous
Rendezvous settings.
RpcBuilder
Builder for Rpc.
Settings
Application settings.
SettingsBuilder
Builder for Settings.
WebserverBuilder
Builder for Webserver.

Enums§

KeyType
Supported key types of homestar
NetworkNotificationwebsocket-notify
Network notification type.
PubkeyConfig
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.