· 9 years ago · Dec 01, 2016, 10:22 PM
1{
2 "variables": {
3 "aws_access_key": "{{env `AWS_ACCESS_KEY`}}",
4 "aws_secret_key": "{{env `AWS_SECRET_KEY`}}",
5 "source_ami": "{{env `AWS_SOURCE_AMI`}}"
6 },
7 "builders": [
8 {
9 "type": "amazon-ebs",
10 "access_key": "{{user `aws_access_key`}}",
11 "secret_key": "{{user `aws_secret_key`}}",
12 "region": "us-east-1",
13 "source_ami": "{{user `source_ami`}}",
14 "instance_type": "t2.medium",
15 "ssh_username": "ubuntu",
16 "ami_name": "consul-{{timestamp}}",
17 "communicator": "ssh",
18 "ssh_pty": true,
19 "ami_description": "Consul server image",
20 "ami_virtualization_type": "hvm",
21 "tags": {
22 "os": "ubuntu16",
23 "storage": "ebs",
24 "image": "consul"
25 }
26 }
27 ],
28 "push": {
29 "name": "saj/consul",
30 "base_dir": "../../",
31 "vcs": false,
32 "exclude": [
33 "packer_cache",
34 "output-virtualbox-iso",
35 ".git"
36 ]
37 },
38 "provisioners": [
39 {
40 "type": "shell",
41 "scripts": [
42 "build/scripts/apt_upgrade.sh",
43 "build/scripts/install_ansible.sh"
44 ]
45 },
46 {
47 "type": "ansible-local",
48 "playbook_file": "ansible/playbooks/consul.yml",
49 "inventory_groups": "consul",
50 "playbook_dir": "ansible/playbooks/"
51 }
52 ],
53 "post-processors": [
54 {
55 "type": "atlas",
56 "artifact": "saj/consul",
57 "artifact_type": "aws.ami",
58 "metadata": {
59 "created_at": "{{timestamp}}"
60 }
61 }
62 ]
63}