diff --git a/Makefile b/Makefile index 2f16de211..644fcb7ab 100644 --- a/Makefile +++ b/Makefile @@ -45,6 +45,10 @@ dev: deps fmt: go fmt `go list ./... | grep -v vendor` +# Install js-beautify with npm install -g js-beautify +fmt-examples: + find examples -name *.json | xargs js-beautify -r -s 2 -n -eol "\n" + # generate runs `go generate` to build the dynamically generated # source files. generate: deps @@ -78,4 +82,4 @@ vendor: godep restore godep save -.PHONY: bin checkversion ci default deps generate releasebin test testacc testrace updatedeps +.PHONY: bin checkversion ci default deps fmt fmt-examples generate releasebin test testacc testrace updatedeps diff --git a/examples/azure/centos.json b/examples/azure/centos.json new file mode 100644 index 000000000..8b30b065e --- /dev/null +++ b/examples/azure/centos.json @@ -0,0 +1,46 @@ +{ + "variables": { + "client_id": "{{env `AZURE_CLIENT_ID`}}", + "client_secret": "{{env `AZURE_CLIENT_SECRET`}}", + "resource_group": "{{env `AZURE_RESOURCE_GROUP`}}", + "storage_account": "{{env `AZURE_STORAGE_ACCOUNT`}}", + "subscription_id": "{{env `AZURE_SUBSCRIPTION_ID`}}", + "tenant_id": "{{env `AZURE_TENANT_ID`}}", + "ssh_user": "centos", + "ssh_pass": null + }, + "builders": [{ + "type": "azure-arm", + + "client_id": "{{user `cid`}}", + "client_secret": "{{user `cst`}}", + "subscription_id": "{{user `sid`}}", + "tenant_id": "{{user `tid`}}", + "resource_group_name": "{{user `rgn`}}", + "storage_account": "{{user `sa`}}", + + "capture_container_name": "images", + "capture_name_prefix": "packer", + + "ssh_username": "{{user `ssh_user`}}", + "ssh_password": "{{user `ssh_pass`}}", + + "image_publisher": "OpenLogic", + "image_offer": "CentOS", + "image_sku": "7.1", + "ssh_pty": "true", + + "location": "South Central US", + "vm_size": "Standard_A2" + }], + "provisioners": [{ + "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -S -E sh '{{ .Path }}'", + "inline": [ + "yum update -y", + "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync" + ], + "inline_shebang": "/bin/sh -x", + "type": "shell", + "skip_clean": true + }] +} diff --git a/examples/azure/debian.json b/examples/azure/debian.json new file mode 100644 index 000000000..5d4b7e1fe --- /dev/null +++ b/examples/azure/debian.json @@ -0,0 +1,47 @@ +{ + "variables": { + "client_id": "{{env `AZURE_CLIENT_ID`}}", + "client_secret": "{{env `AZURE_CLIENT_SECRET`}}", + "resource_group": "{{env `AZURE_RESOURCE_GROUP`}}", + "storage_account": "{{env `AZURE_STORAGE_ACCOUNT`}}", + "subscription_id": "{{env `AZURE_SUBSCRIPTION_ID`}}", + "tenant_id": "{{env `AZURE_TENANT_ID`}}", + "ssh_user": "packer", + "ssh_pass": null + }, + "builders": [{ + "type": "azure-arm", + + "client_id": "{{user `cid`}}", + "client_secret": "{{user `cst`}}", + "subscription_id": "{{user `sid`}}", + "tenant_id": "{{user `tid`}}", + "resource_group_name": "{{user `rgn`}}", + "storage_account": "{{user `sa`}}", + + "capture_container_name": "images", + "capture_name_prefix": "packer", + + "ssh_username": "{{user `ssh_user`}}", + "ssh_password": "{{user `ssh_pass`}}", + + "image_publisher": "credativ", + "image_offer": "Debian", + "image_sku": "8", + "ssh_pty": "true", + + "location": "South Central US", + "vm_size": "Standard_A2" + }], + "provisioners": [{ + "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -S -E sh '{{ .Path }}'", + "inline": [ + "apt-get update", + "apt-get upgrade -y", + + "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync" + ], + "inline_shebang": "/bin/sh -x", + "type": "shell" + }] +} diff --git a/examples/azure/opensuse.json b/examples/azure/opensuse.json new file mode 100644 index 000000000..cd8d9f350 --- /dev/null +++ b/examples/azure/opensuse.json @@ -0,0 +1,46 @@ +{ + "variables": { + "client_id": "{{env `AZURE_CLIENT_ID`}}", + "client_secret": "{{env `AZURE_CLIENT_SECRET`}}", + "resource_group": "{{env `AZURE_RESOURCE_GROUP`}}", + "storage_account": "{{env `AZURE_STORAGE_ACCOUNT`}}", + "subscription_id": "{{env `AZURE_SUBSCRIPTION_ID`}}", + "tenant_id": "{{env `AZURE_TENANT_ID`}}", + "ssh_user": "packer", + "ssh_pass": null + }, + "builders": [{ + "type": "azure-arm", + + "client_id": "{{user `cid`}}", + "client_secret": "{{user `cst`}}", + "subscription_id": "{{user `sid`}}", + "tenant_id": "{{user `tid`}}", + "resource_group_name": "{{user `rgn`}}", + "storage_account": "{{user `sa`}}", + + "capture_container_name": "images", + "capture_name_prefix": "packer", + + "ssh_username": "{{user `ssh_user`}}", + "ssh_password": "{{user `ssh_pass`}}", + + "image_publisher": "SUSE", + "image_offer": "openSUSE", + "image_sku": "13.2", + "ssh_pty": "true", + + "location": "South Central US", + "vm_size": "Standard_A2" + }], + "provisioners": [{ + "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -S -E sh '{{ .Path }}'", + "inline": [ + "zypper update -y", + + "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync" + ], + "inline_shebang": "/bin/sh -x", + "type": "shell" + }] +} diff --git a/examples/azure/ubuntu.json b/examples/azure/ubuntu.json new file mode 100644 index 000000000..d341190c3 --- /dev/null +++ b/examples/azure/ubuntu.json @@ -0,0 +1,41 @@ +{ + "variables": { + "client_id": "{{env `AZURE_CLIENT_ID`}}", + "client_secret": "{{env `AZURE_CLIENT_SECRET`}}", + "resource_group": "{{env `AZURE_RESOURCE_GROUP`}}", + "storage_account": "{{env `AZURE_STORAGE_ACCOUNT`}}", + "subscription_id": "{{env `AZURE_SUBSCRIPTION_ID`}}", + "tenant_id": "{{env `AZURE_TENANT_ID`}}" + }, + "builders": [{ + "type": "azure-arm", + + "client_id": "{{user `client_id`}}", + "client_secret": "{{user `client_secret`}}", + "resource_group_name": "{{user `resource_group`}}", + "storage_account": "{{user `storage_account`}}", + "subscription_id": "{{user `subscription_id`}}", + "tenant_id": "{{user `tenant_id`}}", + + "capture_container_name": "images", + "capture_name_prefix": "packer", + + "image_publisher": "Canonical", + "image_offer": "UbuntuServer", + "image_sku": "14.04.3-LTS", + + "location": "West US", + "vm_size": "Standard_A2" + }], + "provisioners": [{ + "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} sudo -E sh '{{ .Path }}'", + "inline": [ + "apt-get update", + "apt-get upgrade -y", + + "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync" + ], + "inline_shebang": "/bin/sh -x", + "type": "shell" + }] +}