Sobre o projeto

crun é um runtime de contêiner OCI (Open Container Initiative) totalmente escrito em C, projetado para ser rápido e ter baixo consumo de memória. Ele está em conformidade com as OCI Container Runtime Specifications. O projeto tem como objetivo fornecer uma alternativa ao runc, que é escrito em Go, aproveitando o C para operações de baixo nível e oferecendo uma biblioteca (libcrun) que pode ser incorporada em outros programas sem exigir um processo externo para gerenciar contêineres. Os principais recursos incluem: - Alto desempenho: crun é mais rápido que o runc e usa significativamente menos memória, como demonstrado por benchmarks executando 100 contêineres sequencialmente. - Baixo uso de recursos: Ele pode executar contêineres com limites de memória muito restritos (por exemplo, 512k) que falham com o runc. - Suporte a biblioteca: Pode ser compilado como bibliotecas compartilhadas (libcrun) para integração em outros aplicativos. - Builds estáticos: Binários estáticos reproduzíveis estão disponíveis via Nix, e uma role do Ansible automatiza a instalação. - Bindings Lua: Fornece um binding Lua para scripting. As dependências de compilação estão listadas para as principais distribuições (Fedora, RHEL/CentOS, Ubuntu, Alpine, Tumbleweed). O processo de compilação usa autotools (autogen.sh, configure, make). A documentação está disponível em crun.1.md. As versões são assinadas e podem ser verificadas com GPG.