<commit_before># packer-aws-ebs-puppet
Create an AMI from puppet files

## Usage
`PUPPET_REPO="<EMAIL>:skyscrapers/puppet.git" SOURCE_AMI=ami-0d77397e PROJECT=internal ENVIRONMENT=staging FUNCTION=bastion PACKER_PROFILE=profile_packer_staging make build`

## Variables
* [`SOURCE_AMI`]: The ami to base the packer build on
* [`PROJECT`]: The name of the project, used in facter
* [`ENVIRONMENT`]: The environment, used in facter
* [`FUNCTION`]: The instance function, used in facter
* [`PUPPET_REPO`]: A git url to the puppet files
* [`PACKER_PROFILE`]: The name of the profile to use when running packer
* [`ROOT_VOLUME_SIZE`]: The size (in GiB) of the root volume, default to `8`
* [`ROOT_VOLUME_TYPE`]: The size of the root volume, default to `standard`
* [`DEBUG`]: Add the `--debug` flag in Packer, defaults to false
* [`PUPPET_REPO_PATH`]: Path to the Puppet directory, relative to the Makefile, defaults to `puppet`.
* [`GIT_BRANCH`]: Git branch to use in the Puppet repository, defaults to `master`.
* [`MANAGE_GIT`]: Prepare the Puppet repository by cloning it (if it doesn't exist), checkout `GIT_BRANCH` and pulling latest changes, defaults to `true`.
* [`INSTANCE_TYPE`]: Sets the instance type to build on, defaults to `t2.micro`.
* [`OVERRIDE_RACKER_TEMPLATES`]: You can provide additional [Racker](https://github.com/aspring/racker) templates to override the main packer spec (`json`) file. You need to provide the paths of the templates, relative the this packer repo, and separated by a space.
<commit_msg>Added required tools in documentation<commit_after># packer-aws-ebs-puppet
Create an AMI from puppet files

## Usage
`PUPPET_REPO="<EMAIL>:skyscrapers/puppet.git" SOURCE_AMI=ami-0d77397e PROJECT=internal ENVIRONMENT=staging FUNCTION=bastion PACKER_PROFILE=profile_packer_staging make build`

## Variables
* [`SOURCE_AMI`]: The ami to base the packer build on
* [`PROJECT`]: The name of the project, used in facter
* [`ENVIRONMENT`]: The environment, used in facter
* [`FUNCTION`]: The instance function, used in facter
* [`PUPPET_REPO`]: A git url to the puppet files
* [`PACKER_PROFILE`]: The name of the profile to use when running packer
* [`ROOT_VOLUME_SIZE`]: The size (in GiB) of the root volume, default to `8`
* [`ROOT_VOLUME_TYPE`]: The size of the root volume, default to `standard`
* [`DEBUG`]: Add the `--debug` flag in Packer, defaults to false
* [`PUPPET_REPO_PATH`]: Path to the Puppet directory, relative to the Makefile, defaults to `puppet`.
* [`GIT_BRANCH`]: Git branch to use in the Puppet repository, defaults to `master`.
* [`MANAGE_GIT`]: Prepare the Puppet repository by cloning it (if it doesn't exist), checkout `GIT_BRANCH` and pulling latest changes, defaults to `true`.
* [`INSTANCE_TYPE`]: Sets the instance type to build on, defaults to `t2.micro`.
* [`OVERRIDE_RACKER_TEMPLATES`]: You can provide additional [Racker](https://github.com/aspring/racker) templates to override the main packer spec (`json`) file. You need to provide the paths of the templates, relative the this packer repo, and separated by a space.

## Requirements

You need the following to run packer with this repo:

- [Packer](https://www.packer.io/)
- [r10k](https://github.com/puppetlabs/r10k) - `gem install r10k`
- [Racker](https://github.com/aspring/racker) - `gem install racker`
- Git

{'fraction_non_alphanumeric': 0.11482820976491863, 'fraction_numerical': 0.006630500301386378, 'mean_word_length': 5.444660194174757, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 5, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7161310', 'n_tokens_mistral': 1115, 'n_tokens_neox': 1082, 'n_words': 407}