builderator 0.3.15 → 1.0.0.pre.rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +440 -0
  4. data/README.md +72 -18
  5. data/Rakefile +1 -2
  6. data/VERSION +1 -1
  7. data/bin/build-clean +102 -0
  8. data/bin/build-data +45 -0
  9. data/builderator.gemspec +7 -4
  10. data/docs/configuration.md +154 -0
  11. data/docs/configuration/cookbook.md +19 -0
  12. data/docs/configuration/profile.md +71 -0
  13. data/docs/versioning.md +65 -0
  14. data/lib/builderator.rb +3 -0
  15. data/lib/builderator/config.rb +93 -0
  16. data/lib/builderator/config/attributes.rb +287 -0
  17. data/lib/builderator/config/defaults.rb +163 -0
  18. data/lib/builderator/config/file.rb +336 -0
  19. data/lib/builderator/config/rash.rb +80 -0
  20. data/lib/builderator/control/cleaner.rb +138 -0
  21. data/lib/builderator/control/cookbook.rb +16 -0
  22. data/lib/builderator/control/data.rb +16 -0
  23. data/lib/builderator/control/data/image.rb +98 -0
  24. data/lib/builderator/control/version.rb +128 -0
  25. data/lib/builderator/control/version/auto.rb +48 -0
  26. data/lib/builderator/control/version/bump.rb +82 -0
  27. data/lib/builderator/control/version/comparable.rb +77 -0
  28. data/lib/builderator/control/version/git.rb +45 -0
  29. data/lib/builderator/control/version/scm.rb +92 -0
  30. data/lib/builderator/interface.rb +67 -0
  31. data/lib/builderator/interface/berkshelf.rb +38 -0
  32. data/lib/builderator/interface/packer.rb +75 -0
  33. data/lib/builderator/interface/vagrant.rb +31 -0
  34. data/lib/builderator/metadata.rb +5 -3
  35. data/lib/builderator/model/cleaner.rb +49 -0
  36. data/lib/builderator/model/cleaner/images.rb +93 -0
  37. data/lib/builderator/model/cleaner/instances.rb +58 -0
  38. data/lib/builderator/model/cleaner/launch_configs.rb +47 -0
  39. data/lib/builderator/model/cleaner/scaling_groups.rb +45 -0
  40. data/lib/builderator/model/cleaner/snapshots.rb +50 -0
  41. data/lib/builderator/model/cleaner/volumes.rb +48 -0
  42. data/lib/builderator/patch/berkshelf.rb +18 -0
  43. data/lib/builderator/patch/thor-actions.rb +47 -0
  44. data/lib/builderator/tasks.rb +127 -17
  45. data/lib/builderator/tasks/berkshelf.rb +63 -0
  46. data/lib/builderator/tasks/packer.rb +17 -56
  47. data/lib/builderator/tasks/vagrant.rb +111 -42
  48. data/lib/builderator/tasks/vendor.rb +94 -0
  49. data/lib/builderator/tasks/version.rb +58 -0
  50. data/lib/builderator/util.rb +37 -11
  51. data/lib/builderator/util/aws_exception.rb +1 -1
  52. data/lib/builderator/util/limit_exception.rb +12 -11
  53. data/lib/builderator/util/task_exception.rb +0 -2
  54. data/mkmf.log +4 -0
  55. data/spec/config_spec.rb +30 -0
  56. data/spec/data/Berksfile +6 -0
  57. data/spec/data/Buildfile +0 -0
  58. data/spec/data/Vagrantfile +0 -0
  59. data/spec/data/history.json +483 -0
  60. data/spec/data/packer.json +0 -0
  61. data/spec/interface_spec.rb +36 -0
  62. data/spec/resource/Buildfile +27 -0
  63. data/spec/spec_helper.rb +90 -0
  64. data/spec/version_spec.rb +282 -0
  65. data/template/Berksfile.erb +10 -0
  66. data/template/Buildfile.erb +28 -0
  67. data/template/Gemfile.erb +16 -0
  68. data/template/README.md.erb +61 -0
  69. data/template/Vagrantfile.erb +75 -0
  70. data/template/gitignore.erb +104 -0
  71. data/{.rubocop.yml → template/rubocop.erb} +0 -0
  72. metadata +203 -56
  73. data/.gitignore +0 -14
  74. data/lib/builderator/control/ami.rb +0 -65
  75. data/lib/builderator/control/clean.rb +0 -130
  76. data/lib/builderator/model.rb +0 -46
  77. data/lib/builderator/model/images.rb +0 -89
  78. data/lib/builderator/model/instances.rb +0 -55
  79. data/lib/builderator/model/launch_configs.rb +0 -46
  80. data/lib/builderator/model/scaling_groups.rb +0 -43
  81. data/lib/builderator/model/snapshots.rb +0 -49
  82. data/lib/builderator/model/volumes.rb +0 -48
  83. data/lib/builderator/tasks/ami.rb +0 -47
  84. data/lib/builderator/tasks/berks.rb +0 -68
  85. data/lib/builderator/tasks/clean.rb +0 -97
  86. data/lib/builderator/util/berkshim.rb +0 -34
  87. data/lib/builderator/util/cookbook.rb +0 -87
  88. data/lib/builderator/util/packer.rb +0 -39
  89. data/lib/builderator/util/shell.rb +0 -44
@@ -0,0 +1,28 @@
1
+ ##
2
+ # Generated by `build generate`
3
+ ##
4
+ build_name '<%= build_name %>'
5
+
6
+ ## Maven tags releases for now
7
+ autoversion.create_tags false
8
+
9
+ cookbook do |cookbook|
10
+ # cookbook.depends 'apt'
11
+ end
12
+
13
+ profile :default do |profile|
14
+ # profile.tags(:service => Config.build_name,
15
+ # :version => Config.version,
16
+ # :created => Config.date.iso8601)
17
+
18
+ profile.chef do |chef|
19
+ # chef.run_list 'apt::default'
20
+ # chef.node_attrs()
21
+ end
22
+
23
+ ## Lookup the latest Ubuntu 14.04 Server (linux-3.13) AMI-ID
24
+ # profile.vagrant.ec2.source_ami =
25
+ # lookup(:image, 'filter' => 'ubuntu-14.04-daily').first.image_id
26
+ # profile.packer.build(:default).source_ami =
27
+ # lookup(:image, 'filter' => 'ubuntu-14.04-daily').first.image_id
28
+ end
@@ -0,0 +1,16 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'builderator', '<%= generator.project.current.builderator.version %>'
4
+
5
+ <% if generator.project.current.vagrant.install -%>
6
+ gem 'vagrant', :github => 'mitchellh/vagrant',
7
+ :tag => '<%= generator.project.current.vagrant.version %>',
8
+ :group => :development
9
+
10
+
11
+ group :plugins do
12
+ <% generator.project.current.vagrant.plugin.each do |pname, plugin| -%>
13
+ gem '<%= pname %>'<% if plugin.has?(:version) %>'<%= plugin.version %>'<% end %>
14
+ <% end -%>
15
+ end
16
+ <% end -%>
@@ -0,0 +1,61 @@
1
+ <%= build_name %>
2
+ =====
3
+
4
+ ## Usage
5
+
6
+ ### Install dependencies
7
+
8
+ 1. If you have not already done so, configure [`rbenv`](https://github.com/rbenv/rbenv#installation)
9
+ and [`ruby-build`](https://github.com/rbenv/ruby-build#installation) on your
10
+ workstation and [install Ruby 2.1.5](https://github.com/rbenv/rbenv#installing-ruby-versions).
11
+ 1. Ensure that a supported version of [bundler](http://bundler.io/) is installed (`">= 1.5.2", "<= 1.10.6"`):
12
+
13
+ ```bash
14
+ gem install bundler -v 1.10.6
15
+ ```
16
+
17
+ 1. Use `bundler` to install application-specific dependencies"
18
+
19
+ ```bash
20
+ bundle install
21
+ ```
22
+
23
+ 1. **Optionally**, add an alias for `build`. In `$HOME/.profile` or `$HOME/bash_profile`
24
+ add the following, then reload your profile:
25
+
26
+ ```bash
27
+ alias build="bundle exec build"
28
+ ```
29
+
30
+ ```bash
31
+ . ~/.profile
32
+ ```
33
+
34
+ **All subsequent examples with a `build` command assume that you've created an alias
35
+ or are prepending `bundle exec` to the command string**
36
+
37
+ ### Start a local Vagrant VM, then SSH into it.
38
+
39
+ ```bash
40
+ build local
41
+ build vagrant ssh
42
+ ```
43
+
44
+ To clean up VMs, run
45
+
46
+ ```bash
47
+ build vagrant destroy
48
+ ```
49
+
50
+ ### Launch an EC2 instance
51
+
52
+ ```bash
53
+ build ec2
54
+ build vagrant ssh
55
+ ```
56
+
57
+ ### Clean up VMs and local generated resources
58
+
59
+ ```bash
60
+ build clean
61
+ ```
@@ -0,0 +1,75 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ Vagrant.configure('2') do |config|
5
+ config.vm.hostname = 'builderator-<%= build_name %>'
6
+
7
+ ## Local Provider
8
+ config.vm.provider '<%= profile.current.vagrant.local.provider %>' do |local, override|
9
+ local.memory = <%= profile.current.vagrant.local.memory %>
10
+ local.cpus = <%= profile.current.vagrant.local.cpus %>
11
+
12
+ override.vm.box = '<%= profile.current.vagrant.local.box %>'
13
+ override.vm.box_url = '<%= profile.current.vagrant.local.box_url %>'
14
+ end
15
+
16
+ ## EC2 Provider
17
+ config.vm.provider '<%= profile.current.vagrant.ec2.provider %>' do |ec2, override|
18
+ override.vm.box = '<%= profile.current.vagrant.ec2.box %>'
19
+ override.vm.box_url = '<%= profile.current.vagrant.ec2.box_url %>'
20
+ override.ssh.username = '<%= profile.current.vagrant.ec2.ssh_username %>'
21
+
22
+ ec2.region = '<%= profile.current.vagrant.ec2.region %>'
23
+ ec2.subnet_id = '<%= profile.current.vagrant.ec2.subnet_id %>'
24
+
25
+ ## VPN Connected VPC
26
+ ec2.associate_public_ip = <%= profile.current.vagrant.ec2.associate_public_ip %>
27
+ ec2.ssh_host_attribute = :<%= profile.current.vagrant.ec2.ssh_host_attribute %>
28
+
29
+ ec2.instance_type = '<%= profile.current.vagrant.ec2.instance_type %>'
30
+ ec2.security_groups = <%= profile.current.vagrant.ec2.security_groups %>
31
+ ec2.iam_instance_profile_arn = '<%= profile.current.vagrant.ec2.iam_instance_profile_arn %>'
32
+
33
+ ec2.ami = '<%= profile.current.vagrant.ec2.source_ami %>'
34
+ end
35
+
36
+ # config.vm.network :forwarded_port, :host => 9200, :guest => 9200
37
+
38
+ ##
39
+ # Use the standard data directory for Chef
40
+ ##
41
+ config.vm.provision :shell,
42
+ :inline => 'mkdir -p <%= chef.staging_directory %>/cache && chown vagrant:vagrant -R <%= chef.staging_directory %>',
43
+ :privileged => true
44
+
45
+ ##
46
+ # Sync build artifacts to the VM
47
+ ##
48
+ <% profile.current.artifact.each do |name, artifact| -%>
49
+ config.vm.provision :file,
50
+ :source => '<%= artifact.path %>',
51
+ :destination => '<%= artifact.destination %>'
52
+ <% end -%>
53
+
54
+ config.omnibus.chef_version = '<%= chef.version %>'
55
+ config.vm.provision :chef_solo do |chef|
56
+ chef.log_level = :<%= chef.log_level %>
57
+
58
+ chef.cookbooks_path = '<%= local.cookbook_path %>'
59
+ <% unless local.data_bag_path.nil? -%>
60
+ chef.data_bags_path = '<%= local.data_bag_path %>'
61
+ <% end -%>
62
+ <% unless local.environment_path.nil? -%>
63
+ chef.environments_path = '<%= local.environment_path %>'
64
+ <% end -%>
65
+ chef.provisioning_path = '<%= chef.staging_directory %>'
66
+
67
+ chef.run_list = <%= profile.current.chef.run_list %>
68
+ <% unless profile.current.chef.environment.nil? -%>
69
+ chef.environment = '<%= profile.current.chef.environment %>'
70
+ <% end -%>
71
+ <% unless profile.current.chef.node_attrs.nil? -%>
72
+ chef.json = <%= profile.current.chef.node_attrs %>
73
+ <% end -%>
74
+ end
75
+ end
@@ -0,0 +1,104 @@
1
+ # Compiled source #
2
+ ###################
3
+ *.com
4
+ *.class
5
+ *.dll
6
+ *.exe
7
+ *.o
8
+ *.so
9
+
10
+ # Packages #
11
+ ############
12
+ # it's better to unpack these files and commit the raw source
13
+ # git has its own built in compression methods
14
+ *.7z
15
+ *.dmg
16
+ *.gz
17
+ *.iso
18
+ *.jar
19
+ *.rar
20
+ *.tar
21
+ *.zip
22
+
23
+ # Logs and databases #
24
+ ######################
25
+ *.log
26
+
27
+ # OS generated files #
28
+ ######################
29
+ .DS_Store*
30
+ ehthumbs.db
31
+ Icon?
32
+ Thumbs.db
33
+
34
+ # Editor Files #
35
+ ################
36
+ *~
37
+ *#
38
+ .#*
39
+ \#*#
40
+ .*.sw[a-z]
41
+ *.un~
42
+ pkg/
43
+
44
+ # Berkshelf
45
+ /cookbooks
46
+ Berksfile.lock
47
+
48
+ # Bundler
49
+ bin/*
50
+ .bundle/*
51
+
52
+ VERSION
53
+ bundle.tar.gz
54
+ metadata.json
55
+ vendor/
56
+ *.swp
57
+
58
+ .vagrant
59
+ .builderator/*
60
+
61
+ # Gradle Files #
62
+ ################
63
+ .gradle
64
+
65
+ # Build output directies
66
+ /target
67
+ */target
68
+ /build
69
+ */build
70
+
71
+ # IntelliJ specific files/directories
72
+ out
73
+ .idea
74
+ *.ipr
75
+ *.iws
76
+ *.iml
77
+ atlassian-ide-plugin.xml
78
+
79
+ # Eclipse specific files/directories
80
+ .classpath
81
+ .checkstyle
82
+ .project
83
+ .settings
84
+ .metadata
85
+ .checkstyle
86
+ */bin
87
+ test-output
88
+
89
+ # NetBeans specific files/directories
90
+ .nbattrs
91
+
92
+ # JavaScript
93
+ /node_modules
94
+ /bower_components
95
+
96
+ # Maven
97
+ /.repostory/
98
+ /test-output/
99
+ /logs/
100
+
101
+ # checkstyle
102
+ .checkstyle
103
+ /logs/
104
+ /bin/
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: builderator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.15
4
+ version: 1.0.0.pre.rc.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Manero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-06 00:00:00.000000000 Z
11
+ date: 2016-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -24,6 +24,48 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '10.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.35'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.35'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor-scmversion
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.7.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 1.7.0
27
69
  - !ruby/object:Gem::Dependency
28
70
  name: aws-sdk
29
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +122,20 @@ dependencies:
80
122
  - - "~>"
81
123
  - !ruby/object:Gem::Version
82
124
  version: '12.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: faraday_middleware
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.10.0
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.10.0
83
139
  - !ruby/object:Gem::Dependency
84
140
  name: ignorefile
85
141
  requirement: !ruby/object:Gem::Requirement
@@ -108,95 +164,175 @@ dependencies:
108
164
  - - "~>"
109
165
  - !ruby/object:Gem::Version
110
166
  version: 0.19.0
111
- - !ruby/object:Gem::Dependency
112
- name: thor-scmversion
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - '='
116
- - !ruby/object:Gem::Version
117
- version: 1.7.0
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - '='
123
- - !ruby/object:Gem::Version
124
- version: 1.7.0
125
167
  description: |
126
168
  # Builderator
127
- __Tools to make CI Packer builds awesome__
128
169
 
129
- ## Installation
170
+ Orchestration and configuration of the code development life-cycle.
130
171
 
131
- Add this line to your application's Gemfile:
172
+ ## Commands
132
173
 
133
- ```ruby
134
- gem 'builderator'
135
- ```
174
+ ### `local [PROFILE = default]`
175
+
176
+ Provision a local VM using Vagrant and, by default, VirtualBox. Uses Berkshelf to fetch cookbooks, and Chef to provision the VM.
177
+
178
+ ### `ec2 [PROFILE = default]`
179
+
180
+ Provision an EC2 VM using Vagrant. Same workflow as `local` using the `vagrant-aws` plugin.
136
181
 
137
- And then execute:
182
+ ### `release [PROFILE = default]`
138
183
 
139
- $ bundle
184
+ Perform release tasks and execute Packer builds with released artifacts.
140
185
 
141
- Or install it yourself as:
186
+ ## Configuration
142
187
 
143
- $ gem install builderator
188
+ Configuration can be loaded from DSL files as well as JSON and command line arguments. By default, Builderator searches in your home directory (`$HOME/.builderator/Buildfile`) and the working directory (`./Builderator`) for DSL files. Configuration sources are layered and flattened into a single DSL in the following order:
144
189
 
145
- ## Usage
190
+ * Global defaults defined in the Builderator sources
191
+ * `Config.defaults` set by plugins, tasks, etc. in code
192
+ * `$HOME/.builderator/Buildfile`
193
+ * `./Buildfile`
194
+ * `Config.overrides` set by plugins, tasks, etc. in code
195
+ * CLI arguments loaded from Thor
146
196
 
147
- Run `bundle exec thor build help`
197
+ [Additional documentation](docs/configuration.md) describes the configuration DSL interface.
148
198
 
149
- ## Contributing
199
+ ## Integrations
150
200
 
151
- 1. Fork it ( https://github.com/[my-github-username]/builderator/fork )
152
- 2. Create your feature branch (`git checkout -b my-new-feature`)
153
- 3. Commit your changes (`git commit -am 'Add some feature'`)
154
- 4. Push to the branch (`git push origin my-new-feature`)
155
- 5. Create a new Pull Request
201
+ Builderator integrates with other tools, including [Berkshelf](http://berkshelf.com), [Vagrant](https://www.vagrantup.com/), and [Packer](https://www.packer.io/), to orchestrate workflows by generating `Berksfile`s, `Vagrantfile`s, and JSON strings for Packer. This means that you can replace all of these files in your project with a single `Buildfile`.
202
+
203
+ ### Packer
204
+
205
+ The Packer integration generates Packer JSON and passes it to STDIN of `packer build -`.
206
+
207
+ *NOTE* Currently, we assume that you're building Ubuntu images, as one of the provisioners is hard-coded to chown the Chef data directories to `ubuntu:ubuntu`
208
+
209
+ ## Versioning
210
+
211
+ Builderator can automatically detect versions from SCM tags, increment the latest version of an SCM branch by a variety of steps, and create new SCM tags for new versions.
212
+
213
+ [Additional documentation](docs/versioning.md) describes CLI commands, configuration, and detailed behavior.
214
+
215
+ ## Generators
216
+
217
+ Builderator includes a task to generate common project trees from configuration definitions and templates.
218
+
219
+ Each type of project is configurable via the project collection in the `generator` namespace:
220
+
221
+ ```ruby
222
+ generator.project :default do |default|
223
+ default.ruby.version '2.1.5'
224
+ default.builderator.version '~> 1.0'
225
+
226
+ default.vagrant do |vagrant|
227
+ vagrant.install false
228
+ vagrant.version 'v1.8.0'
229
+
230
+ vagrant.plugin 'vagrant-aws'
231
+ vagrant.plugin 'vagrant-omnibus'
232
+ end
233
+
234
+ default.resource :berksfile do |berksfile|
235
+ berksfile.path 'Berksfile', 'Berksfile.lock'
236
+ berksfile.action :rm
237
+ end
238
+
239
+ default.resource :buildfile do |buildfile|
240
+ buildfile.path 'Buildfile'
241
+ buildfile.action :create
242
+ buildfile.template 'template/Buildfile.erb'
243
+ end
244
+
245
+ # ...
246
+ end
247
+ ```
248
+
249
+ Valid actions for resources include `:ignore`, `:create` (update only if missing), `:sync` (create or update with prompt), and `:rm`. `:create` and `:sync` actions require a valid template source.
250
+
251
+ By default, the `generator` subcommand includes a `default` project which removes Vagrant, Berkshelf, and Packer configurations.
156
252
  email:
157
253
  - jmanero@rapid7.com
158
254
  executables:
159
255
  - build
256
+ - build-clean
257
+ - build-data
160
258
  extensions: []
161
259
  extra_rdoc_files: []
162
260
  files:
163
- - ".gitignore"
164
- - ".rubocop.yml"
165
261
  - Gemfile
262
+ - Gemfile.lock
166
263
  - LICENSE.txt
167
264
  - README.md
168
265
  - Rakefile
169
266
  - Thorfile
170
267
  - VERSION
171
268
  - bin/build
269
+ - bin/build-clean
270
+ - bin/build-data
172
271
  - builderator.gemspec
173
272
  - docs/clean.md
273
+ - docs/configuration.md
274
+ - docs/configuration/cookbook.md
275
+ - docs/configuration/profile.md
276
+ - docs/versioning.md
174
277
  - lib/builderator.rb
175
- - lib/builderator/control/ami.rb
176
- - lib/builderator/control/clean.rb
278
+ - lib/builderator/config.rb
279
+ - lib/builderator/config/attributes.rb
280
+ - lib/builderator/config/defaults.rb
281
+ - lib/builderator/config/file.rb
282
+ - lib/builderator/config/rash.rb
283
+ - lib/builderator/control/cleaner.rb
284
+ - lib/builderator/control/cookbook.rb
285
+ - lib/builderator/control/data.rb
286
+ - lib/builderator/control/data/image.rb
287
+ - lib/builderator/control/version.rb
288
+ - lib/builderator/control/version/auto.rb
289
+ - lib/builderator/control/version/bump.rb
290
+ - lib/builderator/control/version/comparable.rb
291
+ - lib/builderator/control/version/git.rb
292
+ - lib/builderator/control/version/scm.rb
293
+ - lib/builderator/interface.rb
294
+ - lib/builderator/interface/berkshelf.rb
295
+ - lib/builderator/interface/packer.rb
296
+ - lib/builderator/interface/vagrant.rb
177
297
  - lib/builderator/metadata.rb
178
- - lib/builderator/model.rb
179
- - lib/builderator/model/images.rb
180
- - lib/builderator/model/instances.rb
181
- - lib/builderator/model/launch_configs.rb
182
- - lib/builderator/model/scaling_groups.rb
183
- - lib/builderator/model/snapshots.rb
184
- - lib/builderator/model/volumes.rb
298
+ - lib/builderator/model/cleaner.rb
299
+ - lib/builderator/model/cleaner/images.rb
300
+ - lib/builderator/model/cleaner/instances.rb
301
+ - lib/builderator/model/cleaner/launch_configs.rb
302
+ - lib/builderator/model/cleaner/scaling_groups.rb
303
+ - lib/builderator/model/cleaner/snapshots.rb
304
+ - lib/builderator/model/cleaner/volumes.rb
305
+ - lib/builderator/patch/berkshelf.rb
306
+ - lib/builderator/patch/thor-actions.rb
185
307
  - lib/builderator/tasks.rb
186
- - lib/builderator/tasks/ami.rb
187
- - lib/builderator/tasks/berks.rb
188
- - lib/builderator/tasks/clean.rb
308
+ - lib/builderator/tasks/berkshelf.rb
189
309
  - lib/builderator/tasks/cookbook.rb
190
310
  - lib/builderator/tasks/packer.rb
191
311
  - lib/builderator/tasks/vagrant.rb
312
+ - lib/builderator/tasks/vendor.rb
313
+ - lib/builderator/tasks/version.rb
192
314
  - lib/builderator/util.rb
193
315
  - lib/builderator/util/aws_exception.rb
194
- - lib/builderator/util/berkshim.rb
195
- - lib/builderator/util/cookbook.rb
196
316
  - lib/builderator/util/limit_exception.rb
197
- - lib/builderator/util/packer.rb
198
- - lib/builderator/util/shell.rb
199
317
  - lib/builderator/util/task_exception.rb
318
+ - mkmf.log
319
+ - spec/config_spec.rb
320
+ - spec/data/Berksfile
321
+ - spec/data/Buildfile
322
+ - spec/data/Vagrantfile
323
+ - spec/data/history.json
324
+ - spec/data/packer.json
325
+ - spec/interface_spec.rb
326
+ - spec/resource/Buildfile
327
+ - spec/spec_helper.rb
328
+ - spec/version_spec.rb
329
+ - template/Berksfile.erb
330
+ - template/Buildfile.erb
331
+ - template/Gemfile.erb
332
+ - template/README.md.erb
333
+ - template/Vagrantfile.erb
334
+ - template/gitignore.erb
335
+ - template/rubocop.erb
200
336
  homepage: https://github.com/rapid7/builderator
201
337
  licenses:
202
338
  - MIT
@@ -212,13 +348,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
348
  version: '0'
213
349
  required_rubygems_version: !ruby/object:Gem::Requirement
214
350
  requirements:
215
- - - ">="
351
+ - - ">"
216
352
  - !ruby/object:Gem::Version
217
- version: '0'
353
+ version: 1.3.1
218
354
  requirements: []
219
355
  rubyforge_project:
220
- rubygems_version: 2.4.3
356
+ rubygems_version: 2.4.5
221
357
  signing_key:
222
358
  specification_version: 4
223
359
  summary: Tools to make CI Packer builds awesome
224
- test_files: []
360
+ test_files:
361
+ - spec/config_spec.rb
362
+ - spec/data/Berksfile
363
+ - spec/data/Buildfile
364
+ - spec/data/Vagrantfile
365
+ - spec/data/history.json
366
+ - spec/data/packer.json
367
+ - spec/interface_spec.rb
368
+ - spec/resource/Buildfile
369
+ - spec/spec_helper.rb
370
+ - spec/version_spec.rb
371
+ has_rdoc: