containerd / runwasi

Facilitates running Wasm / WASI workloads managed by containerd
Apache License 2.0
1.06k stars 88 forks source link

Entrypoint string specification and validation #237

Open ipuustin opened 1 year ago

ipuustin commented 1 year ago

Right now the entrypoint strings are '#'-delimited (Wasm file and method): https://github.com/containerd/runwasi/pull/102. In https://github.com/containerd/runwasi/pull/219 there was some discussion about specifying this particular entrypoint string format and semantics well, so it would be documented for users and other projects could potentially support this.

In particular, we need to write validation code and tests. For example, #219 listed these test cases:

  1. foo#bar
  2. #bar
  3. foo#bar#bar
  4. foo
  5. #foo#bar
  6. foo#
  7. foo#bar; -- %
jsturtevant commented 1 year ago

also related to #194

utam0k commented 1 year ago

👍

Mossaka commented 1 year ago

More discussion happened here: https://cloud-native.slack.com/archives/C04LTPB6Z0V/p1693606484029809

jsturtevant commented 1 year ago

Pulling out the relevant differences from the slack thread:

ereslibre commented 1 year ago

wws shim expect a app binary. (e.g. hello.js)

wws behaves as slight and spin. It may use a specific manifest too (if present) and scans for functions defined at any level beneath the root directory, mapping that subpath at the appropriate place in the HTTP server.