Migrate from v4.x to Invictus v5
Preparing environment
- ➖ Remove existing role assignments to Azure Functions. The Bicep deployments now assigns these (normally only Monitoring Contributor on the Flow Handler).
Deploying new version
- ➡️ Update to
-StorageContainerName dashboard-v2in theInvictus-GetSources.ps1script. - ➡️ Use
azurePowerShellVersion: LatestVersionandpwsh: falsewhen running theDeploy.ps1script. - ➡️ Update
-devOpsObjectIdparameter to Enterprise Application Object ID of the DevOps service connection when running theDeploy.ps1script. - ❌ Remove possible Azure Key Vault task retrieving access policies, now done automatically by passing
-keyVaultName <name>toDeploy.ps1script.
Migrate SQL to Cosmos DB
Invictus v5 can migrate your current Dashboard structure stored in SQL to the new Cosmos DB storage system. Consider following parameters in the Deploy.ps1 script:
- ➕ Add
-PerformSqlDataMigration 1parameter to activate the migration. - ➕ Add
-sqlToMigrateServerName <name>parameter to target the SQL server to migrate (defaults toinvictus-{ResourcePrefix}-sqlsvr). - ➕ Add
-sqlToMigrateDBName <name>parameter to target the SQL database to migrate (defaults tocoditcip). - ➕ Add
-sqlToMigrateUserName <name>parameter for the SQL credentials (defaults toInvictusFrameworkAdmin). - ➕ Add
invictussqlserverpasswordas an Azure Key Vault secret in the accompanied vault.
When complete, you can sign in to the new Invictus Dashboard with the same credentials as before.
The deployment will validate the result data in Azure Cosmos DB against the original SQL data. Manually verify this migrated data.
Once satisfied with the migrated data, change the -PerformSqlDataMigration 1 script parameter to 0. This skips the migration process from future deployments.
New Dashboard endpoint
The deployment creates a new Dashboard Azure App Service with the -v2 prefix (ex: invictus-dev-invictusdashboard-v2). This means a new endpoint. If you want to keep the original URL endpoint:
- ❌ Delete the old Dashboard App Service (without the prefix) from the resource group.
- ➕ Add
-invictusDashboardWebAppName <name>parameter to theDeploy.ps1script to control the App Service's name.
By doing this you will lose access to the old Dashboard and the ability to view and query its historic data.
After deployment
- ➕ Same as the Flow Handler, the Dashboard Gateway App Service now needs Logic App Contribute access.
- ➕ (if applicable) Update your app registration with the new Microsoft Entra ID setup guide.
- ➡️ Use updated
Invictus-ConfigureDashboard.ps1script to deploy flows and other Dashboard runtime configurations.
Common migrating issues
If you pass the servicePlanName or autoscaleForPlanName (or both) parameters to the Dashboard release pipeline, update these by adding -linux to the end of their values (feel free to maintain your own naming conventions). This change is required for the Dashboard pipeline only.
If you have role assignments conflicts during deployment, remove all role assignments defined at the Invictus resource group level.