Samuel Karp, inžinier z firmy Amazon, ktorý sa zaoberá vývojom Linux distribúcie Bottlerocket a technológií kontajnerovej izolácie pre AWS, rozvíja na základe jail prostredí FreeBSD nový runtime runj na zabezpečenie izolovaného spustenia kontajnerov, ktoré sú vyhotovené podľa špecifikácie OCI (Open Container Initiative). Projekt je prezentovaný ako experimentálny, vyvíjaný vo voľnom čase od hlavnej práce a zatiaľ sa nachádza vo fáze prototypu. Kód je napísaný v Go a je šírený pod licenciou BSD.
Po zlepšení vývoja na požadovanú úroveň môže projekt potenciálne vyrásť na úroveň, ktorá umožní použiť runj ako náhradu za štandardný runtime v systémoch Docker a Kubernetes, pričom na spustenie kontajnerov sa použije FreeBSD namiesto Linuxu. V rámci OCI runtime sú momentálne implementované príkazy na vytváranie, odstraňovanie, spúšťanie, nútené ukončenie a hodnotenie stavu kontajnerov. Obsah kontajnera sa vytvára na základe štandardného alebo obmedzeného prostredia FreeBSD.
Keďže v špecifikácii OCI dosiaľ chýba podpora FreeBSD, v rámci projektu bola vyvinutá séria dodatočných parametrov súvisiacich s nastavením jail a FreeBSD, ktoré sa plánujú predložiť na zaradenie do základnej špecifikácie OCI. Na správu jail sa používajú nástroje jail, jls, jexec, kill a ps z balíka FreeBSD, bez priameho volania systémových volaní. Medzi budúce plány patrí pridanie podpory správy obmedzenia zdrojov prostredníctvom rozhrania RCTL v jadre.
Okrem vlastného runtime sa v repozitári projektu vyvíja aj experimentálna vrstva pre použitie spolu s runtime containerd (používaný v Dockeri), upravená na podporu FreeBSD. Na transformáciu rootfs FreeBSD na OCI-kompatibilný obraz kontajnera sa navrhuje špeciálny nástroj. Následne môže byť vytvorený obraz importovaný do containerd.
Zdroj: opennet.ru
