Using HCL with Packer

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

While Packer was initially created to allow users to use JSON to describe their desired image builds, it now also supported HashiCorp Configuration Language 2, which has some additional benefits to JSON, such as breaking up our build into reusable files. In this lab, we’ll explore creating a parallel Amazon and Docker image build using HCL building blocks.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Refactor the Sources
  1. Review the setup of the current build.
  2. Notice both builders and how they are set up.
  3. Let’s now re-create the amazon-ebs build as our first source.
    • Be sure to update the access_key, secret_key, and subnet_id with the values provided on the lab page.
  4. Save and exit, and then do the same for Docker.
  5. Save and exit.
Refactor the Builds
  1. Review the provisioners, noting how one uses the only option. This means we need to think about how we break up our build. Let’s first create our production build.
  2. Add our dev build.
  3. Remove the last shell provisioner block and update the source.
Test the Build
  1. Test the build.

Additional Resources

Your company uses Packer to create both Amazon EBS-based production image and Docker-backed development images. Until recently, no standard templating language has been enforced, but now the team has standardized on HCL, ensuring to break up the files so each source is stored separately.

To begin conversions, you're tasked with refactoring the build of the company's landing page, whose packer.json template and related files can be found in packer/bookapp. The AMI and Docker image should be built in parallel.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?