Harness has first-class support for Azure Resource Manager (ARM) templates as an infrastructure provisioner.
You can use ARM templates to provision the deployment target environment in Azure, or to simply provision any Azure infrastructure.
See the following ARM How-tos:
- Set Up Your Harness Account for Azure ARM
- Add Azure ARM Templates to Harness
- Provision and Deploy to ARM Provisioned Infrastructure
- Provision Resources using a Harness ARM Infrastructure Provisioner
- Use Azure ARM Template Outputs in Workflow Steps
- Azure ARM Rollbacks
For a conceptual overview of provisioning with ARM and Blueprints, including videos, see Azure ARM and Blueprint Provisioning with Harness.
- Harness supports the following scope types:
- Management Group
- Resource Group
- Harness ARM Template provisioning is supported in Canary and Multi-Service Workflows, and Blue/Green Workflows that deploy Azure Web Apps.
If you simply want to provision infrastructure without deploying any resources to the provisioned infrastructure, simply use a Canary Workflow and an ARM/Blueprint Create Resource step in its Pre-deployment Steps and omit any further phases and steps.
- Azure Web App deployment targets only: you can use ARM templates with Harness to provision any Azure resources, but deployment target provisioning is limited to Azure Web App deployments.
A deployment target is defined in the Infrastructure Definition used by a Workflow (or Workflow Phase). In an Infrastructure Definition that uses the Microsoft Azure Cloud Provider Type, you will only see Map Dynamically Provisioned Infrastructure if you select Azure Web Application in Deployment Type.
See Provision and Deploy to ARM Provisioned Infrastructure.
- Incremental mode is supported for all Scope types (Subscription, Resource group, Management group, Tenant) and Complete mode is supported for Resource group only.
- ARM templates must be in JSON. Bicep isn't supported.
- Rollback is supported for the Resource group scope only. See Azure ARM Rollbacks.
Azure Roles Required
See Azure Resource Management (ARM) in Add Microsoft Azure Cloud Provider.
Harness Permissions Required
To set up a Harness ARM Provisioner, your Harness User account must belong to a User Group with the following Application Permissions:
- Permission Type:
- Application: one or more Applications.
Create, Read, Update, Delete.