Project Description

Iguana installer/rescue initrd uses containers for all its functionality. However there is incredible development in WebAssembly (WASM) space where WASM images uses the same infrastructure as OCI images.

Goal for this Hackweek

In this project we would like to research usage of WASM within Iguana:

  • investigate limitations of WASI (WebAssembly System Interface) and if it can be and how it can be used for various installation or rescue or plain utility usage.
  • integration of WASM runtime in Iguana

Resources

  • Iguana: https://github.com/openSUSE/iguana
  • WebAssembly: https://webassembly.org/
  • WebAssembly in docker: https://wasmlabs.dev/articles/docker-without-containers/
  • WASI: https://wasi.dev/

Looking for hackers with the skills:

webassembly wasi iguana

This project is part of:

Hack Week 22

Activity

  • almost 2 years ago: oholecek started this project.
  • almost 2 years ago: rcase liked this project.
  • almost 2 years ago: oholecek added keyword "webassembly" to this project.
  • almost 2 years ago: oholecek added keyword "wasi" to this project.
  • almost 2 years ago: oholecek added keyword "iguana" to this project.
  • almost 2 years ago: oholecek originated this project.

  • Comments

    • oholecek
      almost 2 years ago by oholecek | Reply

      Results

      Attempt in HW22 was not successful and further discussions are needed.

      To leverage container based infra I opted to use crun runtime with bundled WASM runtime. This could be used with podman or standalone. However I later found out that building crun with wasm support is blocked by lld static library usage.

      crun situation

      crun uses WasmEdge runtime for WebAssembly support. WasmEdge however links with static lld library and we do not provide static lld library as part of llvm. Building and shipping static libraries is generally not allowed.

      LLD itself does not want to ship shared library and wants to be used only when statically linked against.

      More details in https://github.com/openSUSE/iguana/issues/8

    Similar Projects

    This project is one of its kind!