Setup Certbot for Azure Virtual Machines

Certbot is a method of automating the renewal of Automated Certificate Management Environment (ACME protocol) SSL certificates and can be a handy tool to install on your Azure Virtual Machines. However, currently as of writing this there is a little snag with the Azure plugin for Certbot, as it is not yet been merged intoContinueContinue reading “Setup Certbot for Azure Virtual Machines”

Terraform Code Quality

Terraform is like any other coding language, there should be code quality and pride in what you produce. In this post I would like to describe why you should have code quality and detail some of the aspects you should be consistently doing every time you produce code. Code Quality is like when you areContinueContinue reading “Terraform Code Quality”

What you want in a DevOps Engineer

DevOps and DevOps engineers are not a new concept, but there is still a little unknown as to what they are and what they cover. Therefore, it can be hard to gauge what you should look for when recruiting a DevOps Engineer and the skill set that is required. Not all the skills they needContinueContinue reading “What you want in a DevOps Engineer”

Azure DevOps loop a complex object

This is a subject that I have not found much or any documentation on, so I wanted to share what I did. When creating the parameters to pass into a Template it can get very long, plus when two arrays depend on each other it can get very complex, so ironically a complex object makesContinueContinue reading “Azure DevOps loop a complex object”

Bash compare version numbers

Here is a little script to help compare version numbers in the format X.X.X using bash/shell. This can be good if you are trying to find out which version is higher for something like an upgrade. versionlte() { [ “$1” = “`echo -e “$1\n$2″ | sort -V | head -n1`” ] } versionlt() { [ContinueContinue reading “Bash compare version numbers”

Terraform plan output to JSON

The Terraform CLI currently doesn’t output the plan to a human readable file when running the plan command. It currently prints to the console in a readable format, at least within Azure DevOps, but the tfplan file outputted is not. This can be very unhelpful within a deployment pipeline when you save the output fileContinueContinue reading “Terraform plan output to JSON”

Automatic Change Checking on Pipeline Stages

Azure DevOps has the ability to add multiple stage approval styles like human intervention, Azure Monitoring and schedules. However, there is not the ability to value if a source has changed before triggering a Stage. This can be done on the Pipeline level, but not the Stage level where it can be helpful to haveContinueContinue reading “Automatic Change Checking on Pipeline Stages”

Merge Azure DevOps Pipeline Templates

As mentioned in my previous post about Azure DevOps Local Pipeline Testing, the available method of testing with the Azure DevOps API doesn’t have the feature to merge the YAML Templates. Therefore, I have set out to try and solve this issue.. You can view the full PowerShell script on GitHub.(https://github.com/PureRandom/AzureDevOpsYamlMerge-ps) Please feel free toContinueContinue reading “Merge Azure DevOps Pipeline Templates”