FreeBSD virtual environment management and repository

2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !

История проекта

Годом появления CBSD как проекта следует считать 2013, когда некоторое количество sh-скриптов написанных olevole и реализующих базовые операции по работе с jail(8) были объединены и оформлены в виде единого целого. Этот пакет получил название CBSD и был опубликован в дереве портов FreeBSD.

Эти скрипты автоматизировали ряд процессов по менеджменту jail в gamedev компании Невософт, использовавшей FreeBSD в промышленной эксплуатации. Таким образом, скрипты изначально использовались в production-окружении и вектор развития функциональности как в тот момент, так и в дальнейшем на протяжении всей жизни проекта задавался требованиям рынка при использовании в живых проектах.

На тот момент времени из jail management существовал и был достаточно популярен лишь проект ezjail, однако запланированный автором объем работ по кластеризации требовал отдельной кодовой базы, поскольку вектор развития был отличен от ezjail.

До 2018 года проект позиционировался как user-friendly продукт, поскольку основной упор был сделан на богатые возможности и гибкость при удобном интерфейсе взаимодействия - проект CBSD - это единственный проект по управлению jail и виртуальными машинами на FreeBSD, предлагающий помимо стандартного CLI (и теперь уже WEB UI) интерфейса также диалоговый интерфейс, являясь модулем утилиты bsdconfig(8).

В конце 2018 года цели проекта были подкорректированы с амбициозной идеей - превратить CBSD в некий фреймворк низкоуровневых команд по работе с виртуальными окружениями и при этом не растерять свою user-frendly направленность, что позволит использовать CBSD тем, кто хочет создать свою собственную облачную платформу в качестве основы.

В настоящее время CBSD является одним из самых зрелых и до сих пор активных проектов среди аналогов, код продолжает совершенствоваться и развиваться самыми разными людьми из разных точек планеты, присылающих патчи по электронной почте и GitHub; код распространяется под лицензией BSD и полностью свободен, не принадлежит какой-либо компании, силами community из самых разных стран организованы почтовые рассылки, Telegram канал и зеркала для хостинга ресурсов проекта.

Наиболее значимые даты в развитии проекта (полный список изменений здесь ):

2013-02: первая версия CBSD;

2014-02: добавлена поддержка не нативных архитектур jail через Qemu user mode, что несколько расширило ограничения налагаемые 'контейнеризацией' до гибридного решения из jail-контейниризации и эмуляции;

2014-04: добавлена поддержка bhyve(8) в качестве гипервизора виртуальных машин и было принято решение развивать CBSD не только как менеджмент контейнеров, но и в качестве инструмента по управлению виртуальными машинами, предоставляя пользователю единый и однообразный интерфейс. Позднее были попытки добавить поддержку VirtualBox и QEMU, однако эти работы были свернуты ввиду отсутствия use-case автором (что вполне может быть продолжено, если будут заинтересованные в этом участники);

2016-03: была добавлена поддержка XEN, значительно расширяя варианты по запуску виртуальных машин, которые не могут быть запущены в bhyve. В отличие от попыток внедрения поддержки VirtualBox и Qemu, поддержка XEN остается на хорошем уровне благодаря принципу: "используй сам то что кодишь" - инсталляции виртуальных машин под управлением CBSD/XEN нашли и продолжают находить варианты применения у автора;

2016-09: анонсирован WEB frontend, который также распространяется в виде отдельного дистрибутива под названием ClonOS;

2018-02: CBSD побывала на FOSDEM 2018, где Goran Mekić подготовил небольшой вводной доклад о проекте. В том же году Гораном был анонсирован проект Reggae, оркестратор популярных DevOPS задач с использованием CBSD;

2019-01: первый эксперементальный релиз ClonOS;

2019-03: добавлена поддержка cloud-init и cloudbase для виртуальных машин bhyve, что вывело инструмент CBSD на новый уровень при построении облачной платформы для хостинга виртуальных машин. Также, силами CBSD community была запущена сеть зеркал ISO и cloud-образов для пользователей CBSD;