Packer lets us create machine images for a variety of platforms through code. Part of the image creation process involves provisioning the machine, which can be done with a variety of provisioners, including Puppet. Packer is even able to connect to an existing Puppet Server and use the modules there to provision the resulting image. In this lab, we’ll do just that to set up a web server image that hosts our company’s website.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Add the Provisioner
- Move to
packer/bookapp
. - Open the provided
packer.json
file. - To begin, we want to update the existing
shell
provisioner — thepuppet-server
provisioner does not install the Puppet agent, so we’ll need to do this here. We’ll also want to ensure our remote can talk to the Puppet Server by updating/etc/hosts
. - Next, add the needed
file
provisioner block. - Finally, add the
puppet-server
provisioner itself.
- Move to
- Test the Build
- Update the file with the provided access key, secret key, and subnet ID.
- Save and exit the file.
- Test the build.