TerraformI · Infrastructure as Code FoundationsProduction Terraform
Infrastructure Ownership and the Configuration Repository
What you'll learn
- Explain infrastructure ownership through code
- Describe the role of Git in IaC
- Coordinate teams through configuration
Prerequisites
None — start here.
Verified against Terraform CLI 1.9.x · OpenTofu 1.7.x · HCL 2.0 · bpg/proxmox provider 0.66+ · hashicorp/local provider 2.5+ · hashicorp/null provider 3.2+ · hashicorp/random provider 3.6+ · hashicorp/http provider 3.4+ · Ubuntu 24.04 LTS · Debian 12 (Bookworm)
Objective
Explain infrastructure ownership through code
What this lesson covers
- Describe the role of Git in IaC
- Coordinate teams through configuration
Why this matters in production
Production Terraform operations have blast radius. Infrastructure Ownership and the Configuration Repository is one of the operational controls that determines whether a change is safe to apply. Skip this lesson at the cost of not understanding a production control.
How it works
Provide an overview of the topic. This lesson covers the infrastructure ownership and the configuration repository concept, the underlying mechanism, and the production implications.
Key concepts.
- The terminology used in the topic.
- The mechanism that determines the operational behaviour.
- The production control that mitigates the operational risk.
Operational implications.
The infrastructure ownership and the configuration repository concept affects the production change-management workflow. A change in this area has blast radius across the entire estate.
How to configure it
Apply the configuration pattern:
- Set up the configuration block.
- Validate the configuration.
- Run the plan.
- Verify the operations.
- Document the change.
How to inspect it
Inspection pattern:
- Use the relevant CLI command to inspect the state.
- Verify the configuration matches the expectation.
- Confirm the plan is empty.
Validation
The validation pattern:
- Confirm the configuration is valid.
- Verify the plan is empty.
- Confirm the operations are correct.
Production failure modes
The following failure modes are the most common in production:
- Misconfiguration of the relevant parameter.
- Drift between the configuration and the real world.
- Provider failure during the apply.
- State corruption or loss.
How to recover
The recovery procedure:
- Investigate the failure.
- Identify the cause.
- Apply the remediation.
- Verify the state.
- Document the incident.
Related runbooks
The following runbooks in this course apply to this lesson:
- terraform-runbook-investigate-state-lock
- terraform-runbook-recover-partial-apply
- terraform-runbook-investigate-provider-failure
What comes next
The next lesson in I-Foundations continues the exploration of Infrastructure Ownership and the Configuration Repository. Follow the order to maintain the production-first narrative.
Knowledge check · 8 questions
Q1. What is the primary value of Infrastructure as Code?
Q2. Which statement best describes declarative infrastructure?
Q3. Terraform is a configuration management tool like Ansible.
Q4. Which is the most common operational risk of manual infrastructure?
Q5. Which of the following are benefits of IaC? (Select all that apply.)
Q6. When should Terraform NOT be used for a task?
Q7. A team has 50 microservices deployed by hand. They want to use Terraform. What is the first risk to mitigate?
Q8. What is the difference between provisioning and configuration?
Passing score: 75%. Answers are checked in this browser.