Components - TheMirageProject/mirage GitHub Wiki
Lambda (Serverless) Runtime
Mirage brings power to the people by making serverless lambda functions available to string together by non-developers.
Build Process
- Watch for content changes
- Engage lambda to bundle assets
- Lambda Processes Changes
- Lambda Streams Changes out to the origin that services the CDN
- Issue Invalidations if needed to CDN
Data Layer
The Data layer is the collection of resources available from the cloud provider.
Bolts
- Bolts extend the core capabilities of
theMirageProject
. - Bolts request permission to add on resources (which may incur greater expense for the site owner)
- The permissions are enforced/codified via Roles and Permission Grants via the Cloud Provider
- Best Practice is to listen/subscribe to published messages - and to additional publish its own state progress via new messages - enabling downstream coordination.
HTTP(S) API
- Mirage exposes data in public and protected portions of the HTTP API
- Mirage exposes both REST-ful and GraphQL endpoints.
- Bolts can extend the API such that new data is available via the API
CLI
- Sometimes the internal state of the complete system is useful for troubleshooting
- These types of functionalities are exposes via the Command Line Interface
- The Command Line interface also augments developer workflows to avoid context switching and productivity dips
Theme Guide
- Themes are often built in React, but are available with any type of theme that can run as single page application. Vue, Angular, etc are all welcome.