bitswarmbox 1.0.0.pre16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +70 -0
  3. data/.idea/.rakeTasks +7 -0
  4. data/.idea/compiler.xml +22 -0
  5. data/.idea/composerJson.xml +9 -0
  6. data/.idea/copyright/profiles_settings.xml +3 -0
  7. data/.idea/misc.xml +23 -0
  8. data/.idea/modules.xml +8 -0
  9. data/.ruby-version +1 -0
  10. data/.travis.yml +3 -0
  11. data/Gemfile +3 -0
  12. data/LICENSE +21 -0
  13. data/README.md +67 -0
  14. data/Rakefile +34 -0
  15. data/Vagrantfile +116 -0
  16. data/bin/bitswarmbox +6 -0
  17. data/bitswarmbox.gemspec +48 -0
  18. data/bitswarmbox.iml +51 -0
  19. data/builders/aws/build-all.sh +17 -0
  20. data/builders/aws/debian/build-base-jessie64.sh +11 -0
  21. data/builders/aws/debian/build-base-wheezy64.sh +11 -0
  22. data/builders/aws/debian/build-puppetmaster-jessie64.sh +11 -0
  23. data/builders/aws/ubuntu/build-base-precise64.sh +11 -0
  24. data/builders/aws/ubuntu/build-base-trusty64.sh +11 -0
  25. data/builders/aws/ubuntu/build-base-wily64.sh +11 -0
  26. data/builders/aws/ubuntu/build-base-xenial64.sh +11 -0
  27. data/builders/aws/ubuntu/build-puppetmaster-trusty64.sh +11 -0
  28. data/builders/aws/ubuntu/build-puppetmaster-xenial64.sh +11 -0
  29. data/builders/vagrant/build-all.sh +18 -0
  30. data/builders/vagrant/debian/build-base-jessie64.sh +9 -0
  31. data/builders/vagrant/debian/build-base-wheezy64.sh +9 -0
  32. data/builders/vagrant/debian/build-puppetmaster-jessie64.sh +9 -0
  33. data/builders/vagrant/ubuntu/build-base-precise64.sh +9 -0
  34. data/builders/vagrant/ubuntu/build-base-trusty64.sh +9 -0
  35. data/builders/vagrant/ubuntu/build-base-wily64.sh +9 -0
  36. data/builders/vagrant/ubuntu/build-base-xenial64.sh +9 -0
  37. data/builders/vagrant/ubuntu/build-puppetmaster-trusty64.sh +17 -0
  38. data/builders/vagrant/ubuntu/build-puppetmaster-xenial64.sh +17 -0
  39. data/features/boxes.feature +8 -0
  40. data/features/build.feature +16 -0
  41. data/features/env.feature +18 -0
  42. data/features/support/env.rb +1 -0
  43. data/lib/bitswarmbox/builder.rb +181 -0
  44. data/lib/bitswarmbox/command/build/aws.rb +90 -0
  45. data/lib/bitswarmbox/command/build/vagrant.rb +78 -0
  46. data/lib/bitswarmbox/command/build.rb +42 -0
  47. data/lib/bitswarmbox/command/env.rb +50 -0
  48. data/lib/bitswarmbox/command.rb +15 -0
  49. data/lib/bitswarmbox/config.rb +87 -0
  50. data/lib/bitswarmbox/environment.rb +128 -0
  51. data/lib/bitswarmbox/errors.rb +19 -0
  52. data/lib/bitswarmbox/subprocess.rb +39 -0
  53. data/lib/bitswarmbox/template.rb +50 -0
  54. data/lib/bitswarmbox/version.rb +4 -0
  55. data/lib/bitswarmbox.rb +29 -0
  56. data/lib/boxes.rb +29 -0
  57. data/puppet/Puppetfile +58 -0
  58. data/puppet/environments/aws/manifests/base.pp +3 -0
  59. data/puppet/environments/vagrant/environment.conf +1 -0
  60. data/puppet/environments/vagrant/manifests/base.pp +3 -0
  61. data/puppet/hiera.yaml +15 -0
  62. data/puppet/hieradata/aws.yaml +11 -0
  63. data/puppet/hieradata/common.yaml +9 -0
  64. data/puppet/hieradata/debian.yaml +6 -0
  65. data/puppet/hieradata/puppetmaster.yaml +7 -0
  66. data/puppet/hieradata/ubuntu.yaml +3 -0
  67. data/puppet/hieradata/vagrant.yaml +3 -0
  68. data/puppet/hieradata/vsphere.yaml +3 -0
  69. data/puppet/manifests/r10k_bootstrap.pp +37 -0
  70. data/puppet/modules/packer/manifests/aws/cloudinit.pp +20 -0
  71. data/puppet/modules/packer/manifests/aws/networking/params.pp +46 -0
  72. data/puppet/modules/packer/manifests/aws/networking.pp +23 -0
  73. data/puppet/modules/packer/manifests/aws/sshd.pp +10 -0
  74. data/puppet/modules/packer/manifests/aws/users.pp +26 -0
  75. data/puppet/modules/packer/manifests/aws.pp +7 -0
  76. data/puppet/modules/packer/manifests/clock.pp +10 -0
  77. data/puppet/modules/packer/manifests/updates.pp +27 -0
  78. data/puppet/modules/packer/manifests/vagrant/params.pp +14 -0
  79. data/puppet/modules/packer/manifests/vagrant.pp +63 -0
  80. data/puppet/modules/packer/manifests/vmtools/params.pp +35 -0
  81. data/puppet/modules/packer/manifests/vmtools.pp +52 -0
  82. data/puppet/modules/packer/manifests/vsphere/fw.pp +9 -0
  83. data/puppet/modules/packer/manifests/vsphere/networking.pp +29 -0
  84. data/puppet/modules/packer/manifests/vsphere/params.pp +56 -0
  85. data/puppet/modules/packer/manifests/vsphere/repos.pp +87 -0
  86. data/puppet/modules/packer/manifests/vsphere.pp +45 -0
  87. data/puppet/modules/packer/templates/ec2/ubuntu-cloud-cfg.erb +111 -0
  88. data/puppet/modules/packer/templates/vsphere/debian.rb.erb +45 -0
  89. data/puppet/modules/packer/templates/vsphere/rc.local +5 -0
  90. data/puppet/modules/packer/templates/vsphere/redhat.rb.erb +66 -0
  91. data/puppet/modules/packer/templates/vsphere/ubuntu.rb.erb +50 -0
  92. data/scripts/ansible.sh +17 -0
  93. data/scripts/chef.sh +30 -0
  94. data/scripts/cleanup-aws.sh +6 -0
  95. data/scripts/cleanup-vagrant.sh +26 -0
  96. data/scripts/cleanup.sh +48 -0
  97. data/scripts/docker.sh +23 -0
  98. data/scripts/local-ssh-keygen.sh +16 -0
  99. data/scripts/prepare-done.sh +3 -0
  100. data/scripts/prepare.sh +32 -0
  101. data/scripts/puppet.sh +31 -0
  102. data/scripts/puppetserver-post.sh +8 -0
  103. data/scripts/puppetserver.sh +44 -0
  104. data/scripts/ruby.sh +42 -0
  105. data/scripts/vagrant.sh +42 -0
  106. data/scripts/vmtools.sh +37 -0
  107. data/spec/boxes/builder_spec.rb +52 -0
  108. data/spec/boxes/config_spec.rb +142 -0
  109. data/spec/boxes/environment_spec.rb +73 -0
  110. data/spec/boxes/subprocess_spec.rb +35 -0
  111. data/spec/boxes/template_spec.rb +53 -0
  112. data/spec/spec_helper.rb +5 -0
  113. data/spec/support/subprocess_command.rb +7 -0
  114. data/templates/debian/jessie64.erb +206 -0
  115. data/templates/debian/preseed.cfg +70 -0
  116. data/templates/debian/wheezy64.erb +206 -0
  117. data/templates/ubuntu/precise64.erb +205 -0
  118. data/templates/ubuntu/preseed.cfg +61 -0
  119. data/templates/ubuntu/trusty64.erb +205 -0
  120. data/templates/ubuntu/wily64.erb +209 -0
  121. data/templates/ubuntu/xenial64.erb +209 -0
  122. metadata +349 -0
@@ -0,0 +1,209 @@
1
+ {
2
+ "variables": {
3
+ "name": "<%= @name || '{{ .Name }}' %>",
4
+ "created_by": "<%= @app_creator || ENV['USER'] %>",
5
+ "project": "<%= @app_project %>",
6
+ "version": "<%= @app_version %>",
7
+ <%- if @provisioner == "aws" -%>
8
+ "ami_name": "<%= @name %>-<%= @app_version %>-{{isotime \"200601021504\"}}",
9
+ "ami_description": "<%= @description %> <%= @app_version %> {{isotime \"2006-01-02@15:04\"}}",
10
+ "aws_access_key": "<%= @aws_access_key %>",
11
+ "aws_secret_key": "<%= @aws_secret_key %>",
12
+ "aws_region": "<%= @aws_region %>",
13
+ "source_ami": "<%= @aws_source_ami %>",
14
+ "user_data": "<%= @aws_user_data %>",
15
+ <%- end -%>
16
+ "provisioner": "<%= @provisioner %>"
17
+ },
18
+
19
+ "provisioners": [
20
+ <%- if @puppetserver -%>
21
+ {
22
+ "type": "shell-local",
23
+ "command": "scripts/local-ssh-keygen.sh"
24
+ },
25
+ {
26
+ "type": "file",
27
+ "source": "keys",
28
+ "destination": "/tmp"
29
+ },
30
+ <%- end -%>
31
+ {
32
+ "type": "shell",
33
+ "environment_vars": [
34
+ "PACKER_PROVISIONER=<%= @provisioner %>"
35
+ ],
36
+ "scripts": [
37
+ "scripts/prepare.sh",
38
+ <%- if @provisioner == "vagrant" -%>
39
+ "scripts/vagrant.sh",
40
+ "scripts/vmtools.sh",
41
+ <%- end -%>
42
+ <%- if @puppetserver -%>
43
+ "scripts/puppetserver.sh",
44
+ <%- elsif @puppet -%>
45
+ "scripts/puppet.sh",
46
+ <%- end -%>
47
+ <%- if @chef -%>
48
+ "scripts/chef.sh",
49
+ <%- end -%>
50
+ <%- if @ansible -%>
51
+ "scripts/ansible.sh",
52
+ <%- end -%>
53
+ <%- if @docker -%>
54
+ "scripts/docker.sh",
55
+ <%- end -%>
56
+ <%- @scripts.each do |script| -%>
57
+ "scripts/<%= script %>",
58
+ <%- end -%>
59
+ "scripts/prepare-done.sh"
60
+ ],
61
+ "execute_command": "<%= @shell_exec_cmd %>"
62
+ },
63
+ <%- if @bootstrap -%>
64
+ {
65
+ "type": "file",
66
+ "source": "puppet/hieradata",
67
+ "destination": "/tmp"
68
+ },
69
+ {
70
+ "type": "file",
71
+ "source": "puppet/Puppetfile",
72
+ "destination": "/tmp/Puppetfile"
73
+ },
74
+ {
75
+ "type": "puppet-masterless",
76
+ "facter": {
77
+ "provisioner": "{{user `provisioner`}}",
78
+ "app_project": "{{user `project`}}",
79
+ "app_creator": "{{user `created_by`}}",
80
+ "app_version": "{{user `version`}}"
81
+ },
82
+ "manifest_file": "puppet/manifests/r10k_bootstrap.pp",
83
+ "extra_arguments": [
84
+ "--show_diff --verbose"
85
+ ],
86
+ "hiera_config_path": "puppet/hiera.yaml"
87
+ },
88
+ {
89
+ "type": "puppet-masterless",
90
+ "facter": {
91
+ "provisioner": "{{user `provisioner`}}",
92
+ "puppetversion": "4.0",
93
+ "app_project": "{{user `project`}}",
94
+ "app_creator": "{{user `created_by`}}",
95
+ "app_version": "{{user `version`}}"
96
+ },
97
+ "manifest_file": "puppet/environments/<%= @provisioner %>/manifests/base.pp",
98
+ "module_paths": [
99
+ "puppet/modules"
100
+ ],
101
+ "extra_arguments": [
102
+ "--show_diff --verbose"
103
+ ],
104
+ "hiera_config_path": "puppet/hiera.yaml",
105
+ "execute_command": "cd {{.WorkingDir}} && {{.FacterVars}}{{if .Sudo}} sudo -E {{end}}puppet apply --verbose --modulepath='{{.ModulePath}}:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules' {{if ne .HieraConfigPath \"\"}}--hiera_config='{{.HieraConfigPath}}' {{end}} {{if ne .ManifestDir \"\"}}--manifestdir='{{.ManifestDir}}' {{end}} --detailed-exitcodes {{.ManifestFile}}"
106
+ },
107
+ <%- end -%>
108
+ <%- if @puppetserver -%>
109
+ {
110
+ "type": "shell",
111
+ "scripts": [
112
+ "scripts/puppetserver-post.sh"
113
+ ],
114
+ "execute_command": "<%= @shell_exec_cmd %>"
115
+ },
116
+ <%- end -%>
117
+ {
118
+ "type": "shell",
119
+ "scripts": [
120
+ "scripts/cleanup.sh",
121
+ "scripts/cleanup-<%= @provisioner %>.sh"
122
+ ],
123
+ "execute_command": "<%= @shell_exec_cmd %>"
124
+ }
125
+ ],
126
+
127
+ "builders": [
128
+ <%- if @provisioner == "aws" -%>
129
+ {
130
+ "type": "amazon-ebs",
131
+ "access_key": "{{user `aws_access_key`}}",
132
+ "secret_key": "{{user `aws_secret_key`}}",
133
+ "region": "{{user `aws_region`}}",
134
+ "source_ami": "{{user `source_ami`}}",
135
+ "instance_type": "c4.large",
136
+ "ssh_username": "ubuntu",
137
+ "ami_description": "{{user `ami_description`}}",
138
+ "ami_name": "{{user `ami_name`}}",
139
+ "ssh_timeout": "10000s",
140
+ "ssh_pty": "true",
141
+ "user_data": "{{user `user_data`}}",
142
+ "run_tags": {
143
+ "created_by": "{{user `created_by`}}",
144
+ "project": "{{user `project`}}"
145
+ },
146
+ "tags": {
147
+ "created_by": "{{user `created_by`}}",
148
+ "project": "{{user `project`}}"
149
+ }
150
+ }
151
+ <%- elsif @provisioner == "vagrant" -%>
152
+ {
153
+ "name": "<%= @name %>",
154
+ "type": "<%= @provider %>-iso",
155
+ <%- if @provider == "vmware" -%>
156
+ "guest_os_type": "ubuntu-64",
157
+ "tools_upload_flavor": "linux",
158
+ <%- else -%>
159
+ "guest_os_type": "Ubuntu_64",
160
+ <%- end -%>
161
+ "headless": true,
162
+
163
+ "iso_url": "http://releases.ubuntu.com/wily/ubuntu-15.10-server-amd64.iso",
164
+ "iso_checksum": "86aa35a986eba6e5ad30e3d486d57efe6803ae7ea4859b0216953e9e62871131",
165
+ "iso_checksum_type": "sha256",
166
+
167
+ "ssh_username": "vagrant",
168
+ "ssh_password": "vagrant",
169
+ "ssh_timeout": "15m",
170
+
171
+ "http_directory": "templates/ubuntu",
172
+
173
+ "boot_command": [
174
+ "<enter><wait><f6><esc><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
175
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
176
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
177
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
178
+ "/install/vmlinuz noapic ",
179
+ "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
180
+ "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
181
+ "hostname={{ .Name }} ",
182
+ "fb=false debconf/frontend=noninteractive ",
183
+ "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
184
+ "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
185
+ "grub-installer/bootdev=/dev/sda ",
186
+ "initrd=/install/initrd.gz -- <enter>"
187
+ ],
188
+
189
+ <%- if @provider == "virtualbox" -%>
190
+ "vboxmanage": [
191
+ [ "modifyvm", "{{.Name}}", "--memory", "2048" ],
192
+ [ "modifyvm", "{{.Name}}", "--cpus", "2" ]
193
+ ],
194
+ <%- end -%>
195
+
196
+ "shutdown_command": "echo 'shutdown -P now' > shutdown.sh; echo 'vagrant'|sudo -S sh 'shutdown.sh'"
197
+ }
198
+ <%- end -%>
199
+ ],
200
+
201
+ "post-processors": [
202
+ <%- if @provisioner == "vagrant" -%>
203
+ {
204
+ "type": "vagrant",
205
+ "output": "<%= @name || '{{build_name}}' %>_<%= @app_version %>-{{isotime \"200601021504\"}}.box"
206
+ }
207
+ <%- end -%>
208
+ ]
209
+ }
@@ -0,0 +1,209 @@
1
+ {
2
+ "variables": {
3
+ "name": "<%= @name || '{{ .Name }}' %>",
4
+ "created_by": "<%= @app_creator || ENV['USER'] %>",
5
+ "project": "<%= @app_project %>",
6
+ "version": "<%= @app_version %>",
7
+ <%- if @provisioner == "aws" -%>
8
+ "ami_name": "<%= @name %>-<%= @app_version %>-{{isotime \"200601021504\"}}",
9
+ "ami_description": "<%= @description %> <%= @app_version %> {{isotime \"2006-01-02@15:04\"}}",
10
+ "aws_access_key": "<%= @aws_access_key %>",
11
+ "aws_secret_key": "<%= @aws_secret_key %>",
12
+ "aws_region": "<%= @aws_region %>",
13
+ "source_ami": "<%= @aws_source_ami %>",
14
+ "user_data": "<%= @aws_user_data %>",
15
+ <%- end -%>
16
+ "provisioner": "<%= @provisioner %>"
17
+ },
18
+
19
+ "provisioners": [
20
+ <%- if @puppetserver -%>
21
+ {
22
+ "type": "shell-local",
23
+ "command": "scripts/local-ssh-keygen.sh"
24
+ },
25
+ {
26
+ "type": "file",
27
+ "source": "keys",
28
+ "destination": "/tmp"
29
+ },
30
+ <%- end -%>
31
+ {
32
+ "type": "shell",
33
+ "environment_vars": [
34
+ "PACKER_PROVISIONER=<%= @provisioner %>"
35
+ ],
36
+ "scripts": [
37
+ "scripts/prepare.sh",
38
+ <%- if @provisioner == "vagrant" -%>
39
+ "scripts/vagrant.sh",
40
+ "scripts/vmtools.sh",
41
+ <%- end -%>
42
+ <%- if @puppetserver -%>
43
+ "scripts/puppetserver.sh",
44
+ <%- elsif @puppet -%>
45
+ "scripts/puppet.sh",
46
+ <%- end -%>
47
+ <%- if @chef -%>
48
+ "scripts/chef.sh",
49
+ <%- end -%>
50
+ <%- if @ansible -%>
51
+ "scripts/ansible.sh",
52
+ <%- end -%>
53
+ <%- if @docker -%>
54
+ "scripts/docker.sh",
55
+ <%- end -%>
56
+ <%- @scripts.each do |script| -%>
57
+ "scripts/<%= script %>",
58
+ <%- end -%>
59
+ "scripts/prepare-done.sh"
60
+ ],
61
+ "execute_command": "<%= @shell_exec_cmd %>"
62
+ },
63
+ <%- if @bootstrap -%>
64
+ {
65
+ "type": "file",
66
+ "source": "puppet/hieradata",
67
+ "destination": "/tmp"
68
+ },
69
+ {
70
+ "type": "file",
71
+ "source": "puppet/Puppetfile",
72
+ "destination": "/tmp/Puppetfile"
73
+ },
74
+ {
75
+ "type": "puppet-masterless",
76
+ "facter": {
77
+ "provisioner": "{{user `provisioner`}}",
78
+ "app_project": "{{user `project`}}",
79
+ "app_creator": "{{user `created_by`}}",
80
+ "app_version": "{{user `version`}}"
81
+ },
82
+ "manifest_file": "puppet/manifests/r10k_bootstrap.pp",
83
+ "extra_arguments": [
84
+ "--show_diff --verbose"
85
+ ],
86
+ "hiera_config_path": "puppet/hiera.yaml"
87
+ },
88
+ {
89
+ "type": "puppet-masterless",
90
+ "facter": {
91
+ "provisioner": "{{user `provisioner`}}",
92
+ "puppetversion": "4.0",
93
+ "app_project": "{{user `project`}}",
94
+ "app_creator": "{{user `created_by`}}",
95
+ "app_version": "{{user `version`}}"
96
+ },
97
+ "manifest_file": "puppet/environments/<%= @provisioner %>/manifests/base.pp",
98
+ "module_paths": [
99
+ "puppet/modules"
100
+ ],
101
+ "extra_arguments": [
102
+ "--show_diff --verbose"
103
+ ],
104
+ "hiera_config_path": "puppet/hiera.yaml",
105
+ "execute_command": "cd {{.WorkingDir}} && {{.FacterVars}}{{if .Sudo}} sudo -E {{end}}puppet apply --verbose --modulepath='{{.ModulePath}}:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules' {{if ne .HieraConfigPath \"\"}}--hiera_config='{{.HieraConfigPath}}' {{end}} {{if ne .ManifestDir \"\"}}--manifestdir='{{.ManifestDir}}' {{end}} --detailed-exitcodes {{.ManifestFile}}"
106
+ },
107
+ <%- end -%>
108
+ <%- if @puppetserver -%>
109
+ {
110
+ "type": "shell",
111
+ "scripts": [
112
+ "scripts/puppetserver-post.sh"
113
+ ],
114
+ "execute_command": "<%= @shell_exec_cmd %>"
115
+ },
116
+ <%- end -%>
117
+ {
118
+ "type": "shell",
119
+ "scripts": [
120
+ "scripts/cleanup.sh",
121
+ "scripts/cleanup-<%= @provisioner %>.sh"
122
+ ],
123
+ "execute_command": "<%= @shell_exec_cmd %>"
124
+ }
125
+ ],
126
+
127
+ "builders": [
128
+ <%- if @provisioner == "aws" -%>
129
+ {
130
+ "type": "amazon-ebs",
131
+ "access_key": "{{user `aws_access_key`}}",
132
+ "secret_key": "{{user `aws_secret_key`}}",
133
+ "region": "{{user `aws_region`}}",
134
+ "source_ami": "{{user `source_ami`}}",
135
+ "instance_type": "c4.large",
136
+ "ssh_username": "ubuntu",
137
+ "ami_description": "{{user `ami_description`}}",
138
+ "ami_name": "{{user `ami_name`}}",
139
+ "ssh_timeout": "10000s",
140
+ "ssh_pty": "true",
141
+ "user_data": "{{user `user_data`}}",
142
+ "run_tags": {
143
+ "created_by": "{{user `created_by`}}",
144
+ "project": "{{user `project`}}"
145
+ },
146
+ "tags": {
147
+ "created_by": "{{user `created_by`}}",
148
+ "project": "{{user `project`}}"
149
+ }
150
+ }
151
+ <%- elsif @provisioner == "vagrant" -%>
152
+ {
153
+ "name": "<%= @name %>",
154
+ "type": "<%= @provider %>-iso",
155
+ <%- if @provider == "vmware" -%>
156
+ "guest_os_type": "ubuntu-64",
157
+ "tools_upload_flavor": "linux",
158
+ <%- else -%>
159
+ "guest_os_type": "Ubuntu_64",
160
+ <%- end -%>
161
+ "headless": true,
162
+
163
+ "iso_url": "http://releases.ubuntu.com/xenial/ubuntu-16.04-server-amd64.iso",
164
+ "iso_checksum": "b8b172cbdf04f5ff8adc8c2c1b4007ccf66f00fc6a324a6da6eba67de71746f6",
165
+ "iso_checksum_type": "sha256",
166
+
167
+ "ssh_username": "vagrant",
168
+ "ssh_password": "vagrant",
169
+ "ssh_timeout": "15m",
170
+
171
+ "http_directory": "templates/ubuntu",
172
+
173
+ "boot_command": [
174
+ "<enter><wait><f6><esc><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
175
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
176
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
177
+ "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
178
+ "/install/vmlinuz noapic ",
179
+ "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
180
+ "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
181
+ "hostname={{ .Name }} ",
182
+ "fb=false debconf/frontend=noninteractive ",
183
+ "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
184
+ "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
185
+ "grub-installer/bootdev=/dev/sda ",
186
+ "initrd=/install/initrd.gz -- <enter>"
187
+ ],
188
+
189
+ <%- if @provider == "virtualbox" -%>
190
+ "vboxmanage": [
191
+ [ "modifyvm", "{{.Name}}", "--memory", "2048" ],
192
+ [ "modifyvm", "{{.Name}}", "--cpus", "2" ]
193
+ ],
194
+ <%- end -%>
195
+
196
+ "shutdown_command": "echo 'shutdown -P now' > shutdown.sh; echo 'vagrant'|sudo -S sh 'shutdown.sh'"
197
+ }
198
+ <%- end -%>
199
+ ],
200
+
201
+ "post-processors": [
202
+ <%- if @provisioner == "vagrant" -%>
203
+ {
204
+ "type": "vagrant",
205
+ "output": "<%= @name || '{{build_name}}' %>_<%= @app_version %>-{{isotime \"200601021504\"}}.box"
206
+ }
207
+ <%- end -%>
208
+ ]
209
+ }