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 !

About the project

CBSD is a management layer written for the FreeBSD jail(8) subsystem, bhyve and Xen . The project is positioned as a single integrated tool of comprehensive solution for building and deploying virtual environments quickly with pre-defined software sets with minimal configuration.

No extra OS functionality has been exposed yet, and everything that CBSD can do, you could also run manually with tens or hundreds of commands in the CLI using the underlying utilities (Not that you would want to!)


  • jail demo
  •  
  • bhyve demo

Features…

Goals

  • Provide FreeBSD users easy management for virtual environments
  • Show features of FreeBSD as a Cloud-hosting platform;
  • Environment deployment automation;
  • Creation of  (your own/personal) application platform with services on demand (PaaS);
  • Environment (Image) library for rapid provisioning;
  • Roadmap

FAQ

Q: «Why FreeBSD?:

  • According to the authors of the project, Linux is no longer a member of the common people, it is fully controlled by big commercial organization. while FreeBSD is developed mostly by enthusiasts. Today, Linux - it is a commercial machine for making money - is that it was Microsoft Windows in 90 years. While many Linux users have struggled against the Windows monopoly (CBSD author of one of them). Yes, FreeBSD very far behind in their characteristics in comparing to Linux. Just look at the abundance of such powerfull decisions as the OpenVZ, Docker, Rancher, Kubernetis, LXD, Ceph, GlusterFS, OpenNebula, OpenStack, Proxmox, ISPPanel and a dozen others. All this is created by commercial companies for Linux and this is done very well. However, Linux is oversaturated with similar solutions. Therefore, it's much more interesting to create it on FreeBSD, where nothing like that exists. This is an excellent challenge to improve and fix in FreeBSD. We all love independence and freedom and FreeBSD today - an independent and free operating system, which is in the hands of ordinary people.

Q: «Why CBSD written on sh :

  • Most of the code has been written in  sh , since there are no demands for complex logic ( details ). CBSD core should be considered as shell-command backend, which is achieved is necessary and in case of problems, any system engineer can always locate and correct the problem in the code.

    The problems of the complexity of maintaining "large sh code" were originally solved by the modular structure of the project, where each script does only its task.

    The rest, more complex CBSD components (eg, a Frontend, which implements RestAPI for interfaces) written in a language go, nodejs, php, and is not part of CBSD Core.

Q: CBSD is FreeBSD only? How about porting to another platform?

  • In most cases porting will be tantamount to writing from scratch since the project is based on the FreeBSD-only features. We are interested in porting to platforms derived from FreeBSD. For example we support the HardenedBSD platform.

    Another fantastic idea is porting CBSD to DragonFly BSD . If the developers of DFLYBSD can synchronize jail framework (libjail) and be able to port bhyve (see: Port bhyve - The BSD Hypervisor ), moving CBSD will be an easy task, and we can get an incredible bundle of DFLY / HammerFS / jail / bhyve / CBSD

Q: CBSD production ready?

  • It depends only on you and your requirements. CBSD exists since 2013 and at the moment is one of the oldest systems for managing virtual environments on FreeBSD, while it is in the current state and continues to improve. So it stand the test of time. During this huge period, by the standards of 3rd-party FreeBSD projects, a large number of bugs and feature requests submitted by a large number of users have been collected and processed. A number of users successfully use CBSD in large production installations.

    In addition, the project has partnered with several FreeBSD/jail/bhyve based service providers who use CBSD in production. This is an additional indicator of long-term prospects.

    We are also interested in learning more about the using of CBSD and ClonOS, so we created a separate page where we collect articles and reviews from different users.

Q: bastillebsd , bhyve-rc , bsdploy , bvm , chyves crate , ezjail , finch , focker , ioc , iocage: ( in shell , in python ), iocell , iohyve , jadm , jail-primer , jailadmin , jailctl , , jailer , jailutils jest , mkjail , pot , quickjail , qjail , junj , rvmadm , tredly , virt-manager vm-bhyve , warden , zjail, and other: What the hell is so many projects, what is the difference between all of them? Any comparison?

  • Most of them were born and already died. Some projects are born because of NIH syndrome. Some die for lack of long-term goals and support. Comparison with CBSD is quite difficult . Short answer: each project has a very special developmental vector and goals in comparison with other tools; You have a choice between several different implementation options. The main difference between CBSD and others is that CBSD is positioned as a complete solution with as simple (where is possible) management interface. CBSD for this reason is much larger and bigger and not all of this is suitable. But we have different goals in comparison with others and focused on complex cluster solutions.

Q: Any child project?

    Some people save their time and use CBSD to solve more complex tasks, some of them:

  • Reggae : DevOps tool for CBSD
  • Bitcloud.sh : open-source programmable cloud platform: rent short-lived virtual machines without registration, with hourly payment in cryptocurrency
  • ClonOS : FreeBSD based distro for virtual hosting platform and appliance
  • bhyve.cloud : runs dedicated bhyve servers to host VMs with almost any OS: *BSD, Linux, Windows
  • k8s-bhyve project : build K8S on top of bhyve hypervisor

Q: jail, bhyve, xen... What about Docker , any plan to support Docker in CBSD?

  • No. We focus on large production-ready and FreeBSD-based installations. Docker is great, but it does not have official FreeBSD support, so it makes no sense to use inappropriate tools in the serious work.

    You can use the Docker as it is in MacOS or FreeNAS - through an intermediate layer with [x/b]hyve hypervisor. But it suits more for fun and games than for serious application in the production infrastructure. But if you really want, all this: Docker with FreeBSD or Kubernetes with FreeBSD easy to make by yourself without CBSD. ;-)

CBSD-related support, talks and usergroup channel

We have Telegram channel for discussion about using and CBSD development.

Please join us in @cbsdofficial (In english language only)

Our official mailing list is hosted by Tilda Center . Send email to cbsd+subscribe@lists.tilda.center to subscribe.

Support of the CBSD project!

If you want to help, make donations to the project or buy beer for CBSD developers, use link below:

Donate CBSD/ClonOS project

Additionally, you can disseminate information about the project or to write an article about how to use. Besides, you can like the project on Github CBSD , by pressing Star . Trifle small, but nice ;-)