This repository uses wash as the authoritative local entrypoint for wasmCloud development. The
local workflow is expected to support four activities:
- Verify workstation prerequisites.
- Start a local lattice named
institutional-lattice. - Build and validate the workspace's wasmCloud-facing crates.
- Render and inspect a development lattice manifest.
Confirm the following tools are available on the workstation:
rustccargorustupwashdocker
Confirm at least one Rust WebAssembly target is installed:
wasm32-wasip1wasm32-wasip2wasm32-unknown-unknown
The repository provides a single readiness command:
cargo xtask wasmcloud doctorThat command verifies the toolchain, checks for an installed wasm target, runs
cargo xtask components build, and executes cargo test -p wasmcloud-smoke-tests --all-targets.
Start the local lattice:
cargo xtask wasmcloud upThis uses wash up and defaults the lattice name to institutional-lattice.
Once the lattice has started successfully at least once on the workstation, detached startup is also available:
cargo xtask wasmcloud up --detachedInspect the local host inventory:
cargo xtask wasmcloud status --lattice institutional-latticeTear the environment down when finished:
cargo xtask wasmcloud downIf wash down reports that it could not contact NATS but a wasmcloud_host process is still
running, terminate the orphaned host process and rerun the command.
Run the workspace's wasmCloud-oriented compile checks:
cargo xtask components buildRun the wasmCloud smoke tests:
cargo test -p wasmcloud-smoke-tests --all-targetsIf SurrealDB is installed on the workstation, start it as the local durable store on loopback:
surreal start \
--log info \
--bind 127.0.0.1:8000 \
--user root \
--pass "<PASSWORD>" \
surrealkv://$HOME/.local/share/origin/surrealdb.dbExport the runtime variables consumed by shared/governed-storage::connect_from_env():
export ORIGIN_SURREALDB_ENDPOINT="ws://127.0.0.1:8000"
export ORIGIN_SURREALDB_USERNAME="root"
export ORIGIN_SURREALDB_PASSWORD="<PASSWORD>"
export ORIGIN_SURREALDB_NAMESPACE="short_origin"
export ORIGIN_SURREALDB_DATABASE="institutional"Validate the governed storage path before starting other runtime components:
cargo test -p surrealdb-access -p governed-storageThe in-memory storage helper remains available for isolated tests, but local runtime verification should prefer the durable host-installed SurrealDB path above.
Render a development manifest with explicit component references and digests:
cargo xtask wasmcloud manifest \
--environment dev \
--finance-ref ghcr.io/shortorigin/finance-service:dev \
--finance-digest sha256:test \
--treasury-ref ghcr.io/shortorigin/treasury-disbursement:dev \
--treasury-digest sha256:test \
--output /tmp/origin-lattice-config.jsonThe manifest is rendered through the existing delivery path and should describe the
institutional-lattice rollout for the selected environment.
A local wasmCloud development environment is considered healthy when all of the following hold:
cargo xtask wasmcloud doctorpasses.cargo xtask wasmcloud upstarts a local lattice successfully.cargo xtask wasmcloud status --lattice institutional-latticereports at least one host.cargo xtask wasmcloud manifest ...renders a valid lattice manifest.