Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
From Terraform 1.5 to 1.17 and AzureRM 3 to 5: What Changed and How to Read Old Code
Moving old Terraform code to today's version means doing syntax fixes, address moves and the migration of types the provider removed in separate steps, seeing an empty plan at each step. We run 0.11-era code with 1.17, move null_resource to terraform_data, go through the version map from 1.5 to 1.17 and how -minimal-refresh hides drift, and try the upgrade order from AzureRM 3 to 5 and the real compatibility gaps with OpenTofu.
Installing Terraform and Your First Resource: Providers, init, plan, apply and destroy with a Bookstore Resource Group on Azure
Installing Terraform means putting a single binary on your PATH; the real work is making everyone use the same versions with required_version, provider version constraints and a committed .terraform.lock.hcl. We write Bookstore's resource group and storage account with AzureRM 5.x, look at the resource provider registration change in 5.0, read the +, ~, -/+ and - symbols in real plan output, and try saved plans, stale plans, destroy, .gitignore and fmt.