Component hosts
Camps separate two concerns:
| Concern | Role |
|---|---|
| Durable EventStore engines | Single-owner journal, fencing, staged effects |
| Component hosts | How Bindle components actually run |
App authors pick ports and Bindles; operators choose engines. Conformance certifies claims.
EventStore engines (default path)
| Engine | Host | Notes |
|---|---|---|
| Local SQLite | Node / server | Storage worker; crash-safe defaults |
| Browser SQLite | Browser | WASM + OPFS; fail-closed if durable required without OPFS |
See EventStore · Runtime ports.
Component host kinds
Wasm (Wasmtime)
- Private components as wasi:http processes in sandboxes
- Public web may stay process-local
- Deny-by-default: only linked WIT imports are invokable
OCI / Kubernetes
- Accept prebuilt wasi:http components
- Pack local OCI layout under the HoBo home directory
- Schedule on Kubernetes through a typed transport (version, apply, rollout)
Cloud-native registry
- Multi-cloud host registry with a mock path for parity tests
- Cloud providers appear as they pass conformance
Optional sidecar runtime
Some Camps may opt into a sidecar-style runtime (for example Dapr-backed actors and pub/sub). It is never the default local path.
Later engines
Postgres journals, Temporal, Restate, and similar remain future adapters behind the same ports.