Aeolus docs
Aeolus is the CloudBSD OCI runtime from REVYTECH — distribute, rebalance, and recover multi-service stacks on native BSD. This page is self-contained; no private repos.
60-second tour
- Run one image — Pull a standard OCI image and start it with
aeolus run. - Declare a stack — Describe web, database, and cache together in
ensemble.yml. - Bring the ensemble up —
aeolus ensemble upstarts the unit with ordering and aliases. - Watch the mesh — Nodes authenticate to each other; public names use Let’s Encrypt.
- Recover in place — Replicas and standbys keep serving when an instance or node drops.
Quick glossary
- Ensemble one YAML file for a multi-service stack with shared lifecycle
- Distribute place instances across healthy nodes
- Rebalance move traffic and capacity as the cluster changes
- Recover replicas and standbys keep the stack up
- Mesh node-to-node mutual TLS on a private cluster CA
- Muscle memory create · run · stop · logs — familiar container CLI
What it is
- Runtime — the
aeolusCLI: create, run, stop, logs, exec, inspect, ensembles. - Isolation — native CloudBSD instances with resource limits, mounts, and the flags you already expect.
- Ensembles — multi-service units declared in YAML (live demo: WordPress blog).
- Cluster mesh — nodes authenticate over mutual TLS; public websites use Let’s Encrypt.
- Networking — Publish ports with -p, give services network aliases, and terminate public TLS on product hostnames.
Public demos
- blog.aeolus.cloudbsd.org — ensemble WordPress
- single.aeolus.cloudbsd.org — one-node lane
- cluster.aeolus.cloudbsd.org — three-node lane
- See it rebalance · Open the ensemble · Architecture
Operator notes
Install the CloudBSD package or image that ships aeolus. Guest smoke uses AEOLUS_CORE_ONLY. Host state lives under /var/aeolus.
An ensemble is one YAML file that declares a multi-service stack — web, database, cache, and friends — with shared lifecycle so Aeolus can distribute, rebalance, and recover the whole unit.
# replicas expand to instances; volumes attach storage pools
version: "1.0"
name: aeolus-blog
volumes:
- name: db-data
pool: zfs/aeolus/blog
- name: wp-data
pool: zfs/aeolus/blog
services:
- name: db
image: mariadb:11
replicas: 1
volumes: [db-data]
- name: db-standby
image: mariadb:11
replicas: 1
- name: memcache
image: memcached:1.6
replicas: 1
- name: redis
image: redis:7
replicas: 1
- name: wordpress
image: wordpress:6
replicas: 2
depends_on: [db, memcache]
ports: ["8080:80"]
volumes: [wp-data]
# On any CloudBSD node with aeolus installed
aeolus ensemble validate ./ensemble.yml
aeolus ensemble up ./ensemble.yml
aeolus ensemble status ./ensemble.yml