Samuel Karp, Amazon'i insener, kes arendab Linux'i distributsiooni Bottlerocket ja konteinerite isoleerimise tehnoloogiaid AWS-is, arendab FreeBSD jail'i keskkondade põhjal uut runj runtime'i, et tagada OCI (Open Container Initiative) spetsifikatsiooniga kooskõlas olevate konteinerite isoleeritud käivitamine. Projekt on positsioneeritud kui eksperimentaalne, arendatakse seda põhitegevuse kõrval ja see on praegu prototüübi staadiumis. Kood on kirjutatud Go keeles ja jagatakse BSD litsentsi all.
Pärast arenduse viimist soovitud tasemeni võib projekt potentsiaalselt areneda tasemele, mis võimaldab runj'i kasutada Docker'i ja Kubernetes'e vaikimisi runtime'i asendamiseks, kasutades konteinerite käitamiseks FreeBSD-d Linux'i asemel. Praegu on OCI runtime'is implementeritud käsud konteinerite loomise, kustutamise, käivitamise, sunniviisilise lõpetamise ja oleku hindamise jaoks. Kontaineri sisu luuakse vaikimisi või kärbitud FreeBSD keskkonna põhjal.
Kuna OCI spetsifikatsioonis puudub praegu FreeBSD toetus, on projekti raames loodud mitmeid täiendavaid parameetreid, mis on seotud jaili ja FreeBSD seadistamisega, mille plaanitakse edastada peamise OCI spetsifikatsiooni integreerimiseks. Jaili haldamiseks kasutatakse FreeBSD paketti kuuluvad tööriistu jail, jls, jexec, kill ja ps, ilma et oleks otsest pöördumist süsteemi väljakutsete poole. Tulevikuplaanides märgitakse ressursi piirangute haldamise toe lisamine RCTL-keskkonnaliidese kaudu.
Lisaks oma runtime'ile arendatakse projekti hoidlas ka eksperimentaalset vahekihti, et kasutada koos runtime containerd'iga (kasutatakse Dockeri puhul), mis on kohandatud FreeBSD toe jaoks. FreeBSD rootfs muundamiseks OCI-ühilduvaks konteineri kuvandiks pakutakse spetsiaalset tööriista. Edasi loodud kuvandit saab importida containerd'isse.
Allikas: opennet.ru
