bigrig 0.1.0 → 0.1.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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile +2 -0
  4. data/Gemfile.lock +12 -2
  5. data/lib/bigrig/descriptor.rb +3 -0
  6. data/lib/bigrig/output_parser.rb +46 -7
  7. data/lib/bigrig/version.rb +1 -1
  8. data/spec/bigrig/descriptor_spec.rb +34 -0
  9. data/spec/bigrig/output_parser_spec.rb +22 -0
  10. data/spec/bigrig_spec.rb +9 -1
  11. data/spec/data/adds_volume.json +17 -0
  12. data/spec/data/adds_volumes_from.json +17 -0
  13. data/spec/data/multiple_overrides.json +22 -0
  14. data/spec/support/vcr.rb +7 -2
  15. data/spec/vcr/Bigrig_DestroyAction/_perform/given_json_with_a_single_container/and_the_container_has_exited/should_remove_the_container.yml +46 -46
  16. data/spec/vcr/Bigrig_DestroyAction/_perform/given_json_with_a_single_container/and_the_container_is_running/kills_and_removes_the_container.yml +49 -49
  17. data/spec/vcr/Bigrig_DockerAdapter/_build/builds_the_given_directory.yml +9 -9
  18. data/spec/vcr/Bigrig_DockerAdapter/_build/passes_build_input_to_a_block.yml +4 -4
  19. data/spec/vcr/Bigrig_DockerAdapter/_container_exists_/when_the_container_does_not_exist/is_false.yml +8 -8
  20. data/spec/vcr/Bigrig_DockerAdapter/_container_exists_/when_the_container_exists/is_true.yml +10 -10
  21. data/spec/vcr/Bigrig_DockerAdapter/_image_id_by_tag/when_the_image_does_not_exist/raise_a_ImageNotFoundError.yml +12 -12
  22. data/spec/vcr/Bigrig_DockerAdapter/_image_id_by_tag/when_the_image_exists/returns_the_image_id.yml +12 -12
  23. data/spec/vcr/Bigrig_DockerAdapter/_kill/given_the_container_does_not_exist/should_raise_an_error.yml +8 -8
  24. data/spec/vcr/Bigrig_DockerAdapter/_kill/given_the_container_is_running/should_kill_the_container.yml +22 -22
  25. data/spec/vcr/Bigrig_DockerAdapter/_logs/streams_logs_to_a_block.yml +17 -17
  26. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_a_block_to_capture_output/should_capture_output.yml +4 -4
  27. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_the_repo_does_not_exist/raises_a_RepoNotFoundError.yml +2 -2
  28. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_the_repo_exists/returns_the_image_id.yml +6 -6
  29. data/spec/vcr/Bigrig_DockerAdapter/_push/given_credentials/will_pass_login_and_password.yml +43 -43
  30. data/spec/vcr/Bigrig_DockerAdapter/_push/should_push_the_image.yml +143 -107
  31. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_does_not_exist/raises_a_ContainerNotFoundError.yml +16 -16
  32. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_exists/should_remove_the_container.yml +32 -32
  33. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_is_running/raises_a_ContainerRunningError.yml +10 -10
  34. data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_doesnt_exist/raises_an_error.yml +8 -8
  35. data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_exists/removes_the_image.yml +27 -27
  36. data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name/starts_the_container_with_the_right_name.yml +28 -28
  37. data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name_and_env_variables/starts_the_container_with_env_set.yml +28 -28
  38. data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name_and_ports/starts_the_container_with_ports_exposed.yml +32 -32
  39. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_does_not_exist/returns_false.yml +8 -8
  40. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_is_not_running/returns_false.yml +11 -11
  41. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_is_running/returns_true.yml +13 -13
  42. data/spec/vcr/Bigrig_DockerAdapter/_tag/should_tag_the_image.yml +30 -83
  43. data/spec/vcr/Bigrig_LogAction/_perform/follows_the_log.yml +17 -17
  44. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_a_path/builds_the_image_before_starting_it.yml +27 -176
  45. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_hosts_by_ip/should_pass_hosts_to_container.yml +41 -41
  46. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_hosts_by_name/should_lookup_ips_for_hosts_with_a_hostname.yml +41 -41
  47. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_links/should_pass_links_to_the_right_container.yml +75 -75
  48. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_multiple_containers/launches_both_containers_in_parallel.yml +52 -52
  49. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_multiple_containers/spins_up_multiple_containers.yml +74 -74
  50. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_one_container/should_spin_up_a_single_container.yml +37 -37
  51. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_one_container/when_a_dead_container_exists/should_remove_existing_containers.yml +39 -39
  52. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes/should_pass_volumes_to_the_right_container.yml +40 -40
  53. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes_from/should_pass_volumes_from_to_the_right_container.yml +75 -75
  54. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes_from/starts_the_dependant_container_last.yml +52 -52
  55. data/spec/vcr/Bigrig_RunAction/_perform/when_activating_profiles_that_do_not_exist/ignores_the_missing_profile.yml +43 -38
  56. data/spec/vcr/Bigrig_RunAction/_perform/with_a_file_with_active_profiles/uses_the_overridden_image.yml +39 -39
  57. data/spec/vcr/bigrig/destroy/spec/data/single_json/kills_the_container.yml +14 -14
  58. data/spec/vcr/bigrig/dev/spec/data/dev_json/activates_the_dev_profile.yml +227 -3
  59. data/spec/vcr/bigrig/dev/spec/data/dev_json/destroys_containers_on_exit.yml +240 -16
  60. data/spec/vcr/bigrig/dev/spec/data/dev_json/starts_the_containers.yml +238 -14
  61. data/spec/vcr/bigrig/dev/spec/data/dev_json/tails_the_logs.yml +227 -0
  62. data/spec/vcr/bigrig/logs/spec/data/log_json/tails_the_logs.yml +17 -17
  63. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/leaves_existing_env_values_alone.yml +11 -11
  64. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/overrides_the_env.yml +11 -11
  65. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/overrides_the_tag.yml +11 -11
  66. data/spec/vcr/bigrig/run/spec/data/single_json/sends_the_name_of_the_container_to_stdout.yml +9 -9
  67. data/spec/vcr/bigrig/run/spec/data/single_json/starts_the_container.yml +13 -13
  68. data/spec/vcr/bigrig/ship/spec/data/ship_json/with_a_version/-c/cleans_the_image_when_its_done.yml +28 -28
  69. data/spec/vcr/bigrig/ship/spec/data/ship_json/with_a_version/builds_and_pushes_the_image.yml +17 -17
  70. data/spec/vcr/bigrig_bin_bigrig_destroy_spec/data/single_json_kills_the_container.yml +21 -21
  71. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_activates_the_dev_profile.yml +109 -107
  72. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_starts_the_containers.yml +108 -108
  73. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_tails_the_logs.yml +118 -118
  74. data/spec/vcr/bigrig_bin_bigrig_logs_spec/data/log_json_tails_the_logs.yml +21 -21
  75. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_leaves_existing_env_values_alone.yml +25 -25
  76. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_overrides_the_env.yml +25 -25
  77. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_overrides_the_tag.yml +24 -173
  78. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/single_json_sends_the_name_of_the_container_to_stdout.yml +25 -25
  79. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/single_json_starts_the_container.yml +25 -25
  80. data/spec/vcr/bigrig_bin_bigrig_ship_spec/data/ship_json_with_a_version_-c_cleans_the_image_when_its_done.yml +121 -85
  81. data/spec/vcr/bigrig_bin_bigrig_ship_spec/data/ship_json_with_a_version_builds_and_pushes_the_image.yml +113 -77
  82. metadata +6 -3
  83. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_destroys_containers_on_exit.yml +0 -1070
@@ -19,7 +19,7 @@ http_interactions:
19
19
  Content-Type:
20
20
  - application/json
21
21
  Date:
22
- - Thu, 12 Mar 2015 21:38:31 GMT
22
+ - Mon, 06 Apr 2015 22:00:06 GMT
23
23
  Content-Length:
24
24
  - '1859'
25
25
  body:
@@ -27,7 +27,7 @@ http_interactions:
27
27
  string: |
28
28
  {"Architecture":"amd64","Author":"","Comment":"","Config":{"AttachStderr":false,"AttachStdin":false,"AttachStdout":false,"Cmd":null,"CpuShares":0,"Cpuset":"","Domainname":"","Entrypoint":["/bin/sh","-c","ruby /code/server.rb"],"Env":["PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","RUBY_MAJOR=2.1","RUBY_VERSION=2.1.3","GEM_HOME=/usr/local/bundle","BUNDLE_APP_CONFIG=/usr/local/bundle"],"ExposedPorts":{"80/tcp":{}},"Hostname":"e5474231b7cd","Image":"4929b61a5fda27a07a26efc94ad61504c0f4aa2fb50471bfa4fd61c656d42131","MacAddress":"","Memory":0,"MemorySwap":0,"NetworkDisabled":false,"OnBuild":[],"OpenStdin":false,"PortSpecs":null,"StdinOnce":false,"Tty":false,"User":"","Volumes":null,"WorkingDir":""},"Container":"d6d34d2bfd452f4175eab78597ddd29856f0af494d503b00f4160d5eb3f13f1b","ContainerConfig":{"AttachStderr":false,"AttachStdin":false,"AttachStdout":false,"Cmd":["/bin/sh","-c","#(nop) ENTRYPOINT [/bin/sh -c ruby /code/server.rb]"],"CpuShares":0,"Cpuset":"","Domainname":"","Entrypoint":["/bin/sh","-c","ruby /code/server.rb"],"Env":["PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","RUBY_MAJOR=2.1","RUBY_VERSION=2.1.3","GEM_HOME=/usr/local/bundle","BUNDLE_APP_CONFIG=/usr/local/bundle"],"ExposedPorts":{"80/tcp":{}},"Hostname":"e5474231b7cd","Image":"4929b61a5fda27a07a26efc94ad61504c0f4aa2fb50471bfa4fd61c656d42131","MacAddress":"","Memory":0,"MemorySwap":0,"NetworkDisabled":false,"OnBuild":[],"OpenStdin":false,"PortSpecs":null,"StdinOnce":false,"Tty":false,"User":"","Volumes":null,"WorkingDir":""},"Created":"2014-10-23T20:00:42.057514693Z","DockerVersion":"1.3.0","Id":"b9c5be3a918d80b0d898ed8eca3fc76f75c482b531238e539cb00f75bb4e12d2","Os":"linux","Parent":"4929b61a5fda27a07a26efc94ad61504c0f4aa2fb50471bfa4fd61c656d42131","Size":0,"VirtualSize":801041825}
29
29
  http_version:
30
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
30
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
31
31
  - request:
32
32
  method: get
33
33
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -47,7 +47,7 @@ http_interactions:
47
47
  Content-Type:
48
48
  - text/plain; charset=utf-8
49
49
  Date:
50
- - Thu, 12 Mar 2015 21:38:32 GMT
50
+ - Mon, 06 Apr 2015 22:00:07 GMT
51
51
  Content-Length:
52
52
  - '31'
53
53
  body:
@@ -55,7 +55,7 @@ http_interactions:
55
55
  string: |
56
56
  No such container: single-test
57
57
  http_version:
58
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
58
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
59
59
  - request:
60
60
  method: get
61
61
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -75,7 +75,7 @@ http_interactions:
75
75
  Content-Type:
76
76
  - text/plain; charset=utf-8
77
77
  Date:
78
- - Thu, 12 Mar 2015 21:38:32 GMT
78
+ - Mon, 06 Apr 2015 22:00:07 GMT
79
79
  Content-Length:
80
80
  - '31'
81
81
  body:
@@ -83,7 +83,7 @@ http_interactions:
83
83
  string: |
84
84
  No such container: single-test
85
85
  http_version:
86
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
86
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
87
87
  - request:
88
88
  method: get
89
89
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -103,7 +103,7 @@ http_interactions:
103
103
  Content-Type:
104
104
  - text/plain; charset=utf-8
105
105
  Date:
106
- - Thu, 12 Mar 2015 21:38:32 GMT
106
+ - Mon, 06 Apr 2015 22:00:07 GMT
107
107
  Content-Length:
108
108
  - '31'
109
109
  body:
@@ -111,7 +111,7 @@ http_interactions:
111
111
  string: |
112
112
  No such container: single-test
113
113
  http_version:
114
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
114
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
115
115
  - request:
116
116
  method: get
117
117
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -131,7 +131,7 @@ http_interactions:
131
131
  Content-Type:
132
132
  - text/plain; charset=utf-8
133
133
  Date:
134
- - Thu, 12 Mar 2015 21:38:32 GMT
134
+ - Mon, 06 Apr 2015 22:00:07 GMT
135
135
  Content-Length:
136
136
  - '31'
137
137
  body:
@@ -139,7 +139,7 @@ http_interactions:
139
139
  string: |
140
140
  No such container: single-test
141
141
  http_version:
142
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
142
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
143
143
  - request:
144
144
  method: get
145
145
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -159,7 +159,7 @@ http_interactions:
159
159
  Content-Type:
160
160
  - text/plain; charset=utf-8
161
161
  Date:
162
- - Thu, 12 Mar 2015 21:38:32 GMT
162
+ - Mon, 06 Apr 2015 22:00:07 GMT
163
163
  Content-Length:
164
164
  - '31'
165
165
  body:
@@ -167,7 +167,7 @@ http_interactions:
167
167
  string: |
168
168
  No such container: single-test
169
169
  http_version:
170
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
170
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
171
171
  - request:
172
172
  method: get
173
173
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -187,7 +187,7 @@ http_interactions:
187
187
  Content-Type:
188
188
  - text/plain; charset=utf-8
189
189
  Date:
190
- - Thu, 12 Mar 2015 21:38:32 GMT
190
+ - Mon, 06 Apr 2015 22:00:07 GMT
191
191
  Content-Length:
192
192
  - '31'
193
193
  body:
@@ -195,7 +195,7 @@ http_interactions:
195
195
  string: |
196
196
  No such container: single-test
197
197
  http_version:
198
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
198
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
199
199
  - request:
200
200
  method: get
201
201
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -215,7 +215,7 @@ http_interactions:
215
215
  Content-Type:
216
216
  - text/plain; charset=utf-8
217
217
  Date:
218
- - Thu, 12 Mar 2015 21:38:32 GMT
218
+ - Mon, 06 Apr 2015 22:00:07 GMT
219
219
  Content-Length:
220
220
  - '31'
221
221
  body:
@@ -223,7 +223,7 @@ http_interactions:
223
223
  string: |
224
224
  No such container: single-test
225
225
  http_version:
226
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
226
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
227
227
  - request:
228
228
  method: get
229
229
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -243,7 +243,7 @@ http_interactions:
243
243
  Content-Type:
244
244
  - text/plain; charset=utf-8
245
245
  Date:
246
- - Thu, 12 Mar 2015 21:38:32 GMT
246
+ - Mon, 06 Apr 2015 22:00:07 GMT
247
247
  Content-Length:
248
248
  - '31'
249
249
  body:
@@ -251,7 +251,7 @@ http_interactions:
251
251
  string: |
252
252
  No such container: single-test
253
253
  http_version:
254
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
254
+ recorded_at: Mon, 06 Apr 2015 22:00:05 GMT
255
255
  - request:
256
256
  method: post
257
257
  uri: "<DOCKER_HOST>/v1.16/containers/create?name=single-test"
@@ -271,21 +271,21 @@ http_interactions:
271
271
  Content-Type:
272
272
  - application/json
273
273
  Date:
274
- - Thu, 12 Mar 2015 21:38:32 GMT
274
+ - Mon, 06 Apr 2015 22:00:07 GMT
275
275
  Content-Length:
276
276
  - '90'
277
277
  body:
278
278
  encoding: UTF-8
279
279
  string: |
280
- {"Id":"0442e8c246272a3a9e5d299f48f75e9b554815e0c1b19f906dd516bf1b4a8093","Warnings":null}
280
+ {"Id":"32b436626a70849fa1cf588b25d060114d06a038a83a93fe9dc4c308b4d52fea","Warnings":null}
281
281
  http_version:
282
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
282
+ recorded_at: Mon, 06 Apr 2015 22:00:06 GMT
283
283
  - request:
284
284
  method: post
285
- uri: "<DOCKER_HOST>/v1.16/containers/0442e8c246272a3a9e5d299f48f75e9b554815e0c1b19f906dd516bf1b4a8093/start"
285
+ uri: "<DOCKER_HOST>/v1.16/containers/32b436626a70849fa1cf588b25d060114d06a038a83a93fe9dc4c308b4d52fea/start"
286
286
  body:
287
287
  encoding: UTF-8
288
- string: '{"Links":[],"ExtraHosts":[],"PortBindings":{},"VolumesFrom":[]}'
288
+ string: '{"Links":[],"ExtraHosts":[],"PortBindings":{},"VolumesFrom":[],"Binds":[]}'
289
289
  headers:
290
290
  User-Agent:
291
291
  - Swipely/Docker-API 1.20.0
@@ -297,10 +297,10 @@ http_interactions:
297
297
  message:
298
298
  headers:
299
299
  Date:
300
- - Thu, 12 Mar 2015 21:38:32 GMT
300
+ - Mon, 06 Apr 2015 22:00:07 GMT
301
301
  body:
302
302
  encoding: UTF-8
303
303
  string: ''
304
304
  http_version:
305
- recorded_at: Thu, 12 Mar 2015 21:38:34 GMT
305
+ recorded_at: Mon, 06 Apr 2015 22:00:06 GMT
306
306
  recorded_with: VCR 2.9.3