In this article we will discuss how to install Terraform on Kali and how to prepare for the HashiCorp Certified Terraform Associate exam using a Udemy course. I will also share my experience on how I did the course and how I passed the exam.

The course we use is the one from Zeal Vora on Udemy: https://www.udemy.com/course/terraform-beginner-to-advanced/

In a nutshell, I am very pleased with the course because it contained all necessary things that I needed to know, and it was presented in a clear, structured and efficient manner. The Indian accent is quite strong, but it can be understood well.

Prerequisites

Officially the following prerequisites are recommended by HashiCorp before starting with any course for Terraform:

  • A basic understanding of terminal commands
  • A basic understanding of and cloud infrastructure

Zeal recommends to also have a basic understanding of AWS. I would say that overall this is accurate. I would personally recommend to at least have one AWS certification since the course centers around using Terraform in AWS and there is some AWS-specific terminology used throughout the course. Having AWS Certified Cloud Practitioner should suffice.

Install Terraform on Kali

Terraform itself is OS-agnostic so it doesn’t matter whether you use Windows, MacOS or Linux. There are also multiple ways to install Terraform. For most operating systems, it suffices to follow the instructions here: https://developer.hashicorp.com/terraform/downloads

HOWEVER: Some Linux distributions, such as Kali, are not supported by HashiCorp! And the above instructions do not work for Kali. So when you try to apply the instructions for the Ubuntu/Debian distribution, you will get an error that you cannot pull any updates from the HashiCorp repository.

Instead, I recommend following the instructions here. You will download a tarball directly, extract it and perform the necessary formalities to properly register Terraform on your machine: https://computingforgeeks.com/how-to-install-terraform-on-linux/

Test it out by entering the following commands:

terraform

terraform –v

thich terraform

Apart from setting it up on your local machine, you can also install Terraform on any VMs such as EC2 instances that you may own and follow the instructions from the HashiCorp website.

IDE

Now that Terraform has been set up, we need to choose an IDE to work in. Zeal himself uses VS Code and Atom, which is no longer maintained. I would also recommend choosing an IDE that has an integrated terminal, so VS Code and Kate will both work.

AWS

The course recommends us to create a new AWS free-tier account in order to do the practical exercises. This is optional if you actually want to try to create resources, rather than only doing theoretical dry-runs. I will not be doing this myself, but you can do it if you want. It is not required to pass the course.

Course Review

The course has around 12 hours of video material and should cover all topics that you need to know initially. It is roughly divided in sections that cover the following:

  • Setting up Terraform on your machine
  • Understanding resources, providers and states
  • Learning techniques to create configurations, such as counts, setting variables, tainting and working with various data types
  • Understanding provisioners
  • Understanding modules and workspaces
  • Remote state management and state file locking
  • Securing credentials and Vault integration
  • Terraform Cloud & Enterprise

I would say that the course is pretty complete, although you will also have to do well on the quizzes which cover a few things that are not covered during the course. Here I mainly mean some important details that make for good questions such as  „can a default workspace be deleted?“ In this case, no.

For additional preparation you can purchase a set of practice exams on Udemy which Zeal himself recommends: https://www.udemy.com/course/terraform-associate-practice-exam/

I did not purchase any practice exam, but I did take a free assessment on Pluralsight:

https://app.pluralsight.com/score/skill-assessment/managing-infrastructure-with-terraform/intro?context=skills

If you want to be a perfectionist, I would suggest to play around a bit with Terraform and study the documentation a bit, especially on Terraform Cloud and Enterprise as that is not extensively covered in the course, but it is only a small part of the subject matter.

Otherwise, do takes notes and study them, and do all practice quizzes twice until you achieve a 90%+ score on all of them.

The exam

The exam can be registered on the PSI website via the HashiCorp portal https://hashicorp-certifications.zendesk.com/hc/en-us/articles/360049382552

I registered to do the exam one day in advance, which cost me around 78 euros. So far so good and 30 minutes before your exam time you can log in for the check-in with the proctor. The exam itself consists of 57 questions and you have one hour to complete all questions.

I personally one hour more than enough. Although on average you have one minute per question, most of the questions are very short and a lot of them are pretty easy if you studied the course well. I needed around half an hour myself in total.

Content-wise I can of course not share the exact questions, however you will be asked about details of some important commands and their general workings, when to use them and what happens in certain situations. Furthermore you should pay attention to the right syntax and format of for example variable assginments and using data sources.

In the end I passed the exam with 88%.

Now hopefully I will be able to apply my obtained knowledge about Terraform in practice!