Skill · Provisioning · Provision as code with Terraform
Organize several environments and a Terraform repository without dangerous coupling
Separate dev, staging and prod without dangerous coupling: workspaces when they fit, separate directories and backends otherwise, per-environment variables.
Start lesson 1The Provisioning domain
- 6 lessons
- ~8 h 05 of reading
- 1 quiz
- 0 proof lab
The path
Where it comes from, where it leads
What you need to know first, where you stand on this skill, and what it opens next. Your status is computed in your browser, from what you have read and passed.
Before · 2 prerequisites
- Share a remote, locked and recoverable Terraform state
- Parameterize a Terraform project and expose its results without duplicating values
Recommended before · 1
This skill, for you
Organize several environments and a Terraform repository without dangerous coupling
Computing
It unlocks · nothing yet
No other skill requires it: it is an end-of-path skill.
The path through the foundations From the most upstream foundation to this skill: what is in place, what remains to read.
Lessons
How to learn it
6 lessons, about ~8 h 05, in program order. Each lesson ends with its quiz.
The program
6 lessons · ~8 h 05
Beyond the lessons
Assess, practise, pass the proof
Reading a lesson confirms nothing. A skill is confirmed by a passed quiz, practised in a guided lab, and put to the test by a challenge or a mission; an imported lab result is not verified by the site.
Assess yourself
1 quiz
At the end of the lessons: passed at 70%, it confirms the skill.
Practice
6 guided labs
- Split a monorepo into two stacks that talk to each other
- Split a monolithic configuration, and prove the plan did not move
- Which value wins, and how to prove it
- Two roots, two states, one shared module
- Workspaces or separate configurations, and what the split costs
- One directory, three states that never see each other
Proof
No proof
Neither a challenge nor a mission with a proof yet.
Apply it on real infrastructure
Hands-on lessons: their labs count as practice and their quizzes assess you, without being required to acquire it.
Going further
Reference pages: they support the skill without teaching it, and do not count in your journey.
Placement test
Preparing the questions…
Your answers in detail
For each question asked: your answer, the correct answer, its explanation and the page to reread.
Around it
Who requires it, who teaches it
Required by
Taught by
Same block · Provision as code with Terraform
- Initialise, run and troubleshoot a Terraform project, from init to destroy
- Declare Terraform resources and data sources with pinned providers
- Parameterize a Terraform project and expose its results without duplicating values
- Generate Terraform resources in a controlled way with expressions, functions, count and for_each
- Control the ordering, replacement and guardrails of Terraform resources
- Handle sensitive data in Terraform without exposing it in outputs or state
- Share a remote, locked and recoverable Terraform state
- Inspect and repair a Terraform state, move or remove resources without recreating them
- Run Terraform non-interactively in a pipeline, with guardrails
- Design, structure and test a reusable Terraform module
- Consume and version Terraform modules reproducibly