What
Istio (coming from Service Mesh 3.0.0-tp.2 provided by Red Hat, Inc.) does not support wasm image with the format application/vnd.docker.distribution.manifest.list.v2+json: Manifest list, aka "fat manifest". When fat manifest image is being used, the gateway reports wasm module loading error with a "checksum error":
2025-01-29T09:35:38.772818Z error wasm convert the wasm config: cannot fetch Wasm module oci://registry.redhat.io/rhcl-1/wasm-shim-rhel9@sha256:9dd129d64b87f513855130f89b9ade3507f92ce5223aa173eb608235b4255db7: module downloaded from oci://registry.redhat.io/rhcl-1/wasm-shim-rhel9@sha256:9dd129d64b87f513855130f89b9ade3507f92ce5223aa173eb608235b4255db7 has checksum 458a5ff405922b20142416993f486d22ea23d375f9ef4fc239a42f00649129e4, which does not match: 9dd129d64b87f513855130f89b9ade3507f92ce5223aa173eb608235b4255db7
For the context, this wasm image is being used as reference in the [WasmPlugin|http://example.com] resource. RHCL is currently using this image format for building multi platform ({OS, ARCH} tuples) images.
The[ wasm image bundled with RHCL v1.0.0|https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=3427742], is built for x86_64 and ppc platforms.
How
There is no need to build multi platform wasm images as the images are not runtime images. Instead, the wasm images are just wasm modules packaged as OCI images that contain the binary in web assembly instruction format. This wasm module is being run inside the gateway in a sand-boxed environment and allows to extend the functionality of the gateway.
Therefore, the obvious takeaway would be to build single platform OCI image. If one needs to be chosen, let's pick x86_64 and ensure it can run in ppc platform (cc QE)
- is related to
-
CONNLINK-299 [known issue] Support protected container registry when loading wasm-shim image
-
- Closed
-