Created
April 3, 2019 12:49
-
-
Save anmolnagpal/61f7eda7ed90a9cedf8813d24dd825ae to your computer and use it in GitHub Desktop.
packer template using Ansible playbook for AWS AMI
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"variables": { | |
"aws_access_key": "{{env `AWS_ACCESS_KEY_ID`}}", | |
"aws_secret_key": "{{env `AWS_SECRET_ACCESS_KEY`}}", | |
"source_ami" : "ami-040404040", | |
"region" : "eu-central-1", | |
"profile" : "{{env `account`}}" | |
}, | |
"builders": [ | |
{ | |
"type": "amazon-ebs", | |
"name": "docker-ansible", | |
"encrypt_boot": true, | |
"launch_block_device_mappings": [ | |
{ | |
"device_name": "/dev/xvda", | |
"volume_size": 100, | |
"volume_type": "gp2", | |
"delete_on_termination": true | |
} | |
], | |
"profile": "{{user `account`}}", | |
"region": "{{user `region`}}", | |
"source_ami": "{{user `source_ami`}}", | |
"instance_type": "t2.small", | |
"ssh_username": "ubuntu", | |
"ami_name": "ami-docker-ansible", | |
"communicator": "ssh", | |
"tags": { | |
"Name": "docker-ansible", | |
"OS_Version": "Ubuntu Server 18.04 LTS (HVM)", | |
"Release": "{{isotime | clean_ami_name}}", | |
"Runner": "EC2", | |
"Encrypted": "True" | |
} | |
} | |
], | |
"provisioners": [ | |
{ | |
"type": "shell", | |
"inline": [ | |
"sleep 30", | |
"sudo add-apt-repository ppa:ansible/ansible", | |
"sudo /usr/bin/apt-get update", | |
"sudo apt-get install -y ansible apt-transport-https ca-certificates nfs-common", | |
"curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -", | |
"sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\"", | |
"sudo apt-get update", | |
"sudo apt-get install -y docker-ce", | |
"sudo usermod -aG docker ubuntu" | |
] | |
}, | |
{ | |
"type": "ansible-local", | |
"playbook_file": "../deployment/packer.yml", | |
"playbook_dir": "../deployment", | |
"staging_directory": "/home/ubuntu/ansible", | |
"clean_staging_directory": true, | |
"role_paths": [ | |
"../deployment/roles/common", | |
"../deployment/roles/docker-compose", | |
"../deployment/roles/docker-selenoid" | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment