Об этом проекте

crun — это OCI (Open Container Initiative) рантайм контейнеров, полностью написанный на C и спроектированный для высокой скорости и низкого потребления памяти. Он соответствует спецификациям OCI Container Runtime. Проект нацелен на предоставление альтернативы runc, написанному на Go, за счёт использования C для низкоуровневых операций и предлагает библиотеку (libcrun), которую можно встраивать в другие программы без необходимости внешнего процесса для управления контейнерами. Ключевые особенности: - Высокая производительность: crun быстрее, чем runc, и использует значительно меньше памяти, что демонстрируют бенчмарки при последовательном запуске 100 контейнеров. - Низкое потребление ресурсов: он может запускать контейнеры с очень жёсткими ограничениями памяти (например, 512k), которые не работают с runc. - Поддержка библиотек: может собираться как разделяемые библиотеки (libcrun) для интеграции в другие приложения. - Статические сборки: воспроизводимые статические бинарники доступны через Nix, а роль Ansible автоматизирует установку. - Привязки Lua: предоставляет привязку Lua для скриптинга. Зависимости для сборки перечислены для основных дистрибутивов (Fedora, RHEL/CentOS, Ubuntu, Alpine, Tumbleweed). Процесс сборки использует autotools (autogen.sh, configure, make). Документация доступна в crun.1.md. Релизы подписаны, и их можно проверить с помощью GPG.