Files
msalemcode fcf1a46a53 add sub key
2024-02-06 10:17:45 -08:00

4.4 KiB

Install the Azure Marketplace SaaS Accelerator using Azure Cloud Shell

Basic installation script

You can install the Azure Application Meter Scheduler code using a single command line within the Azure Portal Cloud Shell.

Note: use the Azure Cloud Shell's PowerShell shell, not the default bash shell. You can select the shell via the drop-down in the top left corner.

Copy the following section to an editor and update it to match your company preference.

  • Replace SOME-UNIQUE-STRING with your Team name or some other meaningful name for your depth. (Ensure that the final name does not exceed 21 characters)
  • Replace user@email.com with a valid email from your org that will use the portal for the first time. Once deployed, this account will be able to login to the administration panel and give access to more users.
  • Replace SOME-RG-NAME with a value that matches your company's naming conventions for resource groups
  • [Optional] Replace East US with a region closest to you.
wget https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh; `
chmod +x dotnet-install.sh; `
./dotnet-install.sh; `
$ENV:PATH="$HOME/.dotnet:$ENV:PATH"; `
dotnet tool install --global dotnet-ef; `
git clone https://github.com/microsoft/custom-meters-accelerator  -b main --depth 1; `
cd ./custom-meters-accelerator/Deployment; `
.\Deploy.ps1 `
 -WebAppNamePrefix "SOME-UNIQUE-STRING" `
 -ResourceGroupForDeployment "SOME-RG-NAME" `
 -PublisherAdminUsers "user@email.com" `
 -Location "East US" 

The script above will perform the following actions.

  • Create required App Registration for Marketplace Metered API authentication
  • Deploy required infrastructure in Azure for hosting admin portal, Notification API endpoint, KeyVault and CosmosDB

Optional install script parameters

The following are optional parameters that you can include in the deployment (see parameter description below for details).

-TenantID "xxxx-xxx-xxx-xxx-xxxx" `
-AzureSubscriptionID "xxx-xx-xx-xx-xxxx" `
-ADApplicationID "xxxx-xxx-xxx-xxx-xxxx" `
-ADApplicationSecret "xxxx-xxx-xxx-xxx-xxxx" `
-PCADApplicationID "xxxx-xxx-xxx-xxx-xxxx" `
-PCADApplicationSecret "xxxx-xxx-xxx-xxx-xxxx" `
-PCTenantID "xxxx-xxx-xxx-xxx-xxxx" `
-LogoURLpng "https://company_com/company_logo.png" `
-LogoURLico "https://company_com/company_logo.ico" `
 -Quiet

Install script parameter descriptions

Parameter Description
WebAppNamePrefix [required] A unique prefix used for creating web applications. Example: contoso
ResourceGroupForDeployment Name of the resource group to deploy the resources. Default: WebAppNamePrefix value
Location [required] Location of the resource group
PublisherAdminUsers [required] Provide a list of email addresses (as comma-separated-values) that should be granted access to the Publisher Portal
TenantID The value should match the value provided for Active Directory TenantID in the Technical Configuration of the Transactable Offer in Partner Center. If value not provided, you will be asked to select the tenant during deployment
AzureSubscriptionID Id of subscription where the resources will be deployed. Subscription must be part of the Tenant Provided. If value not provided, you will be asked to select the subscription during deployment.
ADApplicationID The value should match the value provided for Active Directory Application ID in the Technical Configuration of the Transactable Offer in Partner Center. If value not provided, a new application will be created.
ADApplicationID Secret The secret for the AAD Application ID.
PC TenantID The value should match the value provided for Partner Center Tenants
PC ADApplicationID The value should match the value provided for Partner Center -> User Management -> AAD Application section
PC ADApplicationID Secret The secret for the PC Application ID
LogoURLpng The url of the company logo image in .png format with a size of 96x96 to be used on the website
LogoURLico The url of the company logo image in .ico format
Quiet Disable verbose output when running the script