Variables, Validation and Outputs

easy 10 XP ~7 minHands-on lab

This machine has OpenTofu, the open-source tool that reads the same configuration language as Terraform. Run it as tofu (terraform runs the same program). There is no network: the local, random and null providers are already installed.

/home/student/infra/reportd/main.tf writes a config file for the dev environment, with dev typed in by hand twice.

Task

  • Add an input variable environment (a string) with default dev. It must reject any value other than dev, staging or prod.
  • Use it in both places where dev is hard-coded today.
  • Set it to staging in terraform.tfvars (not on the command line) and apply, so /home/student/out/reportd-staging.conf exists with env=staging.
  • Add an output config_path with the path of the generated file.

About this machine

Ubuntu 24.04 with no internet access. You are student with passwordless sudo. The grader checks the final state of the machine, not the commands you typed. Values like names and ports are generated for you.

TerminalNot started

Your machine is ready to start

Create a free account to open a machine and get graded.