What to Deliver to a Customer
CET2-Deployment/
├── API/ # Published backend (SPA embedded in wwwroot), or a container image + Dockerfile
├── Frontend/ # SPA source — only needed if the customer will rebuild with a different Portal app
├── Documentation/ # This guide + the Customer Onboarding Guide + admin-consent/role-assignment steps
├── Configuration-Templates/ # appsettings.Production.json template, App Service settings list
├── Installation-Scripts/ # Entra bootstrap scripts for the two app registrations; deploy scripts / Helm values
└── Customer-Onboarding-Guide.md
| Folder | Contents | Customer-editable |
|---|---|---|
| API | The runnable backend, with the built SPA already embedded in wwwroot. For self-hosted deployments, the container image and its Dockerfile. | No |
| Frontend | SPA source, for teams who need to rebuild it against a different Portal application client ID. Normally unnecessary — it's already inside the API artifact. | Only if rebuilding |
| Documentation | This deployment guide, plus the customer-facing onboarding steps their Global Administrator will need to follow (admin consent, directory-role assignment). | N/A |
| Configuration-Templates | A fill-in-the-blanks appsettings.Production.json (or App Service settings list) with placeholders for the customer's tenant ID, client IDs, and certificate details. | Yes — this is the deployment configuration |
| Installation-Scripts | Scripts to automate creating the two app registrations and deploying the application. | Yes |
:::note Roadmap The Installation-Scripts folder (an Entra bootstrap script and self-hosted container tooling) is planned but not yet published — see the note on the Server Installation page. :::
For the full end-to-end sequence, see the Deployment Runbook.