platformplatform / PlatformPlatform

🚀 Pre-alpha state. A platform designed for building enterprise-grade, multi-tenant products using Azure, .NET, React, TypeScript, Infrastructure as Code, etc.
https://platformplatform.github.io
MIT License
226 stars 24 forks source link

Stabilize infrastructure deployments by fixing race conditions and making deployment names unique #461

Closed tjementum closed 3 months ago

tjementum commented 3 months ago

Summary & Motivation

Make all Bicep module deployment names unique to avoid concurrent deployments of resources like managed identity container permissions. This resolves issues where deployments failed due to naming conflicts.

Fix race condition when assigning user-managed identity permissions to container registry immediately after creation. The fix involves setting the principalType to ServicePrincipal on Bicep roleAssignments resource.

Remove -role-assignment postfix from Bicep module names to allow for longer resource names, as deployment names in Bicep cannot be longer than 64 characters.

Ensure deploy-cluster.sh reliably checks for failed deployments even when az CLI outputs warnings. This ensures JSON results are parsed correctly by stripping any prefixed warning messages.

Rename Application Insights smart detection resource from Application Insights smart detection to staging-application-insights-smart-detection.

Fix information message about setting up SSL certificate to use domain name instead of account-management.

Checklist