Explorar o código

Fix dockerfile & entrypoint:

- Resolve issue with join not being checked properly for success without
  using external tools
- Resolve issue where initial boot was not being checked properly
- Now output errors when zerotier fails to start

closes #1581

cc @altano for inspiration for this patch

Signed-off-by: Erik Hollensbe <[email protected]>
Erik Hollensbe %!s(int64=3) %!d(string=hai) anos
pai
achega
f41372680d
Modificáronse 2 ficheiros con 8 adicións e 3 borrados
  1. 2 0
      Dockerfile.release
  2. 6 3
      entrypoint.sh.release

+ 2 - 0
Dockerfile.release

@@ -11,6 +11,8 @@ RUN curl -sSL -o zerotier-one.deb "${PACKAGE_BASEURL}/zerotier-one_${VERSION}_${
 
 FROM debian:buster
 
+RUN apt-get update -qq && apt-get install openssl libssl1.1 -y
+
 COPY --from=stage zerotier-one.deb .
 
 RUN dpkg -i zerotier-one.deb && rm -f zerotier-one.deb

+ 6 - 3
entrypoint.sh.release

@@ -1,7 +1,7 @@
 #!/bin/sh
 
 grepzt() {
-  [ ! -n "$(cat /var/lib/zerotier-one/zerotier-one.pid)" -a -d "/proc/$(cat /var/lib/zerotier-one/zerotier-one.pid)" ]
+  [ -f /var/lib/zerotier-one/zerotier-one.pid -a -n "$(cat /var/lib/zerotier-one/zerotier-one.pid)" -a -d "/proc/$(cat /var/lib/zerotier-one/zerotier-one.pid)" ]
   return $?
 }
 
@@ -46,6 +46,7 @@ nohup /usr/sbin/zerotier-one &
 while ! grepzt
 do
   echo "zerotier hasn't started, waiting a second"
+  tail -n 10 nohup.out
   sleep 1
 done
 
@@ -55,9 +56,11 @@ for i in "$@"
 do
   echo "joining $i"
 
-  while ! zerotier-cli join "$i"
+  zerotier-cli join "$i"
+
+  while [ "$(zerotier-cli get $i status)" != "OK" ]
   do 
-    echo "joining $i failed; trying again in 1s"
+    echo "joining $i failed (are they added in central?); trying again in 1s"
     sleep 1
   done
 done