builderator 1.0.0.pre.rc.8 → 1.0.0.pre.rc.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3107e46a56b06938100d063863069057d3e41029
4
- data.tar.gz: c3ee1359da52f109a0df1ae5ae10c157495548f6
3
+ metadata.gz: ff5accfec82561d29eafb07b3477a9f739684fd2
4
+ data.tar.gz: ac6c8c3d414ddff108046a84fc5c32e0ac4a10a3
5
5
  SHA512:
6
- metadata.gz: dc7996bbb42485c088b907a5b6d4e4f37a58071eb9a82625890507f80c9fb40ed42e1eadcf9c7f2248e85ed44367f43627df808854e3b4da65de9febdd0dd022
7
- data.tar.gz: 8151b9909f77548a9ed8c338efe27e487edf1dcb23118de4c6644e33fd049d1339caea8d913e8b6b36c89497945de373ce028e146d6888428e5fad1e8b0775a6
6
+ metadata.gz: 8e50ade752fcfa4ae0d80bbb90eb614d9cb52301f614d76efe02239ce3cece1e1413724039e4bdb4c0d11fdef7aec1bdddc8898fb7232c8f88d6a5ca63ec4153
7
+ data.tar.gz: 161932a36e9ac67e57fcfc7ccb682bb44cbebd279be4c467ed5002e7f09ab20f7f706a69ed3c25eb80f342e3b8b5623f48bf6675270cb9e7c7d77cf0c3df5ae1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- builderator (1.0.0.pre.rc.7)
4
+ builderator (1.0.0.pre.rc.8)
5
5
  aws-sdk (~> 2.0)
6
6
  berkshelf (~> 3.2)
7
7
  chef (~> 12.0)
@@ -16,12 +16,12 @@ GEM
16
16
  ast (2.1.0)
17
17
  astrolabe (1.3.1)
18
18
  parser (~> 2.2)
19
- aws-sdk (2.2.9)
20
- aws-sdk-resources (= 2.2.9)
21
- aws-sdk-core (2.2.9)
19
+ aws-sdk (2.2.16)
20
+ aws-sdk-resources (= 2.2.16)
21
+ aws-sdk-core (2.2.16)
22
22
  jmespath (~> 1.0)
23
- aws-sdk-resources (2.2.9)
24
- aws-sdk-core (= 2.2.9)
23
+ aws-sdk-resources (2.2.16)
24
+ aws-sdk-core (= 2.2.16)
25
25
  berkshelf (3.3.0)
26
26
  addressable (~> 2.3.4)
27
27
  berkshelf-api-client (~> 1.2)
@@ -56,23 +56,22 @@ GEM
56
56
  celluloid-io (0.16.2)
57
57
  celluloid (>= 0.16.0)
58
58
  nio4r (>= 1.1.0)
59
- chef (12.6.0)
60
- chef-config (= 12.6.0)
61
- chef-zero (~> 4.2, >= 4.2.2)
59
+ chef (12.7.2)
60
+ chef-config (= 12.7.2)
61
+ chef-zero (~> 4.5)
62
62
  diff-lcs (~> 1.2, >= 1.2.4)
63
63
  erubis (~> 2.7)
64
64
  ffi-yajl (~> 2.2)
65
65
  highline (~> 1.6, >= 1.6.9)
66
- mixlib-authentication (~> 1.3)
66
+ mixlib-authentication (~> 1.4)
67
67
  mixlib-cli (~> 1.4)
68
68
  mixlib-log (~> 1.3)
69
69
  mixlib-shellout (~> 2.0)
70
- net-ssh (~> 2.6)
70
+ net-ssh (>= 2.9, < 4.0)
71
71
  net-ssh-multi (~> 1.1)
72
72
  ohai (>= 8.6.0.alpha.1, < 9)
73
73
  plist (~> 3.1.0)
74
74
  proxifier (~> 1.0)
75
- pry (~> 0.9)
76
75
  rspec-core (~> 3.4)
77
76
  rspec-expectations (~> 3.4)
78
77
  rspec-mocks (~> 3.4)
@@ -80,18 +79,18 @@ GEM
80
79
  serverspec (~> 2.7)
81
80
  specinfra (~> 2.10)
82
81
  syslog-logger (~> 1.6)
83
- chef-config (12.6.0)
82
+ uuidtools (~> 2.1.5)
83
+ chef-config (12.7.2)
84
84
  mixlib-config (~> 2.0)
85
85
  mixlib-shellout (~> 2.0)
86
- chef-zero (4.4.0)
86
+ chef-zero (4.5.0)
87
87
  ffi-yajl (~> 2.2)
88
88
  hashie (>= 2.0, < 4.0)
89
89
  mixlib-log (~> 1.3)
90
90
  rack
91
91
  uuidtools (~> 2.1)
92
92
  cleanroom (1.0.0)
93
- coderay (1.1.0)
94
- dep-selector-libgecode (1.0.2)
93
+ dep-selector-libgecode (1.1.0)
95
94
  dep_selector (1.0.3)
96
95
  dep-selector-libgecode (~> 1.0)
97
96
  ffi (~> 1.9)
@@ -109,14 +108,16 @@ GEM
109
108
  hitimes (1.2.3)
110
109
  httpclient (2.6.0.1)
111
110
  ignorefile (1.1.0)
112
- ipaddress (0.8.0)
111
+ ipaddress (0.8.2)
113
112
  jmespath (1.1.3)
114
113
  json (1.8.3)
115
114
  libyajl2 (1.2.0)
116
- method_source (0.8.2)
117
115
  minitar (0.5.4)
118
- mixlib-authentication (1.3.0)
116
+ mixlib-authentication (1.4.0)
119
117
  mixlib-log
118
+ rspec-core (~> 3.2)
119
+ rspec-expectations (~> 3.2)
120
+ rspec-mocks (~> 3.2)
120
121
  mixlib-cli (1.5.0)
121
122
  mixlib-config (2.2.1)
122
123
  mixlib-log (1.6.0)
@@ -125,17 +126,17 @@ GEM
125
126
  multipart-post (2.0.0)
126
127
  net-scp (1.2.1)
127
128
  net-ssh (>= 2.6.5)
128
- net-ssh (2.9.2)
129
+ net-ssh (3.0.2)
129
130
  net-ssh-gateway (1.2.0)
130
131
  net-ssh (>= 2.6.5)
131
132
  net-ssh-multi (1.2.1)
132
133
  net-ssh (>= 2.6.5)
133
134
  net-ssh-gateway (>= 1.2.0)
134
135
  net-telnet (0.1.1)
135
- nio4r (1.2.0)
136
+ nio4r (1.2.1)
136
137
  octokit (3.8.0)
137
138
  sawyer (~> 0.6.0, >= 0.5.3)
138
- ohai (8.8.1)
139
+ ohai (8.10.0)
139
140
  chef-config (>= 12.5.0.alpha.1, < 13)
140
141
  ffi (~> 1.9)
141
142
  ffi-yajl (~> 2.2)
@@ -152,15 +153,11 @@ GEM
152
153
  plist (3.1.0)
153
154
  powerpack (0.1.1)
154
155
  proxifier (1.0.3)
155
- pry (0.10.3)
156
- coderay (~> 1.1.0)
157
- method_source (~> 0.8.1)
158
- slop (~> 3.4)
159
156
  rack (1.6.4)
160
157
  rainbow (2.0.0)
161
158
  rake (10.4.2)
162
159
  retryable (2.0.3)
163
- ridley (4.3.0)
160
+ ridley (4.4.2)
164
161
  addressable
165
162
  buff-config (~> 1.0)
166
163
  buff-extensions (~> 1.0)
@@ -168,6 +165,7 @@ GEM
168
165
  buff-shell_out (~> 0.1)
169
166
  celluloid (~> 0.16.0)
170
167
  celluloid-io (~> 0.16.1)
168
+ chef-config
171
169
  erubis
172
170
  faraday (~> 0.9.0)
173
171
  hashie (>= 2.0.2, < 4.0.0)
@@ -176,7 +174,7 @@ GEM
176
174
  mixlib-authentication (>= 1.3.0)
177
175
  retryable (~> 2.0)
178
176
  semverse (~> 1.1)
179
- varia_model (~> 0.4)
177
+ varia_model (~> 0.4.0)
180
178
  rspec (3.4.0)
181
179
  rspec-core (~> 3.4.0)
182
180
  rspec-expectations (~> 3.4.0)
@@ -208,17 +206,16 @@ GEM
208
206
  addressable (~> 2.3.5)
209
207
  faraday (~> 0.8, < 0.10)
210
208
  semverse (1.2.1)
211
- serverspec (2.28.0)
209
+ serverspec (2.29.2)
212
210
  multi_json
213
211
  rspec (~> 3.0)
214
212
  rspec-its
215
213
  specinfra (~> 2.48)
216
214
  sfl (2.2)
217
- slop (3.6.0)
218
215
  solve (1.2.1)
219
216
  dep_selector (~> 1.0)
220
217
  semverse (~> 1.1)
221
- specinfra (2.49.0)
218
+ specinfra (2.51.0)
222
219
  net-scp
223
220
  net-ssh (>= 2.7, < 3.1)
224
221
  net-telnet
@@ -233,7 +230,7 @@ GEM
233
230
  hitimes
234
231
  tins (1.6.0)
235
232
  uuidtools (2.1.5)
236
- varia_model (0.5.0)
233
+ varia_model (0.4.1)
237
234
  buff-extensions (~> 1.0)
238
235
  hashie (>= 2.0.2, < 4.0.0)
239
236
  wmi-lite (1.0.0)
@@ -247,3 +244,6 @@ DEPENDENCIES
247
244
  rspec (~> 3.0)
248
245
  rubocop (~> 0.35)
249
246
  thor-scmversion (= 1.7.0)
247
+
248
+ BUNDLED WITH
249
+ 1.10.5
data/README.md CHANGED
@@ -4,6 +4,8 @@ Orchestration and configuration of the code development life-cycle.
4
4
 
5
5
  ## Commands
6
6
 
7
+ Run `build help` for a complete enumeration of Builderator's commands.
8
+
7
9
  ### `local [PROFILE = default]`
8
10
 
9
11
  Provision a local VM using Vagrant and, by default, VirtualBox. Uses Berkshelf to fetch cookbooks, and Chef to provision the VM.
@@ -12,9 +14,9 @@ Provision a local VM using Vagrant and, by default, VirtualBox. Uses Berkshelf t
12
14
 
13
15
  Provision an EC2 VM using Vagrant. Same workflow as `local` using the `vagrant-aws` plugin.
14
16
 
15
- ### `release [PROFILE = default]`
17
+ ### `image [PROFILE = default]`
16
18
 
17
- Perform release tasks and execute Packer builds with released artifacts.
19
+ Use [Packer](packer.io) to build an image(s) for the specified profile.
18
20
 
19
21
  ## Configuration
20
22
 
@@ -35,9 +37,17 @@ Builderator integrates with other tools, including [Berkshelf](http://berkshelf.
35
37
 
36
38
  ### Packer
37
39
 
38
- The Packer integration generates Packer JSON and passes it to STDIN of `packer build -`.
40
+ The Packer integration generates a Packer JSON configuration and passes it to STDIN of `packer build -`.
41
+
42
+ ### Vagrant
43
+
44
+ Builderator shells out to Vagrant to provision VMs on demand. Run
45
+
46
+ ```sh
47
+ build vagrant plugins
48
+ ```
39
49
 
40
- *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`
50
+ to install required plugins for Builderator.
41
51
 
42
52
  ## Versioning
43
53
 
@@ -82,3 +92,27 @@ end
82
92
  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.
83
93
 
84
94
  By default, the `generator` subcommand includes a `default` project which removes Vagrant, Berkshelf, and Packer configurations.
95
+
96
+ ## Utilities
97
+
98
+ Builderator includes two utilities to search for and clean up EC2 resources.
99
+
100
+ ### `build-clean`
101
+
102
+ The `build-clean` command prunes old EC2 resources in a region. The cleaner utility has [configurable](docs/configuration.md#namespace-cleaner) limits. For complete usage, run `build-clean help`.
103
+
104
+ ### `build-data`
105
+
106
+ The `build-data` utility is a command line interface for Builderator's internal resource lookup API. It has a limited query interface that allows filters to be constructed from a trailing list of argument:
107
+
108
+ ```sh
109
+ build-data image architecture x86_64 virtualization-type hvm ...
110
+ ```
111
+
112
+ Pre-defined filters can also be applied with the `-f FILTER` flag. These currently include
113
+
114
+ * `ubuntu-14.04-daily`
115
+ * `windows-server2012-r2`
116
+ * `windows-server2012-r2-core`
117
+
118
+ Run `build-data help` for a complete listing of commands and arguments.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0-rc.8
1
+ 1.0.0-rc.9
@@ -98,13 +98,6 @@ module Builderator
98
98
  end
99
99
  end
100
100
 
101
- desc 'rebuild ARGS', 'Destroy and recreate Vagrant VM(s)'
102
- method_option :force, :aliases => :f, :type => :boolean, :default => true
103
- def rebuild(profile = :default, *args)
104
- destroy(profile, *args)
105
- up(profile, *args)
106
- end
107
-
108
101
  desc 'clean', 'Destroy VMs and clean up local files'
109
102
  method_option :force, :aliases => :f, :type => :boolean, :default => true
110
103
  def clean(profile = :default)
@@ -10,7 +10,9 @@ Vagrant.configure('2') do |config|
10
10
  local.cpus = <%= profile.current.vagrant.local.cpus %>
11
11
 
12
12
  override.vm.box = '<%= profile.current.vagrant.local.box %>'
13
+ <% if profile.current.vagrant.local.has?(:box_url) -%>
13
14
  override.vm.box_url = '<%= profile.current.vagrant.local.box_url %>'
15
+ <% end -%>
14
16
  end
15
17
 
16
18
  ## EC2 Provider
@@ -68,8 +70,14 @@ Vagrant.configure('2') do |config|
68
70
  <% unless profile.current.chef.environment.nil? -%>
69
71
  chef.environment = '<%= profile.current.chef.environment %>'
70
72
  <% end -%>
71
- <% unless profile.current.chef.node_attrs.nil? -%>
73
+
74
+ <% if profile.current.chef.node_attrs.nil? -%>
75
+ chef.json = {}
76
+ <% else -%>
72
77
  chef.json = <%= profile.current.chef.node_attrs %>
73
78
  <% end -%>
79
+
80
+ ## Tell Chef that this is a Vagrant build
81
+ chef.json[:vagrant] = true
74
82
  end
75
83
  end
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: 1.0.0.pre.rc.8
4
+ version: 1.0.0.pre.rc.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Manero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-20 00:00:00.000000000 Z
11
+ date: 2016-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -271,4 +271,3 @@ test_files:
271
271
  - spec/resource/Buildfile
272
272
  - spec/spec_helper.rb
273
273
  - spec/version_spec.rb
274
- has_rdoc: