3 ms·
It's interesting that, in light of things like this, you still see large software companies adding support for new components written in non-memory safe languag
by raesene9 3y ago
It's interesting that, in light of things like this, you still see large software companies adding support for new components written in non-memory safe languages (e.g. C)
As an example Red Hat OpenShift added support for crun(https://github.com/containers/crun https://github.com/containers/crun) this year(https://cloud.redhat.com/blog/whats-new-in-red-hat-openshift-4.12-blog https://cloud.redhat.com/blog/whats-new-in-red-hat-openshift...), which is written in C as an alternative to runc, which is written in Go(https://github.com/opencontainers/runc https://github.com/opencontainers/runc)...
- ahhfgshando6698 3y ago[dead]
- insanitybit 3y agoEven when they talk about the advantages of runc over crun memory safety is not brought up. Crazy.
- godshatter 3y agoAccording to the github page for crun, it's because it's more performant and uses less memory and because the authors feel it is a better fit for a lower level container runtime. C code runs on more systems than Go does as well. I'm assuming that will stop being true at some point, but as of now C runs basically everywhere.
- dralley 3y ago>C code runs on more systems than Go does as well. I'm assuming that will stop being true at some point, but as of now C runs basically everywhere. Specifically, OpenShift is supported on both POWER and IBM Z in addition to x86 and ARM. But probably the main reason is that the project started in 2018, when Rust didn't have nearly as much momentum.
- mroche 3y agoIt's also worth noting from the linked docs that crun was added as an option in OpenShift. runc is still the default container runtime, and which runtime to use is customizable on a per-MachineConfigPool basis[0]. Cluster admins have the ability to specify node groups that have application workloads requiring the performance of crun to use it. > OpenShift Container Platform uses CRI-O as the container engine and runC or crun as the container runtime. ->The default container runtime is runC.<- Both container runtimes adhere to the Open Container Initiative (OCI) runtime specifications. As for Rust-written runtimes, there is another project in the Containers GitHub namespace called youki[1] that is attempting to do just that. [0]: https://docs.openshift.com/container-platform/4.13/post_installation_configuration/machine-configuration-tasks.html#create-a-containerruntimeconfig_post-install-machine-configuration-tasks https://docs.openshift.com/container-platform/4.13/post_inst... [1]: https://github.com/containers/youki https://github.com/containers/youki