Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anmolnagpal/61f7eda7ed90a9cedf8813d24dd825ae to your computer and use it in GitHub Desktop.
Save anmolnagpal/61f7eda7ed90a9cedf8813d24dd825ae to your computer and use it in GitHub Desktop.
packer template using Ansible playbook for AWS AMI
{
"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