Architecture & Ægir internals
The operating reference for BOA's internal model: the layered front-end and back-end split, the entity and task-queue engines, and the multi-Octopus layout.
BOA is an omega8cc fork of the Ægir hosting stack, run on Devuan, Nginx-only and Percona-only, in a Master + N-Satellites multi-instance layout that upstream Ægir does not have.
This section is the operating reference for that internal model — the layers, the node-type entity graph, the cron-driven task engine, and the multi-Octopus instance model — with every concrete path, variable, and constant verified against current BOA source.
Three corrections recur throughout — they are the canonical forms:
- The instance root is
/data/disk/<user>(not/home/oN). - The Hostmaster codebase lives at
<root>/aegir/distro/NNN(a numeric counter, nothostmaster-7.x-3.x). - Provision is at
.drush/sys/provision(the bare.drush/provisionpath is actively removed).
The pages below cover the layered architecture, the entity and service model, the cron-driven task queue, the multi-Octopus instance layout, and driving the back end from the command line.
See also:
- Control files & INI — for the variable surface these pages reference.
- Database and Nginx internals — for the host-side service detail.
- Reference appendix — for the consolidated variable and command tables.
- Discontinued features — where tools dropped from the stack are recorded.
Architecture overview & BOA fork model
The layered view of a BOA host: the Hostmaster front end and Provision back end, the Master and Satellite split, the on-disk layout, and the fork's divergence from Ægir.
Entity & service model
The Drupal node types Ægir runs on: server, platform, site, client and package, their real status constants, the BOA permissions matrix, and each one's provision backend.
Task queue engine
How BOA drains the Ægir task queue from cron rather than a daemon: the dispatch chain, fast and slow cadence, the three registered queues, and the pause and failure controls.
Multi-Octopus model
One Master plus N Octopus instances per host: per-instance roots and control files, the instance-owner versus lshell identity split, the isolation boundary, and adding instances.
Managing Ægir from the command line
Driving the Ægir back end directly: the provision and hosting-task verbs, the node-first way to stand up a platform and site, what Verify checks per context, and debugging a task.