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

Rename Azure resources and restructure GitHub workflows #469

Closed tjementum closed 3 months ago

tjementum commented 3 months ago

Summary & Motivation

Introduce major changes to the naming and structure of Azure resources and GitHub workflows, requiring all resources to be deleted and recreated.

The current structure had 3 deployment units: cluster, environment, and shared, where shared only had an Azure Container Registry (ACR). Going forward, each environment has its own container registry (ACR), so only environment (Production, Staging) and clusters (West EU, East US) are needed.

Also, the naming of Azure resources has been updated to use the following formula: uniquePrefix-environment-locationAcronym-name. Examples include:

There are a couple of exceptions:

Examples of cluster-specific resources:

Examples of environment-specific resources:

All Bicep scripts have been updated, and the deployment names used by Azure have been streamlined to be very clear.

Update GitHub workflows to reflect the new structure with only cluster and environment. Also, update GitHub workflows by combining the two reusable workflows: "Deploy container" workflow and "Publish Container". Now the publish container is done as part of Deploy to staging. This simplifies and speeds up the workflow, requiring fewer logins to Azure and ACR, and provides a clearer visual overview in GitHub: Build and Test > Staging > Production.

All Bash scripts used to deploy have been updated to reflect the new changes. Likewise, the configure-continuous-deployments CLI command has been updated to reflect the simplified setup (one less GitHub environment, UNIQUE_CLUSTER_PREFIX has been changed to UNIQUE_PREFIX and CONTAINER_REGISTRY_NAME has been dropped as it's not dynamic).

Delete unused or unmaintained Bicep modules, including Azure Service Bus, SQL Server Elastic Pool, Private Endpoints, etc. Delete the shared environment with Azure Container Registry.

Update README with new naming conventions for Azure resources and describe how multiple self-contained systems work together.

Checklist

sonarcloud[bot] commented 3 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

sonarcloud[bot] commented 3 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud