Host control files & INI reference

BOA's configuration is a four-layer stack, narrowest-scope-wins. From the root operator's side the two load-bearing surfaces are the host .cnf files (/root/.barracuda.cnf host-wide, /root/.${USER}.octopus.cnf per instance) and a large set of empty boolean marker files whose existence toggles behaviour. Below those sit the per-platform and per-site INI files that a tenant can edit without root. This topic is the complete operator reference for all of it: every marker, every _VAR, the relocation of the operator-toggle markers from /root to /etc/boa, and the precedence rules that decide who wins.

Two structural facts to keep in front of you:

  • Empty markers are booleans. A .<feature>.cnf file is on when it exists, off when it is missing — content is irrelevant. touch to enable, rm to disable. Each table below shows the exact path the live reader checks, which for the migrated set is /etc/boa/, not /root/.
  • .cnf is bash, INI is parsed Drupal-side. .barracuda.cnf / .octopus.cnf are sourced as bash on barracuda/octopus upgrade passes (plus a few read by per-minute cron); the INI templates are read by the PHP global includes on a ~60 s opcache TTL. That difference in refresh timing is why tenants do quick adjustments in INI and host policy lives in .cnf.

Pages

  • Overview — the control-file system — the three marker categories, the /root/etc/boa marker relocation (with the migrated groups and the dual-reader / stay-in-/root exceptions), the never-touch generated files, the per-site/per-account control files, and the internal state markers BOA manages itself.
  • /root/.barracuda.cnf reference — every host-wide _VAR by family: identity, CPU/load thresholds, Percona, Nginx build + DoS/IDS knobs, PHP/ICU, Redis/Valkey, SSH, custom-config protection, force-reinstall, and the internal OS-transition markers.
  • /root/.${USER}.octopus.cnf reference — the per-instance _VAR set: platform tree control (_USE_CURRENT / _HOT_SAUCE), per-instance PHP version + FPM sizing knobs, _SQL_CONVERT, cleanup retention, and the plan selector _CLIENT_OPTION.
  • INI files & precedence — the platform/site INI templates (34 platform / 33 site settable variables), the compiled-in defaults in global.inc/global-ini.inc, the full four-layer override chain, refresh timing, and the _SQL_CONVERT=YES forcing exception.
  • Drupal module support matrix — the [S]/[B]/[FE]/ [SE]/[FD]/[NA] flag legend, the Tuesday-gated enforcement lists (_MODULES_FIX / _MODULES_SKIP), bundled vs supported-not-bundled sets, force-disabled modules, and the D10+ Composer split.
  • _XTRAS_LIST & install modes — the real three-letter XTRAS tokens, what each installs, the additive (never-uninstall) semantics, the Node/NPM lshell safety gate, and the PUBLIC vs LOCAL install modes.

See the Reference appendix for the consolidated variable and command tables, and Discontinued features for control variables and markers dropped from the stack.