mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-18 20:47:53 +00:00
23f9baa9f2
- Can now provide the following environment variables to populate secrets (nice for kubernetes, other situations) - ZEROTIER_API_SECRET: authtoken.secret - ZEROTIER_IDENTITY_PUBLIC: identity.public - ZEROTIER_IDENTITY_SECRET: identity.secret - Joining networks by providing them as a part of docker's "command" array should now work properly Signed-off-by: Erik Hollensbe <linux@hollensbe.org>
56 lines
966 B
Bash
56 lines
966 B
Bash
#!/bin/sh
|
|
|
|
grepzt() {
|
|
(find /proc -name exe | xargs -I{} readlink {}) 2>/dev/null | grep -q zerotier-one
|
|
return $?
|
|
}
|
|
|
|
mkztfile() {
|
|
file=$1
|
|
mode=$2
|
|
content=$3
|
|
|
|
mkdir -p /var/lib/zerotier-one
|
|
echo "$content" > "/var/lib/zerotier-one/$file"
|
|
chmod "$mode" "/var/lib/zerotier-one/$file"
|
|
}
|
|
|
|
if [ "x$ZEROTIER_API_SECRET" != "x" ]
|
|
then
|
|
mkztfile authtoken.secret 0600 "$ZEROTIER_API_SECRET"
|
|
fi
|
|
|
|
if [ "x$ZEROTIER_IDENTITY_PUBLIC" != "x" ]
|
|
then
|
|
mkztfile identity.public 0644 "$ZEROTIER_IDENTITY_PUBLIC"
|
|
fi
|
|
|
|
if [ "x$ZEROTIER_IDENTITY_SECRET" != "x" ]
|
|
then
|
|
mkztfile identity.secret 0600 "$ZEROTIER_IDENTITY_SECRET"
|
|
fi
|
|
|
|
echo "starting zerotier"
|
|
setsid /usr/sbin/zerotier-one &
|
|
|
|
while ! grepzt
|
|
do
|
|
echo "zerotier hasn't started, waiting a second"
|
|
sleep 1
|
|
done
|
|
|
|
echo "joining networks: $@"
|
|
|
|
for i in "$@"
|
|
do
|
|
echo "joining $i"
|
|
|
|
while ! zerotier-cli join "$i"
|
|
do
|
|
echo "joining $i failed; trying again in 1s"
|
|
sleep 1
|
|
done
|
|
done
|
|
|
|
sleep infinity
|