Skip to content

Architecture Overview

This is the Develop track: how TAPPaaS is designed, for contributors and module authors. If you're running a system, you want Operate instead.

The spine: one taxonomy for everything

The architecture of TAPPaaS 2.0 is organised by ADR-007 — the TAPPaaS taxonomy. One Site (the physical and administrative perimeter — one TAPPaaS = one Site) contains three classification domains, with one cross-cutting lens:

┌─────────────────────────────────────────────────────────────┐
│ 🏢 SITE  (the physical + admin perimeter — one TAPPaaS)     │
│   ┌───────────────────────────────────────────────────────┐ │
│   │ 👥 PEOPLE          📦 APPS          🏠 ENVIRONMENTS   │ │
│   │ Org→Group→User     what runs        where apps run    │ │
│   └───────────────────────────────────────────────────────┘ │
│   🩺 HEALTH  (lens — observability over all of the above)   │
└─────────────────────────────────────────────────────────────┘
  • People — organizations, groups, users: identity and access.
  • Apps — everything that runs, classified by tier and source.
  • Environments — where apps run: zones, domains, update windows.
  • Health — not a domain but a lens: status and observability overlaid on all of it.

Every artifact on the platform is exactly one of People / Apps / Environments (the model is MECE); how a deployable unit is composed is a separate concern (ADR-009, see the meta model).

This is the same model the front page tells as Site · Workloads · People · Environments — "Workloads" is the everyday word for Apps. One mental model, two altitudes.

2.0 status

ADR-007 is the accepted basis for TAPPaaS 2.0 and is being implemented now; 1.x (today's stable) predates it. See Stable vs Main for what that means when installing. The full ADR text is synced from source: ADR-007 — TAPPaaS Taxonomy.

The sections

  • Taxonomy (ADR-007, source) — the model, its decision tree, and the sub-ADRs per domain.
  • Capabilities — what the platform can do, top-level structure.
  • Solution Design — the concrete design: software selection, network, storage, security, SSO, backup.
  • CICD Design — the automation that installs, updates and heals everything: git structure, module structure, scripts.
  • Module Designs — per-stack module specifications.
  • Meta Model — the general concepts (composition, ADR-009).
  • Author a Module — the contributor path: package your own app for TAPPaaS.
  • ArchiMate Diagrams — the enterprise architecture views, rendered from source with Kroki.

Where decisions live

Architecture decisions are recorded as ADRs in the source repository: docs/ADR/. If you're about to change something structural, start there — write the ADR before the code.