TAPPaaS Foundation¶
The foundation is what makes TAPPaaS a platform rather than a pile of VMs. Its modules must all be installed and running for the rest of TAPPaaS to work. Like everything else it is built from modules, named, not numbered — install order is derived from each module's dependsOn, not a numeric prefix. How to install it: INSTALL.md.
Modules¶
| Module | Role |
|---|---|
| cluster/ | Proxmox nodes, storage pools, HA — the ground everything stands on |
| network/ | OPNsense firewall: zones, DNS, DHCP, reverse proxy, rules |
| storage/ | NFS shares for consumer modules: declared with storage-manager, served by the cluster nodes, mounted by storage:nfs (ADR-029) |
| templates/ | The prebuilt VM templates (NixOS, Windows) modules deploy from |
| tappaas-cicd/ | The mothership: managers and controllers that run the platform |
| console/ | The site's web UI, served by the mothership; this module publishes it behind the gate (ADR-034) |
| backup/ | Proxmox Backup Server: scheduled, verified, off-site capable |
| identity/ | Authentik: SSO, users, groups, organisations; secrets |
| logging/ | Loki / Grafana / Promtail: central logs |
| satellite/ | Optional off-premises VPS: public ingress, off-site backup, admin VPN (ADR-010) |
| pvehost/ | A Proxmox VE cluster node as a module: one instance per node, patched and tested like any module (ADR-026) |
| debianhost/ | A Debian machine outside the cluster that TAPPaaS keeps patched under the same rules (ADR-026) |
Architecture view¶
The layered ArchiMate view — capabilities at the top, through services and the realizing components, down to the cluster nodes:
Reference files¶
| Path | Contents |
|---|---|
| schemas/ | JSON schemas for module configuration and related definitions. |
| DEPENDENCIES.md / DEPENDENCIES.csv | Generated script/command dependency documentation. |
| PROGRAMS.csv | Generated inventory of programs used across foundation. |
| TESTING.md | How to test foundation modules. |
| install.sh / uninstall.sh | Install / uninstall the full foundation layer. |
| Deprecated/ | Retired modules kept for reference. |