diff --git a/grouper-appliance.json b/grouper-appliance.json new file mode 100644 index 0000000..23e2a6e --- /dev/null +++ b/grouper-appliance.json @@ -0,0 +1,79 @@ +{ + "min_packer_version": "0.8.6", + "description": "Grouper appliance", + "variables": { + "profile": "xfs", + "disk_size": "8192", + "memory": "1024", + "cpus": "1", + "guest_os_type": "RedHat_64", + "ssh_username": "centos", + "ssh_password": "centos", + "region": "us-west-1", + "timestamper": "{{timestamp}}", + "outputfile_name": "shibboleth-appliance-centos7" + }, + "provisioners": [ + { + "type": "shell", + "execute_command": "echo 'centos' | {{.Vars}} sudo -S -E bash '{{.Path}}'", + "script": "scripts/ansible.sh" + }, + { + "type": "ansible-local", + "playbook_dir": "ansible-playbooks", + "playbook_file": "ansible-playbooks/grouper-appliance-vbox.yml" + }, + { + "type": "shell", + "execute_command": "echo 'centos' | {{.Vars}} sudo -S -E bash '{{.Path}}'", + "script": "scripts/cleanup.sh" + } + ], + "builders": [ + { + "type": "virtualbox-iso", + "name": "shibboleth-appliance-centos7", + "vm_name": "shibboleth-appliance-centos7-{{user `profile`}}", + "headless": true, + "guest_os_type": "RedHat_64", + "disk_size": "{{user `disk_size`}}", + "vboxmanage": [ + ["modifyvm", "{{.Name}}", "--memory", "{{user `memory`}}"], + ["modifyvm", "{{.Name}}", "--cpus", "{{user `cpus`}}"], + ["modifyvm", "{{.Name}}", "--ostype", "{{user `guest_os_type`}}"] + ], + "iso_url": "http://mirror.vcu.edu/pub/gnu+linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso", + "iso_checksum": "f90e4d28fa377669b2db16cbcb451fcb9a89d2460e3645993e30e137ac37d284", + "iso_checksum_type": "sha256", + "http_directory": "http", + "boot_command": [" text ks=http://{{.HTTPIP}}:{{.HTTPPort}}/ks-{{user `profile`}}.cfg"], + "boot_wait": "10s", + "ssh_username": "{{user `ssh_username`}}", + "ssh_password": "{{user `ssh_password`}}", + "ssh_port": 22, + "ssh_wait_timeout": "10000s", + "guest_additions_mode": "disable", + "shutdown_command": "sudo -S shutdown -P now", + "output_directory": "output-{{user `profile`}}", + "format": "ova" + } + ], + "post-processors": [ + { + "type": "compress", + "compression_level": "9", + "output": "builds/{{user `outputfile_name`}}-ova-{{user `timestamper`}}.tar" + }, + { + "type": "amazon-import", + "access_key": "{{user `aws_access_key`}}", + "secret_key": "{{user `aws_secret_key`}}", + "region": "{{user `region`}}", + "s3_bucket_name": "internet2-ami-import-us-west-1", + "tags": { + "Description": "packer amazon-import-grouper-appliance {{user `timestamper`}}" + } + } + ] +}