Terraform foundations
Declarative configuration, providers, resources, dependencies, variables, locals, outputs, and data sources.
A deliberate beginner scope
The workshop concentrates on the Terraform skills engineers need to understand, review, and operate infrastructure changes. Participants deploy real Azure infrastructure themselves from the VS Code terminal.
Included
Declarative configuration, providers, resources, dependencies, variables, locals, outputs, and data sources.
Formatting, validation, saved plans, plan review, apply, replacement, lifecycle controls, and safe destruction.
Why state exists, how locking and remote storage work, and why state must be protected as critical data.
Module boundaries, input and output contracts, composition, iteration, versioning, and consistent tagging.
Branches, focused commits, pull requests, peer review, and explaining the risk, cost, and intent of a change.
Drift, import, moved resources, provider upgrades, troubleshooting, decommissioning, and responsible cleanup.
Hands-on sequence
01
Write and format Terraform configuration in VS Code.
02
Initialize providers and check configuration before planning.
03
Save and inspect the plan, then explain the proposed change.
04
Apply the reviewed plan, inspect Azure, and clean up safely.
Not included in the beginner path
Deploying Terraform through GitHub Actions introduces several concepts at once: workflow syntax, OIDC, federated identities, GitHub environments, Azure RBAC, remote state, runner networking, approvals, and troubleshooting across multiple systems. Those are useful topics, but they compete with the primary goal of learning Terraform.
Participants do not build or run Terraform deployment workflows in GitHub Actions or Azure DevOps. This removes pipeline access, workload identities, protected environments, and runner infrastructure from the workshop prerequisites.
Multi-environment promotion, production approvals, release orchestration, and enterprise runner operations are not beginner exercises. They require governance decisions beyond Terraform language and workflow fundamentals.
Natural continuation
After participants can reason about Terraform plans, state, authentication, and failure modes, a follow-up workshop can automate the same lifecycle with GitHub Actions, workload identity federation, protected environments, private runner connectivity, policy checks, and deployment approvals.