0023 (ADR-001): Composition of appliances instead of monolithic appliances #28

Open
opened 2026-09-30 10:10:40 -03:00 by marcos-mendez · 0 comments
marcos-mendez commented 2026-09-30 10:10:40 -03:00 (Migrated from github.com)

Decision (maintainer, 2026-09-30). Each service (PostgreSQL, MariaDB, Redis, Nginx) is a first-class component that runs standalone or is consumed by another appliance. LAMP and LAPP stop being appliances; the stack becomes LEMP (Linux, Nginx, PHP-FPM, database), a recipe built from components. Every appliance is also a publishable overlay, and application appliances declare the components they consume. This redesigns fab, common and buildtasks, and is what justifies the fork.

Handbook: docs/decisions/0023-composition-of-appliances.md (handbook#26)

Amends: 0013 (catalog shape: lamp, lapp, apache-php), 0010 (the proof moves from LAMP to the first manifest app), 0006 (keel-lamp, keel-lapp, keel-nginx-php-fastcgi), 0022 (LNPP becomes a composition), 0008 (fork divergence).

Review notes (resolved by the maintainer, 2026-09-30)

  • The current WordPress work (Templates A and B) is Apache-based. Resolved: Apache is retired per appliance; WordPress migrates to Keel PHP when Keel Web (0030) exists.

First tasks

  • Map every existing layer (core, lamp, lapp, mariadb, postgresql, redis, wordpress, nodebb) to its future composition in 0036's tables.
  • Decide which published layers are frozen as legacy and which are rebuilt as compositions.
**Decision (maintainer, 2026-09-30).** Each service (PostgreSQL, MariaDB, Redis, Nginx) is a first-class component that runs standalone or is consumed by another appliance. LAMP and LAPP stop being appliances; the stack becomes LEMP (Linux, Nginx, PHP-FPM, database), a recipe built from components. Every appliance is also a publishable overlay, and application appliances declare the components they consume. This redesigns fab, common and buildtasks, and is what justifies the fork. **Handbook:** `docs/decisions/0023-composition-of-appliances.md` (handbook#26) **Amends:** 0013 (catalog shape: `lamp`, `lapp`, `apache-php`), 0010 (the proof moves from LAMP to the first manifest app), 0006 (keel-lamp, keel-lapp, keel-nginx-php-fastcgi), 0022 (LNPP becomes a composition), 0008 (fork divergence). **Review notes** (resolved by the maintainer, 2026-09-30) - [x] The current WordPress work (Templates A and B) is Apache-based. Resolved: Apache is retired per appliance; WordPress migrates to Keel PHP when Keel Web (0030) exists. **First tasks** - [ ] Map every existing layer (core, lamp, lapp, mariadb, postgresql, redis, wordpress, nodebb) to its future composition in 0036's tables. - [ ] Decide which published layers are frozen as legacy and which are rebuilt as compositions.
Sign in to join this conversation.
No description provided.