Skill · Provisioning · Provision as code with Terraform
Initialise, run and troubleshoot a Terraform project, from init to destroy
Install Terraform, organize a project's files and chain init, validate, plan, apply and destroy while reading what each step reports.
Start lesson 1The Provisioning domain
- 9 lessons
- ~8 h 10 of reading
- 6 quizzes
- 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 · 1 prerequisite
Recommended before · 2
This skill, for you
Initialise, run and troubleshoot a Terraform project, from init to destroy
Computing
It unlocks · 8 skills
- Rebuild a cloud environment from code, instances bootstrapped unattended, then destroy it with nothing left
- Organize a multi-team cloud environment: separate accounts, guardrails as code and tagging
- Test infrastructure code without a cloud account: apply, empty plan and destroy, locally and in CI
- Run and govern Terraform remotely with HCP Terraform
- Parameterize a Terraform project and expose its results without duplicating values
- Declare Terraform resources and data sources with pinned providers
- Share a remote, locked and recoverable Terraform state
- Run Keycloak in production: TLS proxy, restored backup, version upgrade, emergency access and a realm described in Terraform
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
9 lessons, about ~8 h 10, in program order. Each lesson ends with its quiz.
The program
9 lessons · ~8 h 10
Part 1 · Découvrir (in French) 7 lessons · ~5 h 50
- 1Présentation de Terraform (in French)· 40 min
- 2Installer Terraform (in French)· 30 min
- 3Le workflow Terraform (in French)· 60 min
- 4Structure d'un projet (in French)· 60 min
- 5Déclaratif vs impératif (in French)· 50 min
- 6La CLI Terraform (in French)· 55 min
- 7Terraform vs OpenTofu (in French)· 55 min
Part 2 · Écrire du code : protéger et soigner le code (in French) 1 lesson · ~1 h 10
- 8Style guide Terraform (in French)· 70 min
Part 3 · Premières infras (in French) 1 lesson · ~1 h 10
- 9Déboguer un apply (in French)· 70 min
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
6 quizzes
At the end of the lessons: passed at 70%, they confirm the skill.
Practice
10 guided labs
- Destroying cleanly, and the four things it covers
- Resume after a failed apply, without redoing the work
- First infrastructure: the full cycle, proven
- Make fmt, validate and the outputs agree
- Prove idempotence where the imperative script diverges
- Prove that Terraform has a memory
- Split a monolith without moving the plan
- Prove Terraform / OpenTofu compatibility, and where it stops
- Read a plan before applying it
- The config that works but no CI accepts
Proof
No proof
Neither a challenge nor a mission with a proof yet.
Apply it on real infrastructure
- Première infrastructure Terraform sur KVM (in French)
- Détruire proprement avec Terraform (in French)
- Learn Terraform with no cloud account and no credit card
- Quiz Découvrir Terraform (in French)
Hands-on lessons: their labs count as practice and their quizzes assess you, without being required to acquire it.
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
- 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
- Organize several environments and a Terraform repository without dangerous coupling
- Run Terraform non-interactively in a pipeline, with guardrails
- Design, structure and test a reusable Terraform module
- Consume and version Terraform modules reproducibly