System diagrams
Use these diagrams to understand which Apso component owns each part of the build and runtime path. Each view names the boundary first, then shows the implementation details you can inspect.
Control plane and generated runtime
The Apso app and platform API manage workspaces, service definitions, identity, billing, and build requests. The build engine creates the service. After deployment, client and SDK traffic goes to the generated service instead of passing through the platform API.
Developer + Apso app
Platform APIBuild engine + CLI
Step Functions + LambdaOwned service
Your product traffic| Boundary | Responsibility |
|---|---|
| Apso app and platform API | Configure the service, schema, environment, identity, and billing |
| Build engine and CLI | Validate, generate, provision, and report build status |
| Generated service | Handle product traffic, authorization, application logic, and persistence |
Deployment workflow
Provisioning advances through an ordered workflow. Each step reports status to the dashboard. A failure routes through cleanup so the platform does not present an incomplete service as ready.
- 01InitializeValidate the project and prepare secure repository access.
- 02DatabaseProvision the database and connection configuration.
- 03ServiceDeploy the generated application and API boundary.
- 04CompletePublish the live endpoint and final build status.
A tier change uses the same ordered pattern with the capacity settings required by the selected service plan.
Transactional domain events
Entities can opt into domain events through the generated service manifest. The service records the entity change and its event in one database transaction. A relay reads committed outbox rows and delivers them to the configured destination.
- 01Service writeEntity change
- 02SubscriberCapture change
- 03MapperBuild event
- 04OutboxCommit record
- 05RelayRead committed
- 06DestinationDeliver event
This pattern protects both sides of the contract: a rolled-back write produces no event, and a committed event remains available for retry if delivery fails.
Generated API request
Authentication and tenant scope run before the generated handler reaches the data layer. The CRUD request parser translates filters, sorting, joins, limits, and pagination into the framework query.
- 01ClientServer component, mobile app, or service
- 02SDK or RESTTyped operation and validated payload
- 03IdentitySession, JWT, or API key context
- 04Tenant scopeAuthorization and row boundary
- 05ServiceGenerated route, product logic, and database
| Stage | Implementation detail |
|---|---|
| Edge | API Gateway or the selected HTTP runtime receives the request |
| Identity | Session, JWT, or API key produces the normalized auth context |
| Scope | Generated guards enforce tenant ownership before the query |
| Request parsing | CRUD filters, sorting, joins, limits, and pages become a framework query |
| Persistence | The ORM executes the query and returns the response envelope |
See the API Reference for request parameters and response shapes.