docker-utils 0.1.34 → 0.1.35
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/share/scripts/block-until-port-open +17 -0
- data/share/scripts/{exposed → exposed-ports} +2 -0
- data/share/scripts/ip +27 -2
- data/share/scripts/port-open? +6 -0
- metadata +5 -5
- data/share/scripts/define-ambassador-service +0 -53
- data/share/scripts/define-service +0 -137
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0883a41958efe271528f4332c796ff3730412183
|
4
|
+
data.tar.gz: d1606eecb3cfd88a9af89dea35f15fcc35e716a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1baa416396040c0f4d7e43000d7c58b395ccaab821d8dd88fb6b80b81e8e76ca3eb18c431c8e33344b822f69afcfa724f7ace65e2e618462b34c3a265ff4e88b
|
7
|
+
data.tar.gz: 26a4b554aa0c473257bbf5a5e5419a498e6e1a5341e7b4fe6ecd14b9c1f4b710fbd59532a46467959d0503ae1fe603ebbcf2e681071be04ca157768202ada940
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
container_name="$1"; shift
|
4
|
+
|
5
|
+
if [ -n "$1" ]; then
|
6
|
+
container_port="$1"; shift
|
7
|
+
fi
|
8
|
+
|
9
|
+
container_ip_addr="$(docker-utils ip -w "${container_name}")"
|
10
|
+
|
11
|
+
if [ -z "${container_port}" ]; then
|
12
|
+
container_port=$(docker-utils exposed -p "${container_name}" | head -n 1)
|
13
|
+
fi
|
14
|
+
|
15
|
+
until docker-utils "port-open?" "${container_name}" "${container_port}"; do
|
16
|
+
sleep 0.1
|
17
|
+
done
|
data/share/scripts/ip
CHANGED
@@ -1,3 +1,28 @@
|
|
1
|
-
#!/bin/
|
1
|
+
#!/bin/sh
|
2
2
|
|
3
|
-
|
3
|
+
mode="once"
|
4
|
+
if [ "$1" = "-w" ]; then
|
5
|
+
mode="wait"; shift
|
6
|
+
fi
|
7
|
+
|
8
|
+
container_name="$1"; shift
|
9
|
+
|
10
|
+
container_ip_addr=""
|
11
|
+
|
12
|
+
if [ "${mode}" = "wait" ]; then
|
13
|
+
while :; do
|
14
|
+
container_ip_addr=$(command docker inspect --format '{{.NetworkSettings.IPAddress}}' "${container_name}" 2>/dev/null)
|
15
|
+
if [ -n "${container_ip_addr}" ]; then
|
16
|
+
break
|
17
|
+
fi
|
18
|
+
sleep 0.1
|
19
|
+
done
|
20
|
+
else
|
21
|
+
container_ip_addr=$(command docker inspect --format '{{.NetworkSettings.IPAddress}}' "${container_name}" 2>/dev/null)
|
22
|
+
fi
|
23
|
+
|
24
|
+
if [ -n "${container_ip_addr}" ]; then
|
25
|
+
echo "${container_ip_addr}"
|
26
|
+
else
|
27
|
+
exit 1
|
28
|
+
fi
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docker-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.35
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Levi Aul
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09
|
11
|
+
date: 2014-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-uuid
|
@@ -35,16 +35,16 @@ files:
|
|
35
35
|
- "./Rakefile"
|
36
36
|
- "./bin/docker-utils"
|
37
37
|
- "./docker-utils.gemspec"
|
38
|
+
- "./share/scripts/block-until-port-open"
|
38
39
|
- "./share/scripts/container-links-for"
|
39
|
-
- "./share/scripts/
|
40
|
-
- "./share/scripts/define-service"
|
41
|
-
- "./share/scripts/exposed"
|
40
|
+
- "./share/scripts/exposed-ports"
|
42
41
|
- "./share/scripts/gc"
|
43
42
|
- "./share/scripts/get"
|
44
43
|
- "./share/scripts/get-host-uuid"
|
45
44
|
- "./share/scripts/instances"
|
46
45
|
- "./share/scripts/ip"
|
47
46
|
- "./share/scripts/make-ref"
|
47
|
+
- "./share/scripts/port-open?"
|
48
48
|
- "./share/scripts/tags"
|
49
49
|
- "./share/scripts/toolchain"
|
50
50
|
- "./share/scripts/up?"
|
@@ -1,53 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
echo -n "defining ambassador service '$1'... "
|
4
|
-
|
5
|
-
service_name=$1; shift
|
6
|
-
|
7
|
-
remote_host=$1; shift
|
8
|
-
remote_port=$1; shift
|
9
|
-
|
10
|
-
cat >"/etc/init/${service_name}.conf" <<EOF
|
11
|
-
stop on stopping docker
|
12
|
-
|
13
|
-
env HOME=/root
|
14
|
-
|
15
|
-
respawn
|
16
|
-
respawn limit 5 20
|
17
|
-
|
18
|
-
pre-start script
|
19
|
-
. /etc/environment.local
|
20
|
-
|
21
|
-
touch "/var/log/upstart/${service_name}.log"
|
22
|
-
chown root:syslog "/var/log/upstart/${service_name}.log"
|
23
|
-
|
24
|
-
mkdir -p /run/docker/upstart-service-containers
|
25
|
-
run_id=\$(docker-utils make-ref 5)
|
26
|
-
echo "${service_name}" > '/run/docker/upstart-service-containers/${service_name}'
|
27
|
-
end script
|
28
|
-
|
29
|
-
post-stop script
|
30
|
-
container_name="\$(cat '/run/docker/upstart-service-containers/${service_name}')"
|
31
|
-
docker stop "\${container_name}" || :
|
32
|
-
docker rm "\${container_name}" || :
|
33
|
-
rm '/run/docker/upstart-service-containers/${service_name}'
|
34
|
-
end script
|
35
|
-
|
36
|
-
script
|
37
|
-
. /etc/environment.local
|
38
|
-
|
39
|
-
container_name="\$(cat '/run/docker/upstart-service-containers/${service_name}')"
|
40
|
-
|
41
|
-
echo "starting container: \${container_name} (from bexio/amb:latest)..."
|
42
|
-
|
43
|
-
running_container_id=\$(docker run -d \
|
44
|
-
--name="\${container_name}" \
|
45
|
-
"bexio/amb:latest" \
|
46
|
-
'${remote_host}' '${remote_port}'
|
47
|
-
)
|
48
|
-
|
49
|
-
exec docker attach --sig-proxy=true "\${running_container_id}"
|
50
|
-
end script
|
51
|
-
EOF
|
52
|
-
|
53
|
-
echo "defined."
|
@@ -1,137 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
echo -n "defining container service '$1'... "
|
4
|
-
|
5
|
-
image_repo=$1
|
6
|
-
shift
|
7
|
-
|
8
|
-
image_tag=$(echo "${image_repo}" | tr ':' ' ' | awk '{print $2;}')
|
9
|
-
image_repo=$(echo "${image_repo}" | tr ':' ' ' | awk '{print $1;}')
|
10
|
-
image_tag=${image_tag:-latest}
|
11
|
-
|
12
|
-
image_name=$(echo "${image_repo}" | tr '/' ' ' | awk '{print $NF;}')
|
13
|
-
|
14
|
-
data_container_name="${image_name}-data"
|
15
|
-
|
16
|
-
dependencies=""
|
17
|
-
volumes=""
|
18
|
-
published_ports=""
|
19
|
-
misc_args=""
|
20
|
-
command_args=()
|
21
|
-
|
22
|
-
while [ "$#" -gt 0 ]; do
|
23
|
-
case "$1" in
|
24
|
-
--tag)
|
25
|
-
shift; tag_name="$1"; shift
|
26
|
-
image_tag="${tag_name}"
|
27
|
-
;;
|
28
|
-
--dependency)
|
29
|
-
shift; dep_name="$1"; shift
|
30
|
-
dependencies="${dependencies} ${dep_name}"
|
31
|
-
;;
|
32
|
-
--volume)
|
33
|
-
shift; volume_arg="$1"; shift
|
34
|
-
volumes="${volumes} ${volume_arg}"
|
35
|
-
;;
|
36
|
-
--publish-all-ports)
|
37
|
-
shift
|
38
|
-
publishing_all_ports=1
|
39
|
-
;;
|
40
|
-
--before-start)
|
41
|
-
shift; before_start_script="$1"; shift
|
42
|
-
;;
|
43
|
-
--cmd-arg)
|
44
|
-
shift; command_args+=($1); shift
|
45
|
-
;;
|
46
|
-
*)
|
47
|
-
misc_arg="$1"; shift
|
48
|
-
misc_args="${misc_args} ${misc_arg}"
|
49
|
-
;;
|
50
|
-
esac
|
51
|
-
done
|
52
|
-
|
53
|
-
stopping_stanza="stopping docker"
|
54
|
-
for dep_name in ${dependencies}; do
|
55
|
-
stopping_stanza="${stopping_stanza} or stopping ${dep_name}"
|
56
|
-
done
|
57
|
-
|
58
|
-
|
59
|
-
data_container_volume_args=""
|
60
|
-
for volume_mapping in ${volumes}; do
|
61
|
-
data_container_volume_args="${data_container_volume_args} --volume=\"${volume_mapping}\""
|
62
|
-
done
|
63
|
-
|
64
|
-
service_name="${image_name}"
|
65
|
-
|
66
|
-
cat >"/etc/rsyslog.d/92-${service_name}.conf" <<EOF
|
67
|
-
input(type="imfile" File="/var/log/upstart/${service_name}.log" Tag="${service_name}" StateFile="${service_name}")
|
68
|
-
EOF
|
69
|
-
|
70
|
-
restart rsyslog
|
71
|
-
|
72
|
-
cat >"/etc/init/${service_name}.conf" <<EOF
|
73
|
-
#stop on (${stopping_stanza})
|
74
|
-
stop on stopping docker
|
75
|
-
|
76
|
-
env HOME=/root
|
77
|
-
|
78
|
-
respawn
|
79
|
-
respawn limit 5 20
|
80
|
-
|
81
|
-
pre-start script
|
82
|
-
. /etc/environment.local
|
83
|
-
|
84
|
-
touch "/var/log/upstart/${service_name}.log"
|
85
|
-
chown root:syslog "/var/log/upstart/${service_name}.log"
|
86
|
-
|
87
|
-
echo "creating data container (${data_container_name}) if it doesn't exist..."
|
88
|
-
docker run --name="${data_container_name}" ${data_container_volume_args} "${image_repo}:${image_tag}" /bin/true 2>/dev/null || :
|
89
|
-
|
90
|
-
${before_start_script}
|
91
|
-
|
92
|
-
mkdir -p /run/docker/upstart-service-containers
|
93
|
-
run_id=\$(docker-utils make-ref 5)
|
94
|
-
echo "${service_name}" > '/run/docker/upstart-service-containers/${service_name}'
|
95
|
-
end script
|
96
|
-
|
97
|
-
post-stop script
|
98
|
-
container_name="\$(cat '/run/docker/upstart-service-containers/${service_name}')"
|
99
|
-
docker stop "\${container_name}" || :
|
100
|
-
docker rm "\${container_name}" || :
|
101
|
-
rm '/run/docker/upstart-service-containers/${service_name}'
|
102
|
-
end script
|
103
|
-
|
104
|
-
script
|
105
|
-
. /etc/environment.local
|
106
|
-
|
107
|
-
container_name="\$(cat '/run/docker/upstart-service-containers/${service_name}')"
|
108
|
-
|
109
|
-
echo "discovering links for container \${container_name}:"
|
110
|
-
link_args="\$(docker-utils container-links-for -w ${dependencies})"
|
111
|
-
|
112
|
-
echo "starting container: \${container_name} (from ${image_repo}:${image_tag})..."
|
113
|
-
|
114
|
-
if [ -n "${publishing_all_ports}" ]; then
|
115
|
-
published_port_args=""
|
116
|
-
published_ports="\$(docker inspect --format='{{.Config.ExposedPorts}}' "${image_repo}:${image_tag}" | sed -e 's/[^0-9]/ /g')"
|
117
|
-
for port in \${published_ports}; do
|
118
|
-
published_port_args="\${published_port_args} --publish=\"\${port}:\${port}\""
|
119
|
-
done
|
120
|
-
fi
|
121
|
-
|
122
|
-
running_container_id=\$(docker run -d \
|
123
|
-
--name="\${container_name}" \
|
124
|
-
--volumes-from="${data_container_name}" \
|
125
|
-
-e "BEXNG_TARGET_SYSTEM=\${DOMAIN}" \
|
126
|
-
\${published_port_args} \
|
127
|
-
\${link_args} \
|
128
|
-
${misc_args} \
|
129
|
-
"${image_repo}:${image_tag}" \
|
130
|
-
${command_args[@]} \
|
131
|
-
)
|
132
|
-
|
133
|
-
exec docker attach --sig-proxy=true "\${running_container_id}"
|
134
|
-
end script
|
135
|
-
EOF
|
136
|
-
|
137
|
-
echo "defined."
|