Whenever you deal with ARM templates, you always face to handle some sensitive information. This is mainly for API keys handling. How can you cope with those values other than hard-code them into the templates? There are six different ways to handle them we’re going to discuss in this post.
6 Ways Passing Secrets to ARM Templates
Azure Resource Manager, ARM Templates, DevOps, Azure Key Vault, Azure Pipelines, YARM CLI, Azure DevOps, Linked Templates
Writing ARM Templates in YAML
CICD, JSON, VSTS, ARM Templates, Testing, Pester, Blog, Technology, YAML
In my previous post, ARM Template Lifecycle Management: DOs and DON’Ts, I recommend to consider YAML for ARM template authoring. In the post, I also suggest using yarm to convert YAML to JSON and/or vice-versa. However, yarm
is not that easy to use because it has to be deployed to Azure or, at least, it has to be run...
Testing ARM Templates with Pester #2 – Azure CLI
Architecture, VSTS, ARM Templates, Azure PowerShell, Testing, Pester, Blog, Technology, Azure CLI
In my previous post, Testing ARM Templates with Pester #1 – PowerShell, I showed how to test behaviours ARM template deployment without actual deployment. At the end of the post, I also briefly mentioned how we can integrate this testing into our CI/CD pipeline. However, I was actually asked many times how I did it on
ARM Template Lifecycle Management: DOs and DON'Ts
Architecture, ARM Templates, DevOps, Article, Technology, Best Practice
Introduction
Are you an experienced DevOps engineer or managing cloud resources on Azure, or about to jump into Azure resource management?
While you are creating, updating or deleting resources on Azure, you must have worked with Azure Resource Managerthat keeps all resource definitions known asARM templates. In...
Separation of Concerns: Logic App from ARM Template
Architecture, Logic Apps, ARM Templates, Blog, Technology, Latest Post, Separation of Concerns
Introduction
Azure Logic App is a set of workflow definitions, which is written in JSON format. The nature of JSON object results in this being tightly bound with ARM template. In other words, the Logic App has a dependency on an ARM template. Due to these characteristics, when any update is made on the workflow, the...
Azure API Management CI/CD Best Practices
Azure API Management, Continuous Integration, Microsoft, VSTS, ARM Templates, Article, Technology
Introduction
Azure API Management is a great product that we often use on customer solutions. It is an extremely effective way to provide a layer of abstraction between your callers and back-end APIs, and provides centralised governance across your API surface.
However, one of the most common questions from our...
Testing ARM Templates with Pester #1 - PowerShell
ARM template is a great tool for Azure resources deployment. However, it’s very tricky to use because:
- It’s a JSON object with massive number of lines,
- Its JSON structure is quite complex so that it’s not that easy to read at a glance,
- It’s hard to validate if there is a typo or not, and
- We only know if the resource...
List of Access Keys from Output Values after ARM Template Deployment
Azure Functions, Logic Apps, Service Bus, ARM Templates, Application Insights, Cosmos DB, Storage Account, Blog, Technology
There are many cases that we need to retrieve access keys and/or endpoints of Azure resources, as soon as they are deployed through ARM templates. Typical uses cases are:
- To display those values in the
outputs
section of ARM templates, - To get a reference to the
outputs
section of nested ARM templates from their...
Preparing Azure Logic Apps for CI/CD using ARM Templates
Azure, Continuous Integration, Logic Apps, ARM Templates, Blog, Technology
Introduction
Logic Apps can be created from the Azure Portal, or using Visual Studio. This works well if you want to create one Logic App at a time. However, if you want to deploy the same Logic App in multiple environments, e.g. Dev, Test, or Production, you want to do it in an automated way. Azure Resource Manager...