Platform Core Deployment using PowerShell
Follow the below sections to manually deploy platform core. Platform core contains two main components:
- Identity Server
- Workflow Dashboard
The pre-requisites to deploy platform core are as follows. Make sure that the following are already installed in the machine.
- PowerShell 7.0 and above
- AZ PowerShell Module
Identity Server
To deploy identity server, follow the below sections.
Getting Started
Follow these steps to get started:
- Download the Platform-Core release files from release folder.
- Run PowerShell as administrator and navigate to IdentityServer folder inside Platform-Core folder using the following command: cd <Identity_server_folder_path>

Edit Configuration
Follow these steps to edit configuration:
- Open InstallConfig.json from IdentityServer folder in a text editor and configure the following properties as required to create infrastructure and deploy Identity Server.
| Property | Description | Comments |
|---|---|---|
| SubscriptionId | Provide the subscription id of Azure where resources are available. | - |
| ResourceGroupName | Provide the name of the resource group. | - |
| ResourceNamePrefix | Provide the name of the prefix. | - |
| Environment | Provide the environment name. | - |
| DeploymentMode | Specify the deployment mode. | - |
| Backup Storage Account | ||
| BackupStorageContainerName | Provide the storage account container name. | - |
| BackupStorageConnectionString | Provide the connection string to connect to backup storage account. | - |
| SQL Server | ||
| SqlServerName | Provide the SQL server name. | - |
| SqlServerAdminLogin | Provide the admin username. | - |
| SqlServerAdminPassword | Provide the admin password. | - |
| SqlServerAppUserLogin | Provide the app user username. | - |
| SqlServerAppUserPassword | Provide the app user password. | - |
| ExecuteDacpac | Specify whether to execute DACPAC. Either yes or no. | - |
| UpdateSQLServer | Specify whether to update SQL server. Either yes or no. | - |
| App Service | ||
| OperatingSystem | Provide the name of operating system. | - |
| AppServicePlanName | Provide the name of the app service plan. | - |
| CustomDomainConfigured | Specify whether the custom domain is configured or not. | - |
| App Insights Configuration | ||
| EnableApplicationInsights | Specify whether the application insights are enabled. | - |
| AppInsightsConnectionString | Provide the connection string to connect to application insights. | - |
| Provider Configuration | ||
| SMTPServer | Provide the SMTP server address. | - |
| SMTPMailId | Provide the SMTP mail id. | - |
| SMTPMailPassword | Provide the SMTP mail password. | - |
| SMTPMailFrom | Provide the SMTP From-mail. | - |
| SMTPPort | Provide the port number. | - |
| TwilioAccountSid | Provide the twilio account SID. | - |
| TwilioAuthToken | Provide the twilio authentication token. | - |
| TwilioFromNumber | Provide the twilio From-number. | - |
| IntegrateAzureADLogin | Specify whether to integrate AAD login or not. | - |
| AzureADClientId | Provide the AAD client id. | - |
| AzureADAuthority | Provide the AAD authority. | - |
| AzureADClientSecret | Provide the AAD client secret. | - |
| IntegrateGoogleLogin | Specify whether to integrate google login or not. | - |
| GoogleClientId | Provide the google client id. | - |
| GoogleAuthority | Provide the google authority. | - |
| GoogleClientSecret | Provide the google client secret. | - |
| Application Configuration | ||
| PasswordComplexity | Specify the complexity level of a password. | - |
| CaptchaComplexity | Specify the complexity level of a captcha. | - |
| CaptchaType | Provide the type of captcha. | - |
| OTPChannel | Specify the OTP channel. | - |
| EnableSwagger | Specify whether to enable swagger. | - |
| AccessOrigins | Specify whether to access origin. | - |
| FrameAncestors | Specify whether to frame ancestors. | - |
| LoggingLevel | Provide the logging level. | - |
| CountryCode | Specify the ISO country code. | - |
| EnableUserRegistration | Specify whether to enable user registration or not. | - |
| ExternalUsersDefaultRole | Specify the default role of external users. | - |
| EnableHomeRealmDiscovery | Specify whether to discover the home realm. | - |
| Deployment Only | ||
| IdentityAPIName | Provide the name of the identity API name. | - |
| IdentityWebAppName | Provide the name of the identity web app. | - |
| IdentityAdminWebAppName | Provide the name of the admin web app. | - |
| IdentityDBName | Provide the name of identity database. | - |
| IdentityDBConnectionString | Provide the database connection string. | - |

Deploy Identity Server
Follow these steps to deploy Identity Server:
- In PowerShell, execute the following command to deploy Identity Server. .\Install.ps1
- Provide the Azure credentials to continue.
With the provided configuration, the corresponding infrastructure will be created, and Identity Server will be deployed.
Note: Important: If any error occurs, an appropriate error message will be displayed. Users can resolve the error and re-execute the script to deploy.

Workflow Dashboard
To deploy workflow dashboard, follow the below sections.
Getting Started
Follow these steps to get started:
- Download the Platform-Core release files from release folder.
- Run PowerShell as administrator and navigate to WorkflowDashboard folder inside Platform-Core folder using the following command: cd <Workflow_Dashboard_folder_path>

Edit Configuration
Follow these steps to edit configuration:
- Open InstallConfig.json from WorkflowDashboard folder in a text editor and configure the following properties as required to create infrastructure and deploy Workflow Dashboard.
| Property | Description | Comments |
|---|---|---|
| SubscriptionId | Provide the subscription id of Azure where resources are available. | - |
| ResourceGroupName | Provide the name of the resource group. | - |
| ResourceNamePrefix | Provide the name of the prefix. | - |
| Environment | Provide the environment name. | - |
| isLocalDeployment | Specify whether the deployment is local. Either Yes or No. | - |
| skipIdentityIntegration | Specify whether to skip the identity server integration. Either Yes or No. | - |
| updateInfraIfExists | Specify whether to update infra if already available. | - |
| deploymentMode | Specify the deployment mode. | - |
| App Service Plan | ||
| operatingSystem | Provide the name of operating system. | - |
| appServicePlanExist | Specify whether the app service plan is available. | - |
| appServicePlanName | Provide the name of the app service plan. | - |
| Workflow SQL Server | ||
| sqlServerExist | Specify whether the SQL server is available. | |
| sqlServerName | Provide the SQL server name. | - |
| sqlServerAdminLogin | Provide the admin username. | - |
| sqlServerAdminPassword | Provide the admin password. | - |
| sqlServerAppUserLogin | Provide the app user username. | - |
| sqlServerAppUserPassword | Provide the app user password. | - |
| workFlowDatabaseName | Provide the database name of the workflow. | - |
| App Settings | ||
| authorityUrl | Provide the authority URL. | - |
| identityAPIUrl | Provide the identity API URL. | - |
| Deployment Only | ||
| App Service | ||
| workflowDashboardAppName | Provide the application name of the workflow dashboard. | - |
| Identity Server | ||
| webAppClientId | Provide the client id of the web app. | - |
| webAppScope | Provide the scope. | - |
| webAppSecretKey | Provide the secret key. | - |

Deploy Workflow Dashboard
Follow these steps to create infrastructure and deploy Workflow Dashboard:
- In PowerShell, execute the following command to deploy Workflow Dashboard. .\Install.ps1
- Provide the Azure credentials to continue.
With the provided configuration, the corresponding infrastructure will be created, and Workflow Dashboard will be deployed.
Note: Important: If any error occurs, an appropriate error message will be displayed. Users can resolve the error and re-execute the script to deploy.
