You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's this idea of abstracting away the need to install the machine-emulator-tools and require the application developer to define some variables or wrap a call to the application execution with rollup-init.
This could all be done in the background, and application developers should only care about building a container that can run their applications, like they already do on other cloud runtime environments.
That's a responsibility of the runtime to adapt that container image to run on its environment.
✔️ Solution
sunodo build should prepare a common-runtime container image, with the right machine-emulator-tools installed and proper cartesi-init so that the application developer can provide only the Dockerfile for their application.
sunodo build would then create a rootfs for the application and inject it into the common-runtime rootfs and use crun to start the process ENTRYPOINT + CMD.
📈 Subtasks
Create a package to hold the container image code for this common-runtime and publish to public registries;
Add a flag to sunodo build to use the common-runtime strategy
...
🎯 Definition of Done
It's possible to use all sunodo-templates without installing emulator-tools nor defining ROLLUPS_HTTP variables;
The text was updated successfully, but these errors were encountered:
Just reporting my findings during a couple days of evaluating options to create this minimal runtime.
wolfi-os (melange, apko) is a great option but lacks upstream riscv64 builds
nixpks is a little more difficult to learn and also lacks upstream riscv64 builds
buildpacks lacks upstream riscv64 builds
Canonical's chisel is good and we can use riscv64/ubuntu builds
If we were going to build our own minimal image without having to bootstrap the riscv64 build, I'd go with Docker Hub riscv64/ubuntu:22.04 and use chisel + copy some libs.
Contribution upstream would be creating the chisel slices for the components we need.
So, that's where I'm heading.
We have Ubuntu 24.04 as the next LTS release, but we don't have riscv64/ubuntu images for that yet.
📚 Context
There's this idea of abstracting away the need to install the machine-emulator-tools and require the application developer to define some variables or wrap a call to the application execution with
rollup-init
.This could all be done in the background, and application developers should only care about building a container that can run their applications, like they already do on other cloud runtime environments.
That's a responsibility of the runtime to adapt that container image to run on its environment.
✔️ Solution
sunodo build
should prepare a common-runtime container image, with the rightmachine-emulator-tools
installed and propercartesi-init
so that the application developer can provide only the Dockerfile for their application.sunodo build
would then create arootfs
for the application and inject it into thecommon-runtime
rootfs and usecrun
to start the processENTRYPOINT
+CMD
.📈 Subtasks
sunodo build
to use the common-runtime strategy🎯 Definition of Done
The text was updated successfully, but these errors were encountered: