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 !

Attention! I apologize for the automatic translation of this text. You can improve it by sending me a more correct version of the text or fix html pages via GITHUB repository.

Project history

2013 should be considered the year of the emergence of CBSD as a project, when several sh-scripts written by olevole and implementing the basic operations for working with the jail(8) were combined and created into one. This package is called CBSD and has been published to the FreeBSD ports tree.

These scripts automated a number of jail management processes in the Nevosoft gamedev company, who used FreeBSD in production. Thus, the scripts were initially used in the production environment, and the vector of the development of functionality both at that moment and later throughout the project life cycle was determined by the market requirements when used in live projects.

At that time, there was only the ezjail project, which was quite popular among jail administrators, but the amount of clustering work planned by the author required a separate code base, since the development vector was different from ezjail.

Until 2018, the project was positioned as a user-friendly product, since the main emphasis was on rich capabilities and flexibility with a convenient interaction interface - the CBSD project is the only jail and virtual machine management project on FreeBSD that offers in addition to the standard CLI (and now WEB UI) interface is also a dialog-based interface, being a module of the bsdconfig(8).

At the end of 2018, the goals of the project were adjusted by an ambitious idea - to turn CBSD into some kind of framework for working with virtual environments at a low level and at the same time not to lose user orientation, which will be interesting for those who want to create their own cloud platform based on CBSD.

Currently, CBSD is one of the most mature and still active projects among analogues, the code continues to be improved and developed by various people from different parts of the world who send corrections by email and through GitHub; the code is distributed under the BSD license and is completely free, does not belong to any company. With the help of a community from different countries, mailing lists, a Telegram channel and mirrors were organized to host the project resources.

The most significant dates in the development of the project (full list of changes here ):

2013-02: first CBSD version released;

2014-02: support for non-native jail architectures through the Qemu user mode was added, which somewhat expanded the restrictions imposed by containerization to a hybrid solution in the form of a jail container and emulation;

2014-04: Added support for bhyve(8) as a virtual machine hypervisor. And it was decided to develop CBSD not only for container management, but also as a tool for managing virtual machines, providing the user with a single and unified interface. Later there were attempts to add VirtualBox and QEMU support, however, these works were curtailed due to the author’s lack of a usage scenario (which could well be continued if there are interested participants in this);

2016-03: Added support for XEN, greatly expanding the ability to run virtual machines that cannot be run in bhyve. Unlike attempts to implement support for VirtualBox and Qemu, XEN support remains at a good level thanks to the principle: "use what you code yourself" - installations of virtual machines running CBSD / XEN are used by the author;

2016-09: A web interface has been announced, which is also distributed as a separate distribution called ClonOS;

2018-02: CBSD visited FOSDEM 2018, where Goran Mekic prepared a small initial report on the project. In the same year, Goran announced the Reggae project, an orchestra of popular DevOPS tasks using CBSD;

2019-01: ClonOS first experimental release;

2019-03: added support for cloud-init and cloudbase for bhyve virtual machines, which took the CBSD tool to a new level when creating a cloud platform for hosting virtual machines. In addition, the CBSD community has launched a network of ISO mirrors and cloud images for CBSD users;