efbd680d4e
Make a clear split between Packer and Terraform provisioning steps: the scripts in the `packer/linux` directory are run when we build the AMI whereas the stuff in shared are run at Terraform provisioning time. Merging all runtime provisioning scripts into a single script for each of server/client solves the following: * Userdata scripts can't take arguments, they can only be templated and that means we have to do TF escaping in bash/powershell scripts. * TF provisioning scripts race with userdata scripts.
508 B
508 B
Packer Builds
These builds are run as-needed to update the AMIs used by the end-to-end test infrastructure.
What goes here?
- steps that aren't specific to a given Nomad build: ex. all Linux instances need
jq
andawscli
. - steps that aren't specific to a given EC2 instance: nothing that includes an IP address.
- steps that infrequently change: the version of Consul or Vault we ship.
Running Packer builds
$ packer --version
1.4.4
# build linux AMI
$ packer build packer.json