Deploying to Sandbox
The project Designer generates carries its own scripts to build its components and publish them. Once they’re published, any client can run your commands and read your State Views.
1. Implement the stubs
Section titled “1. Implement the stubs”- Fill in the
todo!()in eachdecidestub. - Fill in the
// TODOarms in eachevolvestub. An unfilledevolvestill compiles, and returns empty state. - If a State View folds events from more than one stream, widen the selector in its
metadata.json; see Generating code. - Complete the test scaffolds, which are ignored until you do, and run them:
cargo test -- --ignored2. Build
Section titled “2. Build”./build_all.shThis compiles every State Change and State View to a WebAssembly component under target/wasm32-wasip2/release/.
3. Choose a server
Section titled “3. Choose a server”The Sandbox:
export EVIDENTSOURCE_URL=https://sandbox.evidentsource.comYour machine, with the project’s docker-compose.yml, which runs EvidentSource in memory and its MCP server:
docker compose up -dexport EVIDENTSOURCE_URL=http://localhost:30004. Name the database
Section titled “4. Name the database”install.sh publishes to a database named after your model, unless you set EVIDENTSOURCE_DATABASE, and creates it if it doesn’t exist. On the shared Sandbox, choose a name no one else is likely to use:
export EVIDENTSOURCE_DATABASE=my-model-yourname5. Publish
Section titled “5. Publish”./install.sh --allAnswer y to the prompt. ./install.sh --list shows the components, and ./install.sh state-change <name> publishes one.
Publishing again
Section titled “Publishing again”Publish a changed component again, and it becomes the next version: the first is v1, the next v2. Publishing exactly what the latest active version holds, the same module and the same metadata, returns that version instead, so a retried publish adds nothing unless another publish landed in between. Earlier versions stay published, and a caller names the version it wants in the route, so moving back is a matter of calling the earlier version. Nothing in the event log changes.
- Issuing commands and Reading state views against your database.
- When you’re ready for your own EvidentSource, with private data and durable storage: Operations: containers + S3 and AWS Marketplace deployment.