
Introduction to HashiCorp Packer
Features and need for HashiCorp Packer
Overview of Machine Image and its types
Launch EC2 from an Amazon Linux AMI, configure a security group and SSH, attach 8 GB of EBS, take snapshot, and create an AMI to be automated with hashicorp packer.
Install and verify HashiCorp Packer on CentOS by downloading the 64-bit executable, unzipping, moving to /usr/local/bin, updating the path, and testing with packer --version, plus json and hcl config support.
Configure AWS credentials for HashiCorp Packer by creating an IAM user, applying a minimal EC2 policy, and enabling programmatic access with an access key and secret key.
Demonstrates building a first machine image with HashiCorp Packer using JSON syntax, configuring an Amazon EBS builder, base AMI, instance details, and automated AMI creation.
Learn to clean up AWS AMIs with HashiCorp Packer by deregistering images, deleting snapshots, and tracking charges, using dynamic AMI naming with variables and provisioners.
Discover how packer automates production-ready, multi-platform machine images and integrates with ci/cd tools like Jenkins and Terraform, using provisioners such as Ansible, Chef, and Puppet to configure environments.
Explore HashiCorp Packer terminology, including artifacts, builds, builders, provisioners, post processors, and templates, and see how a builder produces an artifact like an AMI through provisioning and post processing.
Learn how to pass aws_access_key and secret_key variables to packer via the command line and a variables.json file, and validate an existing ami with -var and -var-file.
Learn to write packer templates in HCL format, convert JSON to HCL with hcl2_upgrade, and use variables and var-file with an amazon-ebs builder to build or update an AWS AMI.
Discover how the null builder in HashiCorp Packer performs no build activity while enabling shell local provisioners to test provisioning, syntax, and post-processing.
Learn how the packer templating engine processes variables and functions inside double braces to generate dynamic AMI names. Apply clean_resource_name, ISO time, and packer run UUID for timestamped AMI names.
Explain how the ansible local mode provisioner installs ansible on the remote machine, runs the playbook to install httpd, provision the EC2 instance, and generate the configured AMI.
Learn how the ansible remote provisioner works in packer by installing ansible on the builder machine, provisioning via ssh, and handling permissions using ec2-user with sudo to create the AMI.
Learn to run multiple parallel builds with HashiCorp Packer to create two AWS AMIs—Linux and CentOS—with httpd installed, using two amazon-ebs builders and parallel provisioning.
Learn to build a vagrant box with HashiCorp Packer using alpine 3.8, ssh provisioning, and VirtualBox, then validate, build, and export the box to the vagrant boxes directory.
Learn how post processors operate on build artifacts with artifice, reference a specific artifact, compute checksums, compress to tar.gz, and push or tag artifacts down the pipeline.
Discover how the manifest post processor in HashiCorp Packer outputs a manifest.json to track artifacts from builds, including checksums, sizes, timestamps, and custom data, with append or overwrite options.
Build automated machine images for multiple platforms from a single configuration file
Create images in parallel
Use tools like Chef or Puppet to do the provisioning
Use it along with Continous delivery tools
Launch the instance using the image, test and verify the infrastructure along with the development
Learn about variables and other details of the HCL file
Learn various provisions and builders
Understand the difference between Ansible local and remote builder
Create a docker container image, shell local and remote builder
Create windows AMI
Create and test Vagrant images
Work with post-processors and other components of Hashicorp Packer
You will learn how to build automated machine images for multiple platforms — such as AWS, Azure, Docker, and VirtualBox — all from a single configuration file using HashiCorp Packer. You will understand how to create images in parallel, speeding up the build process and ensuring consistency across different environments.
You will explore how to integrate provisioning tools like Chef and Puppet to configure images during the build process. Additionally, we will demonstrate how to use Packer in conjunction with Continuous Delivery (CD) tools, making it an essential part of your automated deployment pipelines.
You will gain hands-on experience in launching instances from the built images, testing, and verifying both infrastructure and development environments. The course will also cover working with the HashiCorp Configuration Language (HCL), learning about variables, functions, and writing modular, reusable templates.
You will dive deep into provisioners and builders, understand the difference between Ansible local and remote builders, and learn how to create Docker container images, Shell-based local and remote builds, Windows AMIs, and Vagrant images.
Finally, you will work with post-processors and explore additional components of Packer to fine-tune your automation workflow and optimize image management.
By the end of this course, you will be confident in using HashiCorp Packer to create, customize, and manage infrastructure images efficiently across multiple platforms.