Browsed by
Author: Rudy

Introducing: terraform-azurerm-jmusicbot v1.1.0 – Cost Savings, Azure Function, and Linux Service Creation

Introducing: terraform-azurerm-jmusicbot v1.1.0 – Cost Savings, Azure Function, and Linux Service Creation

The first version of tf-jdiscord module was just okay. I had to manually deploy it to Azure whenever someone in my Discord wanted to play a song or when I was in the mood for some background music. We’re pretty big on music, so that ended up being a frequent task—over 50 manual deployments in the last year alone. Needless to say, the constant cycle of applying and destroying the module got old fast. The real issue arose when I’d…

Read More Read More

AzNonComplianceReport.ps1: A PowerShell Script to Output a CSV of Non-compliant Resources From Azure Policy

AzNonComplianceReport.ps1: A PowerShell Script to Output a CSV of Non-compliant Resources From Azure Policy

In Azure, you often have to deal with non-compliant resources and their associated details. You might think Microsoft would provide a native export tool to do this through the Azure portal. However, there is no direct way to export a list of non-compliant resources for a specific tenant, subscription, or policy assignment. That’s why I created the AzNonComplianceReport PowerShell script to generate a list of non-compliant resources that need remediation. How to Use The AzNonComplianceReport is simple to use: Once…

Read More Read More

terraform-azurerm-storage-account: A Terraform Module to Deploy ‘Secure By Default’ Storage Accounts

terraform-azurerm-storage-account: A Terraform Module to Deploy ‘Secure By Default’ Storage Accounts

As organizations increasingly rely on cloud storage solutions, securing data becomes paramount. Storage accounts offer a scalable and durable storage option in the Azure cloud. To simplify the process of provisioning secure storage accounts, I have developed a Terraform module called terraform-azurerm-storage-account. In this blog post, I will guide you through the features and benefits of this module. The Importance of Secure Defaults Using the default settings when provisioning a new storage account can create several vulnerabilities. For instance, by…

Read More Read More

Terraform Module to Restrict App Service Plan SKUs: Inspired by AZAdvertizer

Terraform Module to Restrict App Service Plan SKUs: Inspired by AZAdvertizer

In Azure, maintaining compliance and minimizing risk is a constant challenge. This is particularly true when managing App Service Plans for a tenant(s), where unrestricted use of all SKUs can introduce risk. This becomes crucial in environments where adherence to specific App Service Plans is a requirement. Alternatively, in a remediation scenario, if your organization lacks governance and has created numerous improperly specified App Service Plans, you can first remediate these, and then deploy and assign this policy definition. To…

Read More Read More

terraform-azurerm-disallow-ragrs-policy: A Terraform Module to Prevent or Audit the Creation of Standard_RAGRS Storage Accounts

terraform-azurerm-disallow-ragrs-policy: A Terraform Module to Prevent or Audit the Creation of Standard_RAGRS Storage Accounts

As Azure engineers, we need to be prudent in managing our resources. One such resource is storage accounts. The default option when creating a storage account via the Azure portal or CLI is Standard_RAGRS SKU, which is usually overkill. Here, we introduce the terraform-azurerm-disallow-ragrs-policy module that helps enforce cost-effective use of storage by preventing or auditing the creation of Standard_RAGRS storage accounts. Understanding the Standard_RAGRS vs Standard_GRS Dilemma Standard_RAGRS (Read-Access Geographically Redundant Storage) offers geo-replication across two regions, with read-only…

Read More Read More

terraform-azurerm-aznamingtool: A Terraform Module to Deploy Microsoft’s Azure Naming Tool

terraform-azurerm-aznamingtool: A Terraform Module to Deploy Microsoft’s Azure Naming Tool

Struggling with inconsistent Azure resource naming? You’re not alone. Manually managing naming standards for various resources can be both time-consuming and error-prone, which may cause confusion later on. To address this, Microsoft created a free .NET core application called AzNamingTool. With a bit of configuration, this tool can generate compliant and consistent names for all Azure resources. I was inspired to create this Terraform module after reading a blog post from Microsoft MVP, Luke Murray. In his post, Luke uses…

Read More Read More

terraform-azurerm-jmusicbot: A Terraform Module to Deploy JMusicBot into Azure

terraform-azurerm-jmusicbot: A Terraform Module to Deploy JMusicBot into Azure

Have you ever been in a Discord server with a music bot that keeps going offline? It can be frustrating for the server members and those hosting the bot on their personal machines. That’s where TF-JDiscordBot comes in. This Terraform module installs, configures, and runs JMusicBot (https://jmusicbot.com/) on an Ubuntu 18 instance hosted in the Azure cloud. This way, you can have a reliable music bot for your Discord server without worrying about your personal machine being online 24/7. Update:…

Read More Read More

Managing Resources Using Azure Resource Inventory and PowerShell – My Living Collection of PS Scripts

Managing Resources Using Azure Resource Inventory and PowerShell – My Living Collection of PS Scripts

Introduction Coming into a new Azure tenant as part of a new position or when engaging with a new client can be challenging. Often the environments are very complicated, containing different management groups, many many subscriptions, and 100s of resource groups across said subscriptions. An excellent way to get a comprehensive overview of all resources within an Azure tenant is to use the Azure Resource Inventory Report (ARI). The ARI was created by Microsoft Azure Engineers back in 2018 and…

Read More Read More

Deploying A Kusama Validator Into Azure Using Terraform and Bash

Deploying A Kusama Validator Into Azure Using Terraform and Bash

Introduction Kusama is a decentralized computer network. It was founded in 2019 by the creators of Polkadot, Gavin Wood (a co-founder of Ethereum), Peter Czaban, and Robert Habermeier. Kusama uses the same codebase and binary file as Polkadot. As such, a big focus of Kusama is to provide a test platform for Polkadot software developers and stakeholders to deploy and thoroughly test decentralized solutions running on Substrate before releasing them into the Polkadot ecosystem. To understand the Polkadot ecosystem is…

Read More Read More

Setting Up Kubernetes in Hyper-V – Manual Method

Setting Up Kubernetes in Hyper-V – Manual Method

This blog will show how one can set up a Kubernetes cluster on a Windows workstation – no cloud providers needed. Keep in mind, that the cluster we are provisioning in this tutorial is for testing and learning purposes only. One can work through this tutorial to become more familiar with the fundamentals of manually deploying a vanilla k8s cluster into Hyper-V. Or, if you’re like me and want to run a K8s cluster on your seriously underutilized gaming computer…

Read More Read More