0034 (ADR-012a): The application appliance contract (manifest) #39

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

Decision (maintainer, 2026-09-30). An application appliance is a manifest declaring (1) runtime overlays (PHP-FPM, Python, Ruby, Node.js, Go), (2) data services consumed, (3) replication paths, (4) workers (stateless, read a queue, write data services, never local disk). The web tier is always Keel Web. Adding an app = manifest + app-specific inithook.

Handbook: docs/decisions/0034-application-appliance-contract.md (handbook#26)

Amends: 0010 (the recipe's declaration of components is this manifest), brief section 4.2 (mutable state map), 0021 (checks generated from it, see 0040), 0014 (backup manifest derived from it, see 0037).

Review notes

  • The manifest format is the pivot of backup, monitoring, upgrade, replication and discovery, and is not yet specified. Proposed: it is the first deliverable.

First tasks

  • Draft the manifest schema with worked examples for WordPress, Odoo and Mastodon.
  • List what each consumer reads from it: 0026, 0032, 0037, 0039, 0040.
  • Maintainer review of the schema before any consumer is built.
**Decision (maintainer, 2026-09-30).** An application appliance is a manifest declaring (1) runtime overlays (PHP-FPM, Python, Ruby, Node.js, Go), (2) data services consumed, (3) replication paths, (4) workers (stateless, read a queue, write data services, never local disk). The web tier is always Keel Web. Adding an app = manifest + app-specific inithook. **Handbook:** `docs/decisions/0034-application-appliance-contract.md` (handbook#26) **Amends:** 0010 (the recipe's declaration of components is this manifest), brief section 4.2 (mutable state map), 0021 (checks generated from it, see 0040), 0014 (backup manifest derived from it, see 0037). **Review notes** - [ ] The manifest format is the pivot of backup, monitoring, upgrade, replication and discovery, and is not yet specified. Proposed: it is the **first deliverable**. **First tasks** - [ ] Draft the manifest schema with worked examples for WordPress, Odoo and Mastodon. - [ ] List what each consumer reads from it: 0026, 0032, 0037, 0039, 0040. - [ ] Maintainer review of the schema before any consumer is built.
Sign in to join this conversation.
No description provided.