Generated SaaS — overview¶
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)
This page replaces the June-2026 overview and its generated-runtime component map. The 2026 design models the product shape as two representative services (one instance per product), keeps the SaaS platform foundations page as the verified inventory of the templates, and takes SaaS descriptors in as blueprint imports with the recipe path as the single generation contract (Q-22 decided 2026-10-14, ADR-0025). The old page is archived under catalogs 2026-06.
A generated product is a ConnectSoft product like any other: services on the BaseTemplate shape per bounded context, the SaaS foundations for tenants and commerce, its own gateway, identity through the Authorization Server, Pulumi stacks and pipelines — all produced from a recipe with provenance to the file. What this platform adds is the contract between a product and the Factory that generated it and may operate it.
| Platform | PF-16 Generated SaaS (Generated SaaS pack) |
| Bounded contexts | BC-30, BC-31 |
| Services | 3 (2 hosts, 0 modules, 1 external, 0 later) — 2 modelled |
| Gateways | GW-07 |
| Status | target |
Purpose¶
- One shape, many products. Every product exposes a descriptor (identity, release, provenance, tenancy mode, contexts, endpoints, objectives) and health through its own gateway (GW-07); nothing else is required of it.
- Tenants map, identities do not. A product tenant carries an opaque customer-tenant id the fleet uses; customer identity stays in the product (canonical ADR-0101); isolation per canonical ADR-0100; residency per D31.
- Commerce in two places. The product bills its customers with the SaaS templates; the Factory bills the product owner (BC-34); fleet objectives follow the owner's managed edition (D33).
- Operations is a handover. A managed product carries an acknowledged handover record (edition, objectives, runbooks, contacts, off-boarding terms) before the fleet onboards it.
- Off-boarding is governed. Export and delete are admin operations invoked by governance orders after an acknowledged handover (D31).
Bounded contexts and services¶
| Context | Owns | Services (granularity) |
|---|---|---|
| BC-30 Generated Product Domains | Each product's own contexts, stores, descriptor and handover | GeneratedProductHost (representative standalone, one per product) |
| BC-31 Generated Tenant & Commercial Foundations | Product tenants, editions, entitlements, subscriptions, usage | GeneratedSaasFoundations (representative standalone, added); TenantRuntimeIsolationService external canonical (ADR-0100 modes) |
| Service | Context | Granularity | Status |
|---|---|---|---|
| GeneratedSaasFoundations | BC-31 | standalone host | target |
| GeneratedProductHost | BC-30 | standalone host | target |
| TenantRuntimeIsolationService | BC-31 | external / canonical | unmodelled |
Context¶
flowchart LR
subgraph P["Generated SaaS"]
GeneratedSaasFoundations["GeneratedSaasFoundations"]
GeneratedProductHost["GeneratedProductHost"]
end
GW_07{"GW-07 Generated product gateway"} --> P
P --> ext_identity_platform["ext-identity-platform"]
P --> ext_saas_templates["ext-saas-templates"]
P --> ext_otel_backend["ext-otel-backend"]
Containers¶
See microservices for the container view of hosts and modules.
From recipe to operated product¶
| Step | Factory platform | What the product gets |
|---|---|---|
| Blueprints validated and published | Template & Library (BC-02) | context map, domain model |
| Recipe approved | Template & Library (BC-15) | module plan, pinned template and library versions |
| Generation run | Agent Mesh, Tools & MCP | code per module with provenance; change proposal |
| Pipeline and release | DevOps / GitOps (BC-23, BC-24) | immutable release with SBOM and attestations |
| Promotion and provisioning | DevOps / GitOps (BC-24), Runtime Cloud (BC-25) | environments, desired state applied, verification |
| Descriptor published | the product itself | fleet inventory sees release, provenance, health |
| Handover acknowledged | the product owner | fleet operation under the managed edition (D33) |
| Rollouts, incidents, off-boarding | Product Fleet Operations (BC-35..37), Data & Event (BC-42) | upgrades in waves, incident desk, export and deletion with evidence |