Workshop wiki · TFM

Terraform

Complete, versioned learning material for this workshop—from reference documentation and workshop levels to exercises, assessments and the supporting texts for every practice module.

Terraform

My learning progress

With the web app option enabled, your progress is stored on this device.

Learning progress in the web app

Mark chapters as read, view reading progress and check off practice modules after enabling the optional web app. Workshop progress is calculated from chapters across all document pages. Your choices stay on this device; there is no account or server sync. Installation is not required. Withdrawing your choice in Privacy settings deletes the progress.

Workshop progress0%
Practice modules completed0 / 31
Documents read0 / 94
Workshop progress0%
0%
0 / 648 chapters read

Practice modules

Workshop examples as ZIP files

All 31 practice examples in this workshop are available as individual ZIP files. Choose an example to download its package directly.

00lab-skeleton 16 Files · 11.4 KB · SHA-256 f9bba494b23b Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
01basic-configuration 16 Files · 11.8 KB · SHA-256 bf61e0cd5114 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
02variables-outputs-locals 16 Files · 12.1 KB · SHA-256 eb18f7998196 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
03providers-requirements 16 Files · 11.9 KB · SHA-256 8edb457795c3 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
04resource-graph-dependencies 17 Files · 12.7 KB · SHA-256 9aea02dcf2f7 Download example ZIP
Files in the ZIP · 17
  • README.md
  • ci/plan-review.sh
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
05plan-apply-workflow 16 Files · 11.8 KB · SHA-256 f70c394ab168 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
06state-local-inspection 17 Files · 12.2 KB · SHA-256 909adfa95372 Download example ZIP
Files in the ZIP · 17
  • README.md
  • backend.tf.example
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
07backend-configuration 17 Files · 12.2 KB · SHA-256 2c71498fbe97 Download example ZIP
Files in the ZIP · 17
  • README.md
  • backend.tf.example
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
08state-locking-model 17 Files · 12.1 KB · SHA-256 f9c12fa410fc Download example ZIP
Files in the ZIP · 17
  • README.md
  • backend.tf.example
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
09modules-basic 16 Files · 11.4 KB · SHA-256 c7963e6b3a6b Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
10modules-versioning-registry 16 Files · 12.1 KB · SHA-256 9744f1ec35e8 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
11for-each-count-dynamic 17 Files · 12.3 KB · SHA-256 a6f56fbf4775 Download example ZIP
Files in the ZIP · 17
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • for_each.tf
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
12data-sources 16 Files · 11.4 KB · SHA-256 adcc14a2e79a Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
13workspaces-environments 16 Files · 12.0 KB · SHA-256 597fd08dfa91 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
14import-existing-resource 17 Files · 12.3 KB · SHA-256 6fdcf6f8a8ee Download example ZIP
Files in the ZIP · 17
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • import-notes.txt
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
15moved-blocks-refactoring 17 Files · 12.2 KB · SHA-256 49140be66790 Download example ZIP
Files in the ZIP · 17
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • moved.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
16lifecycle-meta-arguments 17 Files · 12.4 KB · SHA-256 8e1092b93756 Download example ZIP
Files in the ZIP · 17
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • lifecycle.tf
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
17remote-state-data-source 17 Files · 12.3 KB · SHA-256 7cd9419f6d4e Download example ZIP
Files in the ZIP · 17
  • README.md
  • backend.tf.example
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
18ci-plan-artifacts 17 Files · 12.2 KB · SHA-256 5ba57e5def61 Download example ZIP
Files in the ZIP · 17
  • README.md
  • ci/plan-review.sh
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
19policy-as-code-model 17 Files · 12.3 KB · SHA-256 be67d7f56fff Download example ZIP
Files in the ZIP · 17
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • policy/deny_destroy.rego
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
20secrets-sensitive-values 16 Files · 12.0 KB · SHA-256 577d802ee4ab Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
21state-security-encryption-model 17 Files · 12.8 KB · SHA-256 03702d252d33 Download example ZIP
Files in the ZIP · 17
  • README.md
  • backend.tf.example
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
22provider-alias-multi-region 16 Files · 12.1 KB · SHA-256 bde8568fbf3f Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
23testing-terraform-test-model 16 Files · 12.2 KB · SHA-256 214638eb7416 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
24drift-detection 16 Files · 11.5 KB · SHA-256 815a6ba00329 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
25destroy-protection 17 Files · 12.0 KB · SHA-256 6e46e5baee7b Download example ZIP
Files in the ZIP · 17
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • lifecycle.tf
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
26hcp-terraform-workflow 17 Files · 12.4 KB · SHA-256 4fe6e417bc9d Download example ZIP
Files in the ZIP · 17
  • README.md
  • ci/plan-review.sh
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
27private-module-registry-model 16 Files · 12.2 KB · SHA-256 fe3251fb7a7f Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
28license-and-ecosystem-decisions 18 Files · 13.3 KB · SHA-256 36628bd12e80 Download example ZIP
Files in the ZIP · 18
  • README.md
  • ci/plan-review.sh
  • docs/de/README.md
  • docs/en/README.md
  • license-decision.txt
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
29incident-response-state 18 Files · 12.7 KB · SHA-256 12641eb27453 Download example ZIP
Files in the ZIP · 18
  • README.md
  • backend.tf.example
  • ci/plan-review.sh
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf
30troubleshooting-terraform 16 Files · 12.1 KB · SHA-256 f6c1632e2701 Download example ZIP
Files in the ZIP · 16
  • README.md
  • docs/de/README.md
  • docs/en/README.md
  • locals.tf
  • main.tf
  • modules/naming/main.tf
  • modules/naming/outputs.tf
  • modules/naming/variables.tf
  • outputs.tf
  • run.sh
  • runbook.txt
  • scenario.json
  • templates/inventory.tftpl
  • tests/basic.tftest.hcl
  • variables.tf
  • versions.tf

Learning material

Documentation in the Orthevs Wiki

The material retains its subject-specific structure. German and English versions are cross-linked, and diagrams are generated directly from the included Mermaid sources.

Workshop overview

1

Technical documentation

13
English · 63.5 KB

Architecture: Terraform

This document belongs to the Terraform workshop and describes architecture as training material, reference documentation and review basis.

Open document ↗
English · 64.4 KB

Best Practices: Terraform

This document belongs to the Terraform workshop and describes best-practices as training material, reference documentation and review basis.

Open document ↗
English · 63.3 KB

Commands: Terraform

This document belongs to the Terraform workshop and describes commands as training material, reference documentation and review basis.

Open document ↗
English · 63.6 KB

Concepts: Terraform

This document belongs to the Terraform workshop and describes concepts as training material, reference documentation and review basis.

Open document ↗
English · 72.9 KB

Curriculum: Terraform

This curriculum structures a Terraform workshop from fundamentals to advanced platform and security operations. It combines theory, architecture understanding, practical exercises, review criteria and operational maturity.

Open document ↗
English · 63.4 KB

Diagrams: Terraform

This document belongs to the Terraform workshop and describes diagrams as training material, reference documentation and review basis.

Open document ↗
English · 64.3 KB

Cloud Environment: Terraform

This document belongs to the Terraform workshop and describes environment-cloud as training material, reference documentation and review basis.

Open document ↗
English · 64.2 KB

Bare Metal Environment: Terraform

This document belongs to the Terraform workshop and describes environment-native-baremetal as training material, reference documentation and review basis.

Open document ↗
English · 63.9 KB

VM Environment: Terraform

This document belongs to the Terraform workshop and describes environment-native-vm as training material, reference documentation and review basis.

Open document ↗
English · 63.6 KB

WSL Environment: Terraform

This document belongs to the Terraform workshop and describes environment-wsl as training material, reference documentation and review basis.

Open document ↗
English · 63.6 KB

Operations: Terraform

This document belongs to the Terraform workshop and describes operations as training material, reference documentation and review basis.

Open document ↗
English · 64.3 KB

Security: Terraform

This document belongs to the Terraform workshop and describes security as training material, reference documentation and review basis.

Open document ↗
English · 64.2 KB

Troubleshooting: Terraform

This document belongs to the Terraform workshop and describes troubleshooting as training material, reference documentation and review basis.

Open document ↗

Workshop levels

4

Exercises

4

Assessments and solutions

9
English · 57.5 KB

Terraform Fundamentals: Assessment (EN)

Scope: IaC, HCL, Provider, Resources, Variablen, Outputs, lokaler State und sicherer CLI-Workflow.

Open document ↗
English · 59.0 KB

Terraform Fundamentals: Solution (EN)

Scope: IaC, HCL, Provider, Resources, Variablen, Outputs, lokaler State und sicherer CLI-Workflow.

Open document ↗
English · 57.5 KB

Terraform Intermediate: Assessment (EN)

Scope: Module, Backends, Remote State, Locking, foreach, lifecycle, Import und Refactoring.

Open document ↗
English · 59.0 KB

Terraform Intermediate: Solution (EN)

Scope: Module, Backends, Remote State, Locking, foreach, lifecycle, Import und Refactoring.

Open document ↗
English · 57.5 KB

Terraform Professional: Assessment (EN)

Scope: Multi-Environment-Design, Modulversionierung, CI/CD, Drift, HCP Terraform, TACOS und Governance.

Open document ↗
English · 59.0 KB

Terraform Professional: Solution (EN)

Scope: Multi-Environment-Design, Modulversionierung, CI/CD, Drift, HCP Terraform, TACOS und Governance.

Open document ↗
English · 57.5 KB

Terraform Advanced Security: Assessment (EN)

Scope: State Security, Least Privilege, Supply Chain, Policy as Code, Destroy-Schutz und Incident Response.

Open document ↗
English · 59.1 KB

Terraform Advanced Security: Solution (EN)

Scope: State Security, Least Privilege, Supply Chain, Policy as Code, Destroy-Schutz und Incident Response.

Open document ↗
English · 52.3 KB

Official Certificates and Exam Alignment: Terraform (EN)

This workshop does not award a Terraform certification. HashiCorp lists three Terraform certifications: Terraform Associate (004; Terraform 1.12), Terraform Infrastructure Engineer Professional (00…

Open document ↗

Practice modules

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

00 lab-skeleton

2

01 basic-configuration

2

02 variables-outputs-locals

2

03 providers-requirements

2

04 resource-graph-dependencies

2

05 plan-apply-workflow

2

06 state-local-inspection

2

07 backend-configuration

2

08 state-locking-model

2

09 modules-basic

2

10 modules-versioning-registry

2

11 for-each-count-dynamic

2

12 data-sources

2

13 workspaces-environments

2

14 import-existing-resource

2

15 moved-blocks-refactoring

2

16 lifecycle-meta-arguments

2

17 remote-state-data-source

2

18 ci-plan-artifacts

2

19 policy-as-code-model

2

20 secrets-sensitive-values

2

21 state-security-encryption-model

2

22 provider-alias-multi-region

2

23 testing-terraform-test-model

2

24 drift-detection

2

25 destroy-protection

2

26 hcp-terraform-workflow

2

27 private-module-registry-model

2

28 license-and-ecosystem-decisions

2

29 incident-response-state

2

30 troubleshooting-terraform

2

TFM · Orthevs Academy

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

Orthevs – Engineering the foundation for what comes next.

Orthevs as an app

Install Orthevs

The Orthevs web app can be installed on supported mobile devices and desktop browsers.

iPhone and iPad

Open Orthevs in Safari. Tap Share, then Add to Home Screen. Enable Open as Web App if offered, then tap Add.

Android

For the web app, open the browser menu and choose Install app or Add to Home screen. Confirm the installation.

Desktop browser

Open the browser menu or the install icon in the address bar, then choose Install app or Add to Dock.

Web app installation depends on your browser. If no install prompt appears, follow the browser steps shown above.