Uncompromised protection

All HA mechanisms are included. Activate any combination to achieve your preferred balance between protection and complexity.

Membership

Many redundant simultaneous heartbeats

Quorum

In the event of a split brain, decide which nodes can stay alive.

Witness

Add more voters to the quorum vote to survive multiple failures.

Fencing

Prevent a failing peer node from using cluster resources like shared disks.

Transfert Of Control (TOC)

Triggered if a critical resource went down and is not restartable.

Critical Resources

Often, a simple local restart is all it takes to save the day. As a last resort, trigger a failover.

Yet Simple, Scalable, Universal

Deploy with a single package. One binary handles all agent roles, with no kernel modules required. Upgrades are seamless via your package manager, with zero downtime. Manage services effortlessly: start, stop, or relocate with straightforward commands.

Instant cluster health check

Everything green is optimal. Information painted red are issues.

A choice of interfaces

API

An Application Programming Interface for automation over TLS or unix socket.

CLI

A Command Line Interface for In-cluster (om) and out-of-cluster (ox) low-level administration.

TUI

A Terminal User Interface for easy cluster management from a console on your laptop or on a cluster node.

Webapp

For easy cluster management from a browser.

Service Resource Drivers

A service instance is basically a collection of resources starting and stopping together. A resource driver defines what stop and start actually do.

App

forking, simple

Container

docker, kvm, lxc, podman, vbox

Disk

crypt, disk, drbd, loop, lv, md, raw, vg, zpool, zvol

Filsystem

ext4, xfs, zfs nfs, smb, cephfs, ocfs2, …

IP

cni, host, netns, route

Share

nfs

Sync

rsync, symsnapvx, symsrdfs, zfs, zfssnap

Task

docker, host, podman

Volume

Cluster Infrastructure Drivers

The agent includes optional subsystems designed to abstract and hide internal system details from service configurations. When a service template is built to leverage this infrastructure, it enables seamless deployment across different environments. For example, the same template can be deployed on a development cluster using NFS for storage, and on a production cluster using shared disks, all without modifying the service configuration.

Storage Arrays

Drivers to create, remove, present and unpresent disks in storage arrays.

freenas, hitachi, pure, symmetrix, truenas

Storage Pools

The services describe their storage needs in terms of size, shared access, block or file interface, volatile or persistant data. The cluster storage pools spawn the actual volumes. The services don’t have to care which technical solution satisfies their needs.

directory, drbd, freenas, hoc, loop, pure, shm, symmetrix, truenas, vg, virtual, zpool

Backend Networks

The service can declare the network to join, instead of describing the ip address, mask, interface, routes

bridge, routed_brigde, lo

Secrets and Configs

Replicated across all nodes in a cluster, these stores securely manage configuration data and sensitive information. Values can be mounted as file content in volumes or filesystem resources, or injected as environment variables for application processes and containers. This approach is ideal for storing middleware configuration files, passwords, and other critical settings, ensuring consistency and security across the cluster.

Cluster DNS

Enables name resolution for services within the cluster, ensuring seamless communication even when services use dynamically assigned IP addresses from backend networks.

Heartbeat

Heartbeats serve both as a proof of node health and as a channel for data exchange. By supporting multiple heartbeat drivers within a cluster, the system gains enhanced resiliency and fault tolerance.

disk, multicast, relay, unicast