capistrano-docker_cluster 1.0.4 → 1.0.5
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 +4 -4
- data/CHANGE_LOG.md +5 -0
- data/bin/docker-cluster +46 -20
- data/lib/capistrano/docker_cluster/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebbb1defa7363b3977d59a8086513972c4a0258a4e3766b4de6c306f5beee4ed
|
4
|
+
data.tar.gz: 49e0318d6ef793cbe74351bfcce166e456aabd28347c430917b44bd836fca518
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44497d8dd8ab30ac78b15362e7ecf8e5081a238804034273e183d5811a6ba4e5189a93f9db486672bd1708ce7b325ad6ec5e1894bddda4d5e6d6b6a117789e43
|
7
|
+
data.tar.gz: 7cdd4315f6a9cface2ee10216f7e7376a9d1dbbd21efd20b6a6b104b21c72ca4635e3bd0829bdf77e3f1dae6dc9117b5bb340f75d4e7f14e4755032e9dd3f8f0
|
data/CHANGE_LOG.md
CHANGED
data/bin/docker-cluster
CHANGED
@@ -17,15 +17,18 @@
|
|
17
17
|
# port is the exposed port to map from the containers. The base host port is the port number to start mapping
|
18
18
|
# the container ports to. If the base host port is not specified, then the container port will be used as the
|
19
19
|
# base host port. For instance, `--port=80:8000 --count=2` will start two containers with the first one mapping
|
20
|
-
# host port 8000 to container port 80 and the second mapping host port 8001 to container port 80.
|
20
|
+
# host port 8000 to container port 80 and the second mapping host port 8001 to container port 80. You can use
|
21
|
+
# --no-port to clear all port bindings.
|
21
22
|
#
|
22
23
|
# The --hostname parameter can be used to specify a base host name for the containers. The host name for each
|
23
24
|
# container will be "container_name.base_host_name" where container name uses a hyphen instead of a period as
|
24
|
-
# the delimiter.
|
25
|
+
# the delimiter. You can use --no-hostname to clear the hostname to use the default.
|
25
26
|
#
|
26
27
|
# The --healthcheck parameter can be used to specify either a command to run inside the container or a URL
|
27
28
|
# to ping from within the container to determine if the container is up. The next container will not be shutdown
|
28
|
-
# until the previous one is determined to be up when this parameter is specified.
|
29
|
+
# until the previous one is determined to be up when this parameter is specified. If this is not specified,
|
30
|
+
# or if the value is "docker", the docker engine health check will be used. You can remove the healthcheck
|
31
|
+
# altogether with --no-healthcheck.
|
29
32
|
#
|
30
33
|
# The --timeout parameter can be used to specify a timeout for how long to wait for a container to stop or start
|
31
34
|
# before assuming something is wrong. In the case of stopping the container, the container will be force killed
|
@@ -39,10 +42,7 @@
|
|
39
42
|
# The --command parameter can be used to specify the command each docker container should run. If multiple command parameters
|
40
43
|
# are specified, they will be concatenated together. You can use this to specify a command and arguments separately.
|
41
44
|
# You can also specify the command by using --. Anything after a double hyphen will be appended to the docker
|
42
|
-
# command line verbatim.
|
43
|
-
#
|
44
|
-
# The --clear-command flag can be used to clear the docker run command. Use this if you need to completely override
|
45
|
-
# command that has already been set on the command line.
|
45
|
+
# command line verbatim. You can clear the command buffer with --no-command.
|
46
46
|
#
|
47
47
|
# The --force parameter can be used to specify that containers should always be restarted. The default behavior
|
48
48
|
# is to only restart containers if they are not running the specified image.
|
@@ -64,13 +64,14 @@ usage() {
|
|
64
64
|
echo " --name CONTAINER_NAME_PREFIX (or --one-off)"
|
65
65
|
echo " [--count CONTAINER_COUNT] (default 1)"
|
66
66
|
echo " [--image DOCKER_IMAGE] (image tag or id; required if --count > 0)"
|
67
|
-
echo " [--port CONTAINER_PORT[:BASE_HOST_PORT]]"
|
68
|
-
echo " [--hostname CONTAINER_BASE_HOST_NAME]"
|
69
|
-
echo " [--healthcheck COMMAND|CURL_URL]"
|
67
|
+
echo " [--[no-]port CONTAINER_PORT[:BASE_HOST_PORT]]"
|
68
|
+
echo " [--[no-]hostname CONTAINER_BASE_HOST_NAME]"
|
69
|
+
echo " [--[no-]healthcheck COMMAND|CURL_URL]"
|
70
70
|
echo " [--timeout SECONDS] (default 120)"
|
71
71
|
echo " [--config CONFIG_FILE_PATH]"
|
72
|
-
echo " [--command DOCKER_RUN_COMMAND]"
|
73
|
-
echo " [--verbose]"
|
72
|
+
echo " [--[no-]command DOCKER_RUN_COMMAND]"
|
73
|
+
echo " [--[no-]verbose]"
|
74
|
+
echo " [--] docker command arguments"
|
74
75
|
echo " All other options are passed through to 'docker run'"
|
75
76
|
}
|
76
77
|
|
@@ -103,10 +104,16 @@ read_arguments() {
|
|
103
104
|
[[ -z $val ]] && shift && val=$1
|
104
105
|
PORT_MAPPING+=($val)
|
105
106
|
;;
|
107
|
+
--no-port )
|
108
|
+
PORT_MAPPING=()
|
109
|
+
;;
|
106
110
|
--hostname )
|
107
111
|
[[ -z $val ]] && shift && val=$1
|
108
112
|
CONTAINER_BASE_HOST_NAME=$val
|
109
113
|
;;
|
114
|
+
--hostname )
|
115
|
+
CONTAINER_BASE_HOST_NAME=
|
116
|
+
;;
|
110
117
|
--config )
|
111
118
|
[[ -z $val ]] && shift && val=$1
|
112
119
|
cat "$val" > /dev/null
|
@@ -119,6 +126,9 @@ read_arguments() {
|
|
119
126
|
[[ -z $val ]] && shift && val=$1
|
120
127
|
DOCKER_RUN_COMMAND="$DOCKER_RUN_COMMAND $val"
|
121
128
|
;;
|
129
|
+
--no-command )
|
130
|
+
DOCKER_RUN_COMMAND=""
|
131
|
+
;;
|
122
132
|
--clear-command )
|
123
133
|
DOCKER_RUN_COMMAND=""
|
124
134
|
;;
|
@@ -133,6 +143,9 @@ read_arguments() {
|
|
133
143
|
[[ -z $val ]] && shift && val=$1
|
134
144
|
HEALTHCHECK=$val
|
135
145
|
;;
|
146
|
+
--no-healthcheck )
|
147
|
+
HEALTHCHECK=
|
148
|
+
;;
|
136
149
|
--timeout )
|
137
150
|
[[ -z $val ]] && shift && val=$1
|
138
151
|
TIMEOUT=$val
|
@@ -140,6 +153,9 @@ read_arguments() {
|
|
140
153
|
--force )
|
141
154
|
FORCE_RESTART="1"
|
142
155
|
;;
|
156
|
+
--no-force )
|
157
|
+
FORCE_RESTART=
|
158
|
+
;;
|
143
159
|
--help )
|
144
160
|
usage
|
145
161
|
exit
|
@@ -148,6 +164,10 @@ read_arguments() {
|
|
148
164
|
set -o xtrace
|
149
165
|
CMD_OUT=/dev/stdout
|
150
166
|
;;
|
167
|
+
--no-verbose )
|
168
|
+
set +o xtrace
|
169
|
+
CMD_OUT=/dev/null
|
170
|
+
;;
|
151
171
|
-- )
|
152
172
|
shift
|
153
173
|
DOCKER_RUN_COMMAND="$DOCKER_RUN_COMMAND $@"
|
@@ -323,13 +343,8 @@ start_container() {
|
|
323
343
|
|
324
344
|
typeset status=${info_arr[3]}
|
325
345
|
if [[ $status == "Up"* ]]; then
|
326
|
-
if [[ $HEALTHCHECK
|
327
|
-
|
328
|
-
if [[ $healthy == "0" ]]; then
|
329
|
-
success=0
|
330
|
-
break
|
331
|
-
fi
|
332
|
-
else
|
346
|
+
if [[ $HEALTHCHECK == "docker" ]]; then
|
347
|
+
# use built in docker health check
|
333
348
|
if [[ $status == *"health"* ]]; then
|
334
349
|
if [[ $status == *"healthy"* ]]; then
|
335
350
|
success=0
|
@@ -339,6 +354,17 @@ start_container() {
|
|
339
354
|
success=0
|
340
355
|
break
|
341
356
|
fi
|
357
|
+
elif [[ $HEALTHCHECK != "" ]]; then
|
358
|
+
# custom container command
|
359
|
+
healthy=`docker_healthcheck $container_id "$HEALTHCHECK"`
|
360
|
+
if [[ $healthy == "0" ]]; then
|
361
|
+
success=0
|
362
|
+
break
|
363
|
+
fi
|
364
|
+
else
|
365
|
+
# no health check
|
366
|
+
success=0
|
367
|
+
break
|
342
368
|
fi
|
343
369
|
fi
|
344
370
|
|
@@ -381,7 +407,7 @@ CONTAINER_NAME_PREFIX=
|
|
381
407
|
CONTAINER_COUNT=1
|
382
408
|
PORT_MAPPING=()
|
383
409
|
DOCKER_RUN_COMMAND=
|
384
|
-
HEALTHCHECK=
|
410
|
+
HEALTHCHECK=docker
|
385
411
|
TIMEOUT=120
|
386
412
|
CMD_OUT=/dev/null
|
387
413
|
DOCKER_RUN_ARGS=
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-docker_cluster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Durand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04-
|
11
|
+
date: 2020-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|