Hardware orchestration made easy

Stabile is Open Source software that helps you run a modern on-premises compute cloud with automated hardware deployment, scaling and management.
All computing services ultimately run on hardware. Configuring, scaling and managing storage, backup, networking and the orchestration of enterprise hardware infrastructure ressources can be daunting, which is one of the reasons most new services end up in the global compute clouds.
Stabile is an Open Source software product for orchestrating hardware infrastructure. Stabile allows you to run regular VM's as well as pre-packaged applications and services, including Kubernetes and micro-services on your own hardware.
The aim of Stabile is to make it as easy as possible, to turn a collection of x86-server hardware into an automated on-premises compute cloud, also known as "hyper-converged infrastructure".
Read the documentation to learn how to get started.
You can use Stabile on a single node like your laptop, for testing and development. For an internal company test or development environment, possibly scaling out to dozens or even hundreds of hardware nodes, we recommend using dedicated server hardware.
Stabile is currently in beta-testing. We invite people with a techical interest in infrastructure to join the beta program, but we do not in any way endorse using Stabile for production environments, so please don't do this for now. We assume absolutely no responsibility for data loss, security incidents, downtime or any other operational issues.

Integrated service deployment

Stabile optionally provides access to a curated registry of virtual appliances (Stacks) that actually work. These are of course also Open Source.
The short time-lapse video above shows how to install small 2-node bare-metal Kubernetes cluster from a standard stack in the registry

Stabile Features

Virtual server provisioning and management

Stabile intelligently provisions VM's on available hardware nodes using Linux' built-in KVM hypervisor. VM's and associated network and storage ressources, as well as rules for backup and monitoring may be bundled in collections called Stacks. Using Stacks as templates, Stabile can install complex services in a matter of seconds.

Software-defined networking

Stabile creates dedicated VLAN's on the fly, with a unique VLAN associated with every user account. Stabile also handles routing between external and internal IP addresses on each VLAN across available hardware nodes, as well as enforcement of access to specific ports.

Storage orchestration

Stabile uses ZFS as storage layer for the persistent storage of VM images and for network-attached storage. ZFS is also used for integrated backup and disaster recovery. Stabile can optionally format and configure any attached storage for easy and immediate use.

Automated provisioning of nodes

Stabile can be used on any Linux computer you have as a single-node test or development environment. For scaling out Stabile lets you PXE boot additional nodes, which are automatically added to you Stabile cloud.

Integrated backup with ZFS

Stabile can optionally back up all your data using ZFS snapshots. Any attached block-storage may be used. Stabile manages snapshotting as well as sending and receiving of snapshots. Point-in-time restores can be made using the API or the web UI.

Integrated ressource metering

Stabile keeps track of the ressouce usage of each registered user of your Stabile cloud. Usage is recorded with a 1-second granularity for storage, vCPU and network usage. Quotas may be set and are enforced by Stabile. Monthly averages are calculated, and are available through the API and in the web UI. This may be used for internal billing purposes.

Monitoring and reporting

Monitors may optionally be configured for your VM's. Stabile can monitor the storage usage and network availability of your services. Alarms can be configured with optional Slack and XMPP integration. Monthly uptime reports and running averages are available for configured monitors.

User and access management

Stabile is a multi-tenant system with built-in user management. Each user has a defined set of privileges and quotas. Optionally a Stabile cloud may be "linked" with the Stabile Registry, which allows for consolidated user management across various Stabile installations, e.g. for geographically distributed set-ups.