Architecture

The MiBox stack, as shown in the following diagram, consists of a set of layers, each layer grouping together serveral functions. And the layers in the MiBox stack are described from top to bottom in detail, as well as the functions they are responsible for.

mibox architecture diagram

UI

UI at the topmost layer of the MiBox stack provides two types of input for different level of users to configure what services to setup, including the scripted and the file-based.

Services

Services layer is composed of two sublayers, upper services and underlying services. The former covers a set of services which setup open source tools according to those settings from UI layer, while the latter is also set up as per those settings specified by the former.

The upper services layer includes Migo, Chiliproject, Gerrit, Jenkins, and so on. The underly services layer contains Apache, MySQL, OpenSSH, and the like.

SAL

SAL (Services Abstract Layer) defines a set of service abstractions to distinguish between services.

Configuration

Configuration layer provides a set of default settings for all services in each service abstraction.

In addition, setting up a local configuration file for chosen services is to overwrite corresponding default settings.

Core

Core Layer is the heart of the MiBox stack, which stems from the fact that it provides the following functions:

Libraries

Libraries layer provides a set of cross-platform libraries for the upper layers to solve incompatibility between platforms (i.e. distributions) when running MiBox, including:


Author

Samuel Mi samuel.miing@gmail.com from Miing.org