Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Review bicep deployment files (azuredeploy. *) under project repository folder AzureDeployment

    1. Review sku values for resources and update as necessary. The sku values are inside of bicep templates in repository: Infrastructure/AzureDeployment/azuredeploy.*.bicep

    2. In the same bicep files optionally set deployment flag to false if the associated resource did not need to be deployed. It is set to true by default.

  2. Configure the variables for each azure resource deployment DevOps pipelines

    1. Edit DevOps pipelines under Pipelines → All → Azure Deployment folder

    2. Configure variables listed for each deployment pipeline in Appendix section 1. For secured variables, need to re-create the value and check “Keep this value secret” checkbox after adding the value

  3. Run the first deployment pipeline Azure Resources Deployment 1 (Initial). This will create container registry, keyvault and app service plan resources

  4. Create a folder by environment name in DevOps pipeline and clone/create DevOps CI/CD pipelines for Vessel Registry and Shared (Dsd Marine) app services.

  5. Configure new cloned/created DevOps CI/CD pipelines for specified resource groups, container image name and container image tag. Then build the pipelines. Please refer to the Appendix section 2 for the container name, image name and image tag.

  6. Update the deployment pipeline variables and run the remaining two: Azure Resources Deployment 2 (Safsecsur) and Azure Resources Deployment 3 (Eregistry). Verify the resources has been deployed successfully in Azure Portal → Resource Group → Deployments

  7. Add keyvault secrets used for applications from created resources. Please refer to the Appendix section 3 for the required application secrets (Optional: Configure Access Policies in the KeyVault)

  8. Create a Variable group in DevOps → Pipelines → Library. Toggle “Link Secrets” option, select appropriate Azure subscription → KeyVault name, add all the necessary keys and save the variable group

  9. Add workmanagementservice appservice outbound IP addresses to Postgresql server connection security (Have to do this for documentmanagement service too)

  10. Add/Create a “Diagnostics Settings” to all the appservices on Azure portal

  11. Link and save the new variable group in all the DevOps CI/CD pipelines

  12. Make sure to use the correct branch(Develop/Master) on all the DevOps CI/CD pipelines

  13. Migrate LOV Azure Cosmos DB data using Microsoft tool or Console App

  14. Create Application Registration for Vessel Registration internal and external websites. Please refer to below Application Registration section.

  15. Run DevOps CI/CD pipelines again and verify the applications runs as expected.

...

Key Name

Value or Derived from

Required for

ResourceGroup to be updated

VesselRegistryApplicationInsightsLOVAppInsightsInstrumentationKey

Deployment Environment Resource Group → Application Insights → {Application Insight Name} → Overview → Instrumentation Key

  • List Of Value Service

  • SAFESECSUR

WorkManagementServiceAppInsightsInstrumentationKey

Deployment Environment Resource Group → Application Insights → {Application Insight Name} → Overview → Instrumentation Key

  • Work Management Service

  • SAFESECSUR

MessageProcessingServiceAppInsightsInstrumentationKey

Deployment Environment Resource Group → Application Insights → {Application Insight Name} → Overview → Instrumentation Key

  • Queue Message Processing ServiceWork Management Service

  • SAFESECSUR

VRInternalAppInsightsInstrumentationKey

Deployment Environment Resource Group → Application Insights → {Application Insight Name} → Overview → Instrumentation Key

  • VR Internal Website

  • VR External Website

  • SAFESECSUREREGISTRY

ServiceBusConnectionString

Deployment Environment Resource Group → Service Bus → {Service Bus Name} → Settings → Shared access policies → Policy → Primary Connection String

  • List Of Value Service

  • Queue Message Processing Service

  • Work Management Service

  • SAFESECSUR

  • EREGISTRY

ListOfValueConnectionString

Deployment Environment Resource Group → Azure Cosmos DB → { Cosmos DB Name } → Settings → Connection String → Primary Connection String

  • List Of Value Service

  • SAFESECSUR

ConnectionStringRedisCache

Deployment Environment Resource Group → Azure Cache For Redis → { Azure Cache Redis Name } → Settings → Access Keys → Primary Connection String (StackExchange.Redis)

  • List Of Value Service

  • VR Internal WebsiteVR External Website

  • SAFESECSUR

WorkManagementServiceConnectionString

Deployment Environment Resource Group → Azure Database for PostgreSQL servers → { PostreSQL Server Name } → Settings → Connection Strings → ADO.NET

After obtaining the ADO.NET connectionstring, replace {your_database} and {your_password} values with database name and database/server password respectively

  • Work Management Service

  • SAFESECSUR

DocumentStorageAzureBlobConnectionString

Deployment Environment Resource Group → Storage accounts → Access keys → Click on “Show keys” → Connection string

  • Queue Message Processing Service

  • SAFESECSUR

ListOfValueApiUrl

Deployment Environment Resource Group → App Services → { List Of Value Service Name } → Overview → URL

After obtaining the URL append “/ListOfValue“ to it, excluding the quotation marks.

{URL}/ListOfValue

  • VR Internal WebsiteVR External Website

  • EREGISTRY

ListOfValueTypeApiUrl

Deployment Environment Resource Group → App Services → { List Of Value Service Name } → Overview → URL

After obtaining the URL append “/ListOfValueType“ to it, excluding the quotation marks.

{URL}/ListOfValueType

  • VR Internal Website

  • EREGISTRY

DocumentStorageApiUrl

Deployment Environment Resource Group → App Services → { Document Service Name } → Overview → URL

Service is developed by Team Ninja Turtles, and will be located in their resource group.

  • VR Internal WebsiteVR External Website

  • EREGISTRY

WorkManagementServiceApiUrl

Deployment Environment Resource Group → API Management services → { APIM Name } → Overview → Gateway URL

After obtaining the Gateway URL append “/wms/api/v1“ to it, excluding the quotation marks.

{URL}/wms/api/v1

  • VR Internal WebsiteVR External Website

  • EREGISTRY

CanadaPostAddressCompleteAPIKey

The API key can be obtained by checking with Walter Hoban, or Team Kraken.

  • VR Internal WebsiteVR External Website

  • EREGISTRY

App Registration Flowchart

...