kerubistan / kerub

A lightweight IaaS prototype
Apache License 2.0
13 stars 4 forks source link
cloud-computing iaas iaas-cloud kotlin virtualization

Coverage Reliability Rating Security Rating Technical Debt Vulnerabilities Duplicated Lines (%) Lines of Code FOSSA Status

FreeBSD CentOs Ubuntu OpenSUSE

kerub

Logo

A lightweight prototype IaaS application

Objective

The objective of this project is to demonstrate some technologies and solutions in the IaaS field. Such solutions are:

Architectural shift:

Put rare features to use:

Despite all of the above objectives:

Status

Kerub is in research/development phase, however you should be able to run and use some minimalistic functionality:

Tests

Some tests are included in the application, both unit and integration tests, these tests can simulate workload and run very quick (the full build is around 5 minutes on a dual-core i7 CPU). However these tests can not cover all aspects, for example we can not have a real host with an actual operating system installed on it, the command executions are faked, etc.

To fill this gap, there is another package only for tests called kerub-ext-tests. This however runs against packaged (RPM, DEB) versions of the application, sophisticated to setup, requires hypervisor hardware and software and a full run takes several hours.

There is a second separate test package for microbenchmarks: kerub-microbenchmarx This is a JMH-based benchmark collection to help tuning (mostly but only) the planner.

How to get started

git clone https://github.com/kerubistan/kerub/
cd kerub
mvn jetty:run

Open http://localhost:8080/ in your favourite browser, and you have a controller running.

First of all, you will need a few (at least one) host to work with. This can be a virtual machine in test environments if nested virtualization is enabled, or a physical server. The host needs a few software to work with:

Kerub will find whatever is installed.

OS Packages

OS / Distribution packaging project status
Fedora kerub-fedora maintained
CentOS kerub-centos maintained
ubuntu kerub-ubuntu development
openSUSE kerub-openuse maintained

License

FOSSA Status