Cardinal
Флагманский проект: лёгкий daemonless container runtime
Статический бинарный файл (~5 МБ) на Go, запускающий OCI-контейнеры напрямую через Linux namespaces (PID, Mount, Net, UTS, IPC), cgroups v2 и OverlayFS без постоянного фонового сервиса.
Обзор проекта
Cardinal решает фундаментальную задачу запуска изолированных рабочих нагрузок на Linux без громоздкой инфраструктуры daemon-сервисов. В отличие от традиционных решений с непрерывно работающим root-демоном, Cardinal выполняет запуск изолированного процесса и завершает управляющий контекст, снижая потребление памяти хоста.
Рантайм поддерживает загрузку и распаковку OCI-образов из реестров, мостовую и host-сеть, динамическое управление портами без перезапуска контейнера (cardinal port add/rm), живой мониторинг ресурсов через cgroups v2 (cardinal stats), подключение через Unix socket (cardinal attach) и кластерную оркестрацию.
Проект распространяется в форматах .deb, .rpm, .apk, .snap, а также в виде самодостаточного AppImage и статического бинарника.
Чистый CLI-рантайм на Go. Взаимодействие с ядром через unshare, nsenter, cgroups v2 и Netlink. Отдельный режим `cardinal serve` предоставляет совместимый HTTP API для внешних агентов управления.
cardinal run -d -n web -p 8081:80 nginx:alpine
cardinal stats web
cardinal port add web 9000:9000Возможности и статус функций
Никаких постоянных процессов-демонов в памяти между запусками команд
Автономная сборка без внешних динамических зависимостей
Загрузка и распаковка слоёв Docker Hub и стандартных OCI-реестров
Добавление и удаление портов на лету без перезапуска контейнера
Стриминг потребления CPU, памяти, I/O и PID в реальном времени
Поддержка распределённых нод и функций-как-сервис на базе встроенного оркестратора
