Module Designs¶
This section contains detailed design specifications for individual TAPPaaS modules, organized by capability stack.
The currently implemented modules and their dependencies can be seen in this figure:
Dependency Graph¶
graph TD
subgraph Applications
litellm[litellm]
openwebui[openwebui]
vaultwarden[vaultwarden]
netbird-client[netbird-client]
unifi[unifi]
end
subgraph Foundation
firewall[firewall]
tappaas-cicd[tappaas-cicd]
identity[identity]
backup[backup]
templates[templates]
cluster[cluster]
end
%% firewall depends on cluster
firewall -->|vm| cluster
firewall -->|ha| cluster
%% tappaas-cicd depends on cluster
tappaas-cicd -->|vm| cluster
tappaas-cicd -->|ha| cluster
%% identity depends on cluster, templates, backup, firewall
identity -->|vm| cluster
identity -->|ha| cluster
identity -->|nixos| templates
identity -->|vm| backup
identity -->|proxy| firewall
%% litellm depends on cluster, templates, backup, identity, firewall
litellm -->|vm| cluster
litellm -->|nixos| templates
litellm -->|vm| backup
litellm -->|identity| identity
litellm -->|proxy| firewall
%% openwebui depends on cluster, templates, backup, identity, firewall, litellm
openwebui -->|vm| cluster
openwebui -->|nixos| templates
openwebui -->|vm| backup
openwebui -->|identity| identity
openwebui -->|proxy| firewall
openwebui -->|models| litellm
%% vaultwarden depends on cluster, templates, backup, identity, firewall
vaultwarden -->|vm| cluster
vaultwarden -->|ha| cluster
vaultwarden -->|nixos| templates
vaultwarden -->|vm| backup
vaultwarden -->|identity| identity
vaultwarden -->|proxy| firewall
%% netbird-client depends on cluster, templates, backup, identity, firewall
netbird-client -->|vm| cluster
netbird-client -->|ha| cluster
netbird-client -->|debian| templates
netbird-client -->|vm| backup
netbird-client -->|identity| identity
netbird-client -->|proxy| firewall
%% unifi depends on cluster, templates, backup
unifi -->|vm| cluster
unifi -->|nixos| templates
unifi -->|vm| backup Module Summary¶
| Module | Category | Provides | Depends On |
|---|---|---|---|
| cluster | Foundation (provider-only) | vm, ha | (none) |
| templates | Foundation (provider-only) | nixos, debian | (none) |
| firewall | Foundation | firewall, proxy | cluster:vm, cluster:ha |
| tappaas-cicd | Foundation | (none) | cluster:vm, cluster:ha |
| backup | Foundation | vm | (none) |
| identity | Foundation | accessControl, identity | cluster:vm, cluster:ha, templates:nixos, backup:vm, firewall:proxy |
| litellm | Application | models | cluster:vm, templates:nixos, backup:vm, identity:identity, firewall:proxy |
| openwebui | Application | (none) | cluster:vm, templates:nixos, backup:vm, identity:identity, firewall:proxy, litellm:models |
| vaultwarden | Application | (none) | cluster:vm, cluster:ha, templates:nixos, backup:vm, identity:identity, firewall:proxy |
| netbird-client | Application | (none) | cluster:vm, cluster:ha, templates:debian, backup:vm, identity:identity, firewall:proxy |
| unifi | Application | (none) | cluster:vm, templates:nixos, backup:vm |
Service Provider Summary¶
| Service | Provider | Consumed By |
|---|---|---|
| vm | cluster | firewall, tappaas-cicd, identity, litellm, openwebui, vaultwarden, netbird-client, unifi |
| ha | cluster | firewall, tappaas-cicd, identity, vaultwarden, netbird-client |
| nixos | templates | identity, litellm, openwebui, vaultwarden, unifi |
| debian | templates | netbird-client |
| vm | backup | identity, litellm, openwebui, vaultwarden, netbird-client, unifi |
| proxy | firewall | identity, litellm, openwebui, vaultwarden, netbird-client |
| identity | identity | litellm, openwebui, vaultwarden, netbird-client |
| models | litellm | openwebui |
| firewall | firewall | (no consumers yet) |
| accessControl | identity | (no consumers yet) |