Summary
The 108dev environment experienced frontend/API integration regressions affecting demo readiness:
- Initial failure: CORS preflight blocked at APIM.
- Follow-up failure after CORS fix: GET /api/configuration/themes returning 500.
Impact
- Frontend could not load configuration themes.
- Demo flow was blocked.
Root Causes Identified
- APIM CORS policy drift
- APIM policy did not allow the active SWA origin.
- Configuration service runtime misconfiguration
- COSMOS_ENDPOINT, COSMOS_DATABASE, and COSMOS_CONFIGURATION_TABLE were empty in utor-configuration-108dev.
- Cosmos data-plane RBAC missing
- Managed identity of utor-configuration-108dev lacked permissions (
eadMetadata forbidden).
Live Fix Applied (already executed)
- Patched APIM CORS policies to allow current SWA origin.
- Updated Container App env vars on utor-configuration-108dev:
- Granted Cosmos DB built-in data role:
- Role: Cosmos DB Built-in Data Contributor
- Principal: configuration app managed identity
- Scope: Cosmos account
Validation Evidence
Next Steps (IaC hardening)
Tracking
This issue is the canonical reference for the IaC remediation PR(s).
Summary
The 108dev environment experienced frontend/API integration regressions affecting demo readiness:
Impact
Root Causes Identified
eadMetadata forbidden).
Live Fix Applied (already executed)
Validation Evidence
Next Steps (IaC hardening)
Tracking
This issue is the canonical reference for the IaC remediation PR(s).