Terraform · Self-assessment
Knowledge checks
Every knowledge check in this course, in curriculum order. Each link opens the page at its quiz. The questions are auto-graded in the browser and nothing is recorded — a wrong answer costs you only the explanation, which is the part worth reading.
- Knowledge checks
- 39
- Parts covered
- 18
- Of all lessons
- 18%
Part I
Infrastructure as Code Foundations
2 checks
- Welcome to Terraform for Production SysadminsWhat this course assumes, what it targets, and why it is organised around blast radius rather than syntax.→
- Why Infrastructure as Code ExistsManual provisioning, scripts, configuration management, and declarative infrastructure — and where Terraform fits.→
Part II
Terraform Architecture
1 check
Part III
Installing and Versioning Terraform
1 check
Part IV
HCL: The Terraform Configuration Language
1 check
Part V
The Terraform Workflow
4 checks
- terraform apply: From Plan to RealityHow the plan becomes reality, what happens during apply, and how to recover from a partial apply failure.→
- The Basic Workflowfmt, validate, plan, apply, destroy — the daily cycle, what each step does, and what each step does not do.→
- terraform destroy: The Most Dangerous OperationDestruction is the most dangerous operation in Terraform. Treat it as such. Plan for it. Verify it. Roll back from it if you can.→
- terraform init in DepthWhat init does, what the dependency lock file is, and how to recover from common init failures.→
Part VI
Providers and the Provider Ecosystem
3 checks
- Providers: The Plugin ArchitectureHow providers translate Terraform resource operations into API calls, and how to configure them correctly.→
- Provider Version Constraints and UpgradesHow to pin provider versions, manage the dependency lock file, and upgrade providers safely.→
- Provider Authentication in ProductionHow to authenticate Terraform against cloud providers safely — work¬load identity, IAM roles, OIDC, and never hard-coding credentials.→
Part VII
Resources, Data Sources, and count/for_each
2 checks
- Data Sources: Reading Infrastructure Terraform Does Not ManageHow to read from the real world without importing, and how to use data sources to bridge configuration and existing resources.→
- Resources: The Building Blocksresource blocks, attributes, count, for_each, and the lifecycle meta-arguments that control resource behaviour.→
Part IX
State: The Core Production Concept
1 check
Part X
State Operations: Read, Move, Remove, Import
5 checks
- Importing Existing InfrastructureHow Terraform adopts resources that already exist, and the limits of what import does and does not do.→
- moved Blocks: Refactoring Without RecreationHow to use moved blocks to rename resources, move resources between modules, and refactor without destroying the real-world resources.→
- Local State vs Remote StateWhy local state is brittle in teams, what remote backends provide, and how to choose and configure a remote backend.→
- State Commands: Reading and Operating on StateThe state list, show, mv, rm, pull, push, replace-provider commands - their powers and their pitfalls.→
- Local State: What It Looks Like and Why It Is BrittleThe structure of the local state file, why it is brittle in teams, and how to migrate to a remote backend.→
Part XI
State Security and Lifecycle
2 checks
- Lifecycle Meta-Arguments in Depthcreate_before_destroy, prevent_destroy, ignore_changes, and replace_triggered_by - the production controls on resource behaviour.→
- State Security and BackupState may contain secrets. State must be encrypted at rest, access-controlled, and backed up. This lesson teaches how.→
Part XII
State Recovery and Backup
1 check
Part XIII
Variables, Outputs, and Locals
3 checks
- Locals: The Configuration Internal VariablesHow to use locals for readability, reduce duplication, and document derived values.→
- Outputs: The Configuration InterfaceHow to design an output interface that supports multi-environment use, sensitive value handling, and cross-stack consumption.→
- Variables: The Configuration InterfaceHow to design a variable interface that supports promotion, validation, and sensible defaults — without overengineering.→
Part XIV
Modules: Reusable Building Blocks
2 checks
- Modules: Reusable Building BlocksModules as software interfaces — inputs, outputs, dependencies, versioning, and the production traps of premature abstraction.→
- Modules: Reusable Building Blocks in DepthModule structure, interfaces, source selection, and the production traps of premature abstraction.→
Part XV
Environment Architecture and State Boundaries
4 checks
- Blast Radius: The Central Production ConceptWhat blast radius is, what controls it, and how to engineer a Terraform estate that fails small.→
- State Boundaries: Decomposing the Terraform EstateHow to split a Terraform estate into multiple states by lifecycle, ownership, environment, and failure domain.→
- Environment Architecture: Dev, Staging, ProductionHow to model environments in Terraform — separate states, separate accounts, separate configurations, and the blast radius of each choice.→
- Workspaces: Multiple States in One BackendWhen Terraform workspaces are appropriate, when they are not, and how to use them safely.→
Part XVI
Plan Review and Saved Plans
2 checks
Part XVII
Drift Detection and Reconciliation
3 checks
- Drift: Infrastructure That Changed Without TerraformHow drift happens, how Terraform detects it, and how to reconcile it without making the outage worse.→
- Refreshing State: Reducing Drift to RealityHow terraform refresh keeps state in sync with reality, and how to use refresh-only mode to detect drift without proposing changes.→
- Drift Detection in ProductionHow to detect drift continuously, what to do about it, and why auto-remediation is dangerous.→
Part XXI
Testing, Linting, and Static Analysis
1 check
Part XXII
CI/CD for Production Terraform
1 check