Closed tjementum closed 3 months ago
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code
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
, andshared
, whereshared
only had an Azure Container Registry (ACR). Going forward, each environment has its own container registry (ACR), so onlyenvironment
(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:uniquePrefix
(2-6 characters): e.g.,pp
,ppdemo
environment
(max 5 characters): e.g.,prod
,dev
,qa
,stage
locationAcronym
(max 4 characters): e.g.,weu
,eus2
name
(for some resources like storage accounts there is a max of 24 characters, so depending on the length ofuniquePrefix
this allows for 9-13 characters)There are a couple of exceptions:
-
in namesExamples of cluster-specific resources:
ppdemo-stage-weu
,ppdemo-prod-eus2
ppdemo-stage-weu
,ppdemo-prod-eus2
account-management
,back-office
ppdemo-stage-weu
,ppdemo-prod-eus2
account-management-api
,back-office-worker
ppdemo-stage-weu-account-management
,ppdemo-prod-eus2-back-office
ppdemo-stage-weu
,ppdemo-prod-eus2
ppdemo-stage-weu
,ppdemo-prod-eus2
ppdemo-stage-weu
,ppdemo-prod-eus2
ppdemostageeuwacctmgmt
,ppdemostageweudiagnostic
Examples of environment-specific resources:
ppdemo-stage
,ppdemo-prod
ppdemo-stage
,ppdemo-prod
ppdemostage
,ppdemoprod
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
andenvironment
. 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 toUNIQUE_PREFIX
andCONTAINER_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