bigrig 0.4.2 → 0.5.0

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile.lock +24 -26
  4. data/bigrig.gemspec +2 -2
  5. data/lib/bigrig/models/container.rb +2 -2
  6. data/lib/bigrig/runner.rb +2 -10
  7. data/lib/bigrig/version.rb +1 -1
  8. data/lib/bigrig/waiter.rb +20 -0
  9. data/lib/bigrig.rb +1 -0
  10. data/spec/bigrig/actions/run_action_spec.rb +8 -0
  11. data/spec/bigrig/docker_adapter_spec.rb +1 -1
  12. data/spec/bigrig/models/container_spec.rb +0 -18
  13. data/spec/bigrig_spec.rb +20 -6
  14. data/spec/data/wait_for/Dockerfile +4 -0
  15. data/spec/data/wait_for/bigrig-wait.sh +5 -0
  16. data/spec/data/wait_for/bigrig.json +8 -0
  17. data/spec/data/wait_for_broken/Dockerfile +4 -0
  18. data/spec/data/wait_for_broken/bigrig-wait.sh +3 -0
  19. data/spec/data/wait_for_broken/bigrig.json +8 -0
  20. data/spec/vcr/Bigrig_DestroyAction/_perform/given_json_with_a_single_container/and_the_container_has_exited/should_remove_the_container.yml +65 -65
  21. data/spec/vcr/Bigrig_DestroyAction/_perform/given_json_with_a_single_container/and_the_container_is_running/kills_and_removes_the_container.yml +71 -71
  22. data/spec/vcr/Bigrig_DockerAdapter/_build/builds_the_given_directory.yml +11 -11
  23. data/spec/vcr/Bigrig_DockerAdapter/_build/passes_build_input_to_a_block.yml +5 -5
  24. data/spec/vcr/Bigrig_DockerAdapter/_container_exists_/when_the_container_does_not_exist/is_false.yml +20 -20
  25. data/spec/vcr/Bigrig_DockerAdapter/_container_exists_/when_the_container_exists/is_true.yml +13 -13
  26. data/spec/vcr/Bigrig_DockerAdapter/_image_id_by_tag/when_the_image_does_not_exist/raise_a_ImageNotFoundError.yml +20 -20
  27. data/spec/vcr/Bigrig_DockerAdapter/_image_id_by_tag/when_the_image_exists/returns_the_image_id.yml +19 -19
  28. data/spec/vcr/Bigrig_DockerAdapter/_kill/given_the_container_does_not_exist/should_raise_an_error.yml +20 -20
  29. data/spec/vcr/Bigrig_DockerAdapter/_kill/given_the_container_is_running/should_kill_the_container.yml +29 -29
  30. data/spec/vcr/Bigrig_DockerAdapter/_logs/streams_logs_to_a_block.yml +23 -23
  31. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_a_block_to_capture_output/should_capture_output.yml +8 -8
  32. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_the_repo_does_not_exist/raises_a_RepoNotFoundError.yml +3 -3
  33. data/spec/vcr/Bigrig_DockerAdapter/_pull/given_the_repo_exists/returns_the_image_id.yml +13 -13
  34. data/spec/vcr/Bigrig_DockerAdapter/_push/given_credentials/will_pass_login_and_password.yml +54 -54
  35. data/spec/vcr/Bigrig_DockerAdapter/_push/should_push_the_image.yml +1059 -553
  36. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_does_not_exist/raises_a_ContainerNotFoundError.yml +40 -40
  37. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_exists/should_remove_the_container.yml +44 -44
  38. data/spec/vcr/Bigrig_DockerAdapter/_remove_container/when_the_container_is_running/raises_a_ContainerRunningError.yml +13 -13
  39. data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_doesnt_exist/raises_an_error.yml +12 -12
  40. data/spec/vcr/Bigrig_DockerAdapter/_remove_image/when_the_image_exists/removes_the_image.yml +35 -35
  41. data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name/starts_the_container_with_the_right_name.yml +35 -35
  42. 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 +35 -35
  43. data/spec/vcr/Bigrig_DockerAdapter/_run/given_an_image_id_that_exists/and_a_name_and_ports/starts_the_container_with_ports_exposed.yml +41 -41
  44. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_does_not_exist/returns_false.yml +20 -20
  45. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_is_not_running/returns_false.yml +13 -15
  46. data/spec/vcr/Bigrig_DockerAdapter/_running_/when_the_container_is_running/returns_true.yml +17 -17
  47. data/spec/vcr/Bigrig_DockerAdapter/_tag/should_tag_the_image.yml +34 -34
  48. data/spec/vcr/Bigrig_LogAction/_perform/follows_the_log.yml +43 -43
  49. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_a_path/builds_the_image_before_starting_it.yml +222 -26
  50. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_hosts_by_ip/should_pass_hosts_to_container.yml +180 -74
  51. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_hosts_by_name/should_lookup_ips_for_hosts_with_a_hostname.yml +181 -75
  52. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_links/should_pass_links_to_the_right_container.yml +351 -139
  53. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_multiple_containers/launches_both_containers_in_parallel.yml +130 -130
  54. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_multiple_containers/spins_up_multiple_containers.yml +140 -140
  55. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_one_container/should_spin_up_a_single_container.yml +175 -69
  56. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_one_container/when_a_dead_container_exists/should_remove_existing_containers.yml +159 -53
  57. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes/should_pass_volumes_to_the_right_container.yml +180 -74
  58. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes_from/should_pass_volumes_from_to_the_right_container.yml +351 -139
  59. data/spec/vcr/Bigrig_RunAction/_perform/given_a_file_with_volumes_from/starts_the_dependant_container_last.yml +130 -130
  60. data/spec/vcr/Bigrig_RunAction/_perform/when_activating_profiles_that_do_not_exist/ignores_the_missing_profile.yml +268 -77
  61. data/spec/vcr/Bigrig_RunAction/_perform/with_a_file_with_active_profiles/uses_the_overridden_image.yml +180 -74
  62. data/spec/vcr/bigrig/destroy/spec/data/single_json/kills_the_container.yml +28 -28
  63. data/spec/vcr/bigrig/dev/spec/data/dev_json/activates_the_dev_profile.yml +266 -158
  64. data/spec/vcr/bigrig/dev/spec/data/dev_json/destroys_containers_on_exit.yml +78 -158
  65. data/spec/vcr/bigrig/dev/spec/data/dev_json/starts_the_containers.yml +187 -191
  66. data/spec/vcr/bigrig/dev/spec/data/dev_json/tails_the_logs.yml +38 -118
  67. data/spec/vcr/bigrig/dev/spec/data/scan_json/leaves_unaffected_containers_alone_when_the_scanned_file_changes.yml +811 -345
  68. data/spec/vcr/bigrig/dev/spec/data/scan_json/restarts_dependant_containers_when_the_scanned_file_changes.yml +813 -375
  69. data/spec/vcr/bigrig/dev/spec/data/scan_json/restarts_the_container_when_the_scanned_file_changes.yml +855 -363
  70. data/spec/vcr/bigrig/logs/spec/data/log_json/tails_the_logs.yml +23 -23
  71. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/leaves_existing_env_values_alone.yml +14 -14
  72. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/overrides_the_env.yml +14 -14
  73. data/spec/vcr/bigrig/run/spec/data/profiles_json_-p_qa/overrides_the_tag.yml +17 -17
  74. data/spec/vcr/bigrig/run/spec/data/single_json/sends_the_name_of_the_container_to_stdout.yml +12 -12
  75. data/spec/vcr/bigrig/run/spec/data/single_json/starts_the_container.yml +17 -17
  76. data/spec/vcr/bigrig/run/spec/data/wait_for/bigrig_json/waits_for_wait_for.yml +180 -0
  77. data/spec/vcr/bigrig/run/spec/data/wait_for_broken_json/fails_with_an_error.yml +12 -12
  78. data/spec/vcr/bigrig/ship/spec/data/ship_json/with_a_version/-c/cleans_the_image_when_its_done.yml +28 -28
  79. data/spec/vcr/bigrig/ship/spec/data/ship_json/with_a_version/builds_and_pushes_the_image.yml +21 -21
  80. data/spec/vcr/bigrig_bin_bigrig_destroy_spec/data/single_json_kills_the_container.yml +28 -28
  81. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_activates_the_dev_profile.yml +135 -486
  82. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_starts_the_containers.yml +146 -472
  83. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/dev_json_tails_the_logs.yml +402 -192
  84. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/scan_json_leaves_unaffected_containers_alone_when_the_scanned_file_changes.yml +980 -396
  85. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/scan_json_restarts_dependant_containers_when_the_scanned_file_changes.yml +916 -388
  86. data/spec/vcr/bigrig_bin_bigrig_dev_spec/data/scan_json_restarts_the_container_when_the_scanned_file_changes.yml +919 -391
  87. data/spec/vcr/bigrig_bin_bigrig_logs_spec/data/log_json_tails_the_logs.yml +23 -23
  88. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_leaves_existing_env_values_alone.yml +159 -53
  89. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_overrides_the_env.yml +159 -53
  90. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/profiles_json_-p_qa_overrides_the_tag.yml +286 -31
  91. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/single_json_sends_the_name_of_the_container_to_stdout.yml +159 -53
  92. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/single_json_starts_the_container.yml +159 -53
  93. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/wait_for/bigrig_json_waits_for_wait_for.yml +522 -0
  94. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/wait_for_broken_json_fails_with_an_error.yml +175 -80
  95. data/spec/vcr/bigrig_bin_bigrig_ship_spec/data/ship_json_with_a_version_-c_cleans_the_image_when_its_done.yml +1036 -526
  96. data/spec/vcr/bigrig_bin_bigrig_ship_spec/data/ship_json_with_a_version_builds_and_pushes_the_image.yml +1024 -514
  97. metadata +17 -12
  98. data/spec/data/wait_for.json +0 -9
  99. data/spec/data/wait_for_broken.json +0 -9
  100. data/spec/vcr/bigrig/run/spec/data/wait_for_json/waits_for_wait_for.yml +0 -180
  101. data/spec/vcr/bigrig_bin_bigrig_run_spec/data/wait_for_json_waits_for_wait_for.yml +0 -412
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: '{"Image":"hawknewton/show-env"}'
9
9
  headers:
10
10
  User-Agent:
11
- - Swipely/Docker-API 1.20.0
11
+ - Swipely/Docker-API 1.21.4
12
12
  Content-Type:
13
13
  - application/json
14
14
  response:
@@ -19,24 +19,24 @@ http_interactions:
19
19
  Content-Type:
20
20
  - application/json
21
21
  Date:
22
- - Mon, 20 Apr 2015 23:29:44 GMT
22
+ - Fri, 05 Jun 2015 23:27:47 GMT
23
23
  Content-Length:
24
24
  - '90'
25
25
  body:
26
26
  encoding: UTF-8
27
27
  string: |
28
- {"Id":"3a510cf428f1adbfc79b1e20ecc9ea38028def28e8993168a6c9853f3998d11d","Warnings":null}
28
+ {"Id":"f9f8e6211ceb74495e7bfa804589c4e8ed42eafdc4ee4296120bc233160b9bfb","Warnings":null}
29
29
  http_version:
30
- recorded_at: Mon, 20 Apr 2015 23:29:44 GMT
30
+ recorded_at: Fri, 05 Jun 2015 23:27:47 GMT
31
31
  - request:
32
32
  method: post
33
- uri: "<DOCKER_HOST>/v1.16/containers/3a510cf428f1adbfc79b1e20ecc9ea38028def28e8993168a6c9853f3998d11d/start"
33
+ uri: "<DOCKER_HOST>/v1.16/containers/f9f8e6211ceb74495e7bfa804589c4e8ed42eafdc4ee4296120bc233160b9bfb/start"
34
34
  body:
35
35
  encoding: UTF-8
36
36
  string: "{}"
37
37
  headers:
38
38
  User-Agent:
39
- - Swipely/Docker-API 1.20.0
39
+ - Swipely/Docker-API 1.21.4
40
40
  Content-Type:
41
41
  - application/json
42
42
  response:
@@ -45,12 +45,12 @@ http_interactions:
45
45
  message:
46
46
  headers:
47
47
  Date:
48
- - Mon, 20 Apr 2015 23:29:45 GMT
48
+ - Fri, 05 Jun 2015 23:27:48 GMT
49
49
  body:
50
50
  encoding: UTF-8
51
51
  string: ''
52
52
  http_version:
53
- recorded_at: Mon, 20 Apr 2015 23:29:45 GMT
53
+ recorded_at: Fri, 05 Jun 2015 23:27:48 GMT
54
54
  - request:
55
55
  method: get
56
56
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -59,7 +59,7 @@ http_interactions:
59
59
  string: ''
60
60
  headers:
61
61
  User-Agent:
62
- - Swipely/Docker-API 1.20.0
62
+ - Swipely/Docker-API 1.21.4
63
63
  Content-Type:
64
64
  - text/plain
65
65
  response:
@@ -70,15 +70,15 @@ http_interactions:
70
70
  Content-Type:
71
71
  - text/plain; charset=utf-8
72
72
  Date:
73
- - Mon, 20 Apr 2015 23:29:46 GMT
73
+ - Fri, 05 Jun 2015 23:27:49 GMT
74
74
  Content-Length:
75
- - '31'
75
+ - '24'
76
76
  body:
77
77
  encoding: UTF-8
78
78
  string: |
79
- No such container: single-test
79
+ no such id: single-test
80
80
  http_version:
81
- recorded_at: Mon, 20 Apr 2015 23:29:46 GMT
81
+ recorded_at: Fri, 05 Jun 2015 23:27:49 GMT
82
82
  - request:
83
83
  method: get
84
84
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -87,7 +87,7 @@ http_interactions:
87
87
  string: ''
88
88
  headers:
89
89
  User-Agent:
90
- - Swipely/Docker-API 1.20.0
90
+ - Swipely/Docker-API 1.21.4
91
91
  Content-Type:
92
92
  - text/plain
93
93
  response:
@@ -98,15 +98,15 @@ http_interactions:
98
98
  Content-Type:
99
99
  - text/plain; charset=utf-8
100
100
  Date:
101
- - Mon, 20 Apr 2015 23:29:46 GMT
101
+ - Fri, 05 Jun 2015 23:27:49 GMT
102
102
  Content-Length:
103
- - '31'
103
+ - '24'
104
104
  body:
105
105
  encoding: UTF-8
106
106
  string: |
107
- No such container: single-test
107
+ no such id: single-test
108
108
  http_version:
109
- recorded_at: Mon, 20 Apr 2015 23:29:46 GMT
109
+ recorded_at: Fri, 05 Jun 2015 23:27:49 GMT
110
110
  - request:
111
111
  method: get
112
112
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -115,7 +115,7 @@ http_interactions:
115
115
  string: ''
116
116
  headers:
117
117
  User-Agent:
118
- - Swipely/Docker-API 1.20.0
118
+ - Swipely/Docker-API 1.21.4
119
119
  Content-Type:
120
120
  - text/plain
121
121
  response:
@@ -126,15 +126,15 @@ http_interactions:
126
126
  Content-Type:
127
127
  - text/plain; charset=utf-8
128
128
  Date:
129
- - Mon, 20 Apr 2015 23:29:46 GMT
129
+ - Fri, 05 Jun 2015 23:27:49 GMT
130
130
  Content-Length:
131
- - '31'
131
+ - '24'
132
132
  body:
133
133
  encoding: UTF-8
134
134
  string: |
135
- No such container: single-test
135
+ no such id: single-test
136
136
  http_version:
137
- recorded_at: Mon, 20 Apr 2015 23:29:46 GMT
137
+ recorded_at: Fri, 05 Jun 2015 23:27:49 GMT
138
138
  - request:
139
139
  method: get
140
140
  uri: "<DOCKER_HOST>/v1.16/containers/single-test/json"
@@ -143,7 +143,7 @@ http_interactions:
143
143
  string: ''
144
144
  headers:
145
145
  User-Agent:
146
- - Swipely/Docker-API 1.20.0
146
+ - Swipely/Docker-API 1.21.4
147
147
  Content-Type:
148
148
  - text/plain
149
149
  response:
@@ -154,13 +154,13 @@ http_interactions:
154
154
  Content-Type:
155
155
  - text/plain; charset=utf-8
156
156
  Date:
157
- - Mon, 20 Apr 2015 23:29:46 GMT
157
+ - Fri, 05 Jun 2015 23:27:49 GMT
158
158
  Content-Length:
159
- - '31'
159
+ - '24'
160
160
  body:
161
161
  encoding: UTF-8
162
162
  string: |
163
- No such container: single-test
163
+ no such id: single-test
164
164
  http_version:
165
- recorded_at: Mon, 20 Apr 2015 23:29:46 GMT
165
+ recorded_at: Fri, 05 Jun 2015 23:27:49 GMT
166
166
  recorded_with: VCR 2.9.3