Generated SaaS — deployment¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Rewritten 2026-10-09 (design plan P16)
The June-2026 page is archived under catalogs 2026-06.
| Host | Modules | Topologies |
|---|---|---|
| GeneratedSaasFoundations | 0 | saas-default, hybrid, on-prem |
| GeneratedProductHost | 0 | saas-default, hybrid, on-prem |
Shape of one product¶
flowchart TB
U[Customers · users] --> GW[Product gateway · GW-07 · ApiGatewayTemplate]
GW --> SHELL[Product shell · Blazor SaaS shell + MFEs]
GW --> S1[Context service A · BaseTemplate]
GW --> S2[Context service B · BaseTemplate]
GW --> F[GeneratedSaasFoundations · Tenants · Products · Entitlements · Billing · Metering]
GW --> AS[Authorization Server · Identity]
S1 --> D1["(product-sql · context A)"]
S2 --> D2["(product-sql · context B)"]
F --> DF["(product-sql · foundations)"]
S1 & S2 & F -. telemetry .-> OT["(OpenTelemetry backend)"]
FL[FleetInventoryService] -. descriptor · health via GW-07 .-> GW
Hold "Alt" / "Option" to enable pan & zoom
Per topology¶
| Topology | Where the product runs | Provisioned by | Operated by |
|---|---|---|---|
| saas-default | the owner's environments in the owner's region on Factory-managed AKS | Runtime Cloud (Pulumi stacks from the Infrastructure Blueprint) | the owner, or ConnectSoft under a managed edition (D33) |
| hybrid | the owner's clusters | Runtime Cloud with the owner's credentials by reference | the owner, or ConnectSoft through enrolled pools |
| on-prem | the customer's infrastructure | the customer's Pulumi runs from the generated program | the customer |
Data and recovery¶
Each product owns its stores per context plus the foundations' tables (the representative product-sql); backup class from the Database Blueprint (pilot floor RPO 15 min, RTO 4 h); retention and classification per table (D31); off-boarding exports and deletes through the admin API on governance orders.