Publishing the WASM Component
After a WASM file is built, it can be pushed into an OCI registry with this command:
obelisk component push \
target/wasm32-wasip2/release/myactivity.wasm \
docker.io/youraccount/yourimage:tag
Obelisk will output the OCI location together with its SHA digest. This can be used instead of the
file location in obelisk.toml:
[[activity_wasm]]
name = "myactivity"
-location = "${OBELISK_TOML_DIR}/target/wasm32-wasip2/release/myactivity.wasm"
+location = "oci://docker.io/getobelisk/example_activity_fibo_template:2025-01-30@sha256:f67904dd6d30bc4ca9bf844d41b6c11b146ebf66adaf05a2088e2a5f7fa46d29"
Components can also be referenced from GitHub releases using the gh:// prefix. The format is
gh://owner/repo@tag/asset.wasm, where tag is a release tag (e.g. v1.0.0) or latest:
[[activity_wasm]]
name = "myactivity"
location = "gh://owner/repo@v1.0.0/asset.wasm"
content_digest = "sha256:..." # Recommended for reproducibilityNote on caching of OCI artifacts
Although including the sha256 part is not necessary, it improves reproducibility (tags can be
moved) and caching (unlike Docker, Obelisk will always check whether the tag points to an image that
was downloaded already).