UNPKG

cfk

Version:
210 lines (209 loc) 7.04 kB
{ "_source_ami_info": "[US-WEST-2] Ubuntu Server 14.04 (Trusty Tahr) LTS HVM", "variables": { "user": "{{ env `USER` }}", "atlas_token": "{{ env `ATLAS_TOKEN` }}", "aws_access_key": "{{ env `AWS_ACCESS_KEY_ID` }}", "aws_secret": "{{ env `AWS_SECRET_ACCESS_KEY` }}", "aws_region": "{{ env `AWS_DEFAULT_REGION` }}", "aws_instance_type": "m4.large", "role": null, "version": null, "branch": null, "commit": null, "repository": null }, "push": { "name": "finboxio/cfk-{{ user `role` }}", "token": "{{ user `atlas_token` }}", "base_dir": "..", "vcs": true }, "builders": [ { "type": "amazon-ebs", "name": "aws", "access_key": "{{ user `aws_access_key` }}", "secret_key": "{{ user `aws_secret` }}", "region": "{{ user `aws_region` }}", "source_ami": "ami-534d5d32", "ami_name": "cfk-{{ user `role` }} v{{ user `version` }}", "instance_type": "{{ user `aws_instance_type` }}", "ami_description": "CFK AMI ({{ user `role` }}), Version {{ user `version` }}. Built by user {{ user `user` }} from the {{ user `commit` }} commit of branch '{{ user `branch` }}' in the {{ user `repository` }} repo on {{ isotime \"2006-01-02\" }}", "ssh_username": "ubuntu", "force_deregister": true, "associate_public_ip_address": true, "launch_block_device_mappings": [ { "device_name": "/dev/sda1", "volume_type": "gp2", "volume_size": 16, "delete_on_termination": true, "encrypted": false } ], "tags": { "Project": "cfk", "Name": "cfk-{{ user `role` }}", "Role": "{{ user `role` }}", "Build": "{{ user `commit` }}", "Version": "{{ user `version` }}", "Branch": "{{ user `branch` }}", "Timestamp": "{{ timestamp }}", "Built-With": "packer", "Built-By": "{{ user `user` }}" }, "run_tags": { "Project": "cfk", "Name": "cfk-builder", "Role": "builder" } }, { "type": "virtualbox-iso", "name": "vbox", "guest_os_type": "Ubuntu_64", "iso_url": "http://releases.ubuntu.com/14.04/ubuntu-14.04.3-server-amd64.iso", "iso_checksum": "a3b345908a826e262f4ea1afeb357fd09ec0558cf34e6c9112cead4bb55ccdfb", "iso_checksum_type": "sha256", "ssh_username": "vagrant", "ssh_password": "vagrant", "ssh_timeout": "10000s", "export_opts": [ "--vsys", "0", "--version", "{{ user `version` }}", "--description", "CFK Box ({{ user `role` }}), Version {{ user `version` }}. Built by user {{ user `user` }} from the {{ user `commit` }} commit of branch '{{ user `branch` }}' in the {{ user `repository` }} repo on {{ isotime \"2006-01-02\" }}" ], "http_directory": "virtualbox", "boot_command": [ "<esc><esc><enter><wait> ", "/install/vmlinuz noapic ", "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ", "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ", "hostname={{ .Name }} ", "fb=false debconf/frontend=noninteractive ", "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ", "keyboard-configuration/variant=USA console-setup/ask_detect=false ", "initrd=/install/initrd.gz -- <enter> " ], "shutdown_command": "sudo shutdown -P now" } ], "provisioners": [ { "type": "shell", "only": [ "vbox" ], "execute_command": "{{ .Vars }} sudo -E sh '{{ .Path }}'", "inline": [ "cd /tmp", "mkdir /tmp/isomount", "mount -t iso9660 -o loop /home/vagrant/VBoxGuestAdditions.iso /tmp/isomount", "/tmp/isomount/VBoxLinuxAdditions.run", "umount isomount", "rm -rf isomount /home/vagrant/VBoxGuestAdditions.iso" ] }, { "type": "shell", "execute_command": "{{ .Vars }} sudo -E sh '{{ .Path }}'", "start_retry_timeout": "30s", "inline": [ "apt-get -y install software-properties-common", "apt-add-repository -y ppa:ansible/ansible", "apt-get update", "apt-get -y install ansible curl", "apt-get -y upgrade" ] }, { "type": "shell", "execute_command": "{{ .Vars }} sudo -E sh '{{ .Path }}'", "inline": [ "reboot", "sleep 30" ] }, { "type": "shell", "execute_command": "{{ .Vars }} sudo -E sh '{{ .Path }}'", "inline": [ "mkdir /usr/src/ansible", "chmod -R 777 /usr/src/ansible" ] }, { "type": "ansible-local", "playbook_file": "./ansible/playbook.yml", "playbook_dir": "./ansible", "inventory_groups": "{{ user `role` }}", "staging_directory": "/usr/src/ansible", "extra_arguments": [ "--tags=image", "--extra-vars", "cfk_version={{ user `version` }}" ] } ], "post-processors": [ [ { "type": "vagrant", "keep_input_artifact": true }, { "type": "atlas", "only": [ "vbox" ], "token": "{{ user `atlas_token` }}", "artifact": "finboxio/cfk-{{ user `role` }}", "artifact_type": "vagrant.box", "metadata": { "created_at": "{{ timestamp }}", "build": "{{ user `commit` }}", "version": "{{ user `version` }}", "branch": "{{ user `branch` }}", "built_with": "packer", "built_by": "{{ user `user` }}", "provider": "virtualbox" } }, { "type": "atlas", "only": [ "aws" ], "token": "{{ user `atlas_token` }}", "artifact": "finboxio/cfk-{{ user `role` }}", "artifact_type": "vagrant.box", "metadata": { "created_at": "{{ timestamp }}", "build": "{{ user `commit` }}", "version": "{{ user `version` }}", "branch": "{{ user `branch` }}", "built_with": "packer", "built_by": "{{ user `user` }}", "provider": "aws" } } ], { "type": "atlas", "only": [ "aws" ], "token": "{{user `atlas_token`}}", "artifact": "finboxio/cfk-{{ user `role` }}", "artifact_type": "amazon.image", "metadata": { "created_at": "{{ timestamp }}", "build": "{{ user `commit` }}", "version": "{{ user `version` }}", "branch": "{{ user `branch` }}", "built_with": "packer", "built_by": "{{ user `user` }}" } }, { "type": "atlas", "only": [ "vbox" ], "token": "{{user `atlas_token`}}", "artifact": "finboxio/cfk-{{ user `role` }}", "artifact_type": "virtualbox.image", "metadata": { "created_at": "{{ timestamp }}", "build": "{{ user `commit` }}", "version": "{{ user `version` }}", "branch": "{{ user `branch` }}", "built_with": "packer", "built_by": "{{ user `user` }}" } } ] }