Terraform Module Lifecycle: From First Variable to a Release Teams Can Trust
Terraform module lifecycle for platform teams: design, test, review, release, consume and deprecate modules on Azure so every version is one teams can trust.
Terraform module lifecycle for platform teams: design, test, review, release, consume and deprecate modules on Azure so every version is one teams can trust.
Terraform repo structure explained: how module repos, golden paths, and consumer repos combine to build a governed, reusable Azure platform.
Shadow AI means Claude Code, Lovable and unsanctioned tools entering your estate unseen. Here’s what platform teams can actually detect.
AI tools generate code fast. Your pipeline needs to catch what they get wrong. Here’s how to build a scanning layer across IaC, containers, and application code.
Azure DevOps vs GitHub Actions: a practitioner comparison covering pipelines, templates, federated identity, GitHub Copilot, and when a hybrid approach makes sense
Learn how to build a production-grade Terraform pipeline on GitHub Actions with OIDC authentication, self-hosted runners, composite actions, gated approvals, and drift detection on Azure.
Learn how to build composite GitHub Actions that standardise deployments across teams. A practical guide for platform engineers, with a real Azure OIDC login action walkthrough.
GitHub-hosted runners can’t reach private Azure resources. Learn how to deploy self-hosted runners on Azure as a shared platform across your landing zones.
If you’ve been following this series, you’ll know we’ve covered foundational GitHub Actions workflows and secrets management. Now it’s time to solve one of the most common questions I get when teams move from Azure DevOps to GitHub: how do you authenticate to Azure without storing credentials? The answer is OIDC, and in this post … Read more
Learn how to build a production-ready, reusable GitHub Actions workflow for platform engineering. Covers secrets management, OIDC, concurrency control, Checkov, Infracost and more