# TODO implement this in go set -e -o pipefail cd "$APPDIR" conf_path="$_RUNTIME_DIR_PATH"/dnsmasq.conf cat etc/dnsmasq/base.conf > "$conf_path" tmp="$(mktemp -d -t cryptic-net-dnsmasq-entrypoint-XXX)" ( trap "rm -rf '$tmp'" EXIT tar xzf "$_BOOTSTRAP_PATH" -C "$tmp" ./hosts thisHostName=$(tar xzf "$_BOOTSTRAP_PATH" --to-stdout ./hostname) thisHostIP=$(cat "$tmp"/hosts/"$thisHostName".yml | yq '.nebula.ip') domain=$(tar xzf "$_BOOTSTRAP_PATH" --to-stdout ./admin/creation-params.yml | yq '.domain') echo "listen-address=$thisHostIP" >> "$conf_path" ls -1 "$tmp"/hosts | while read hostYml; do hostName=$(echo "$hostYml" | cut -d. -f1) hostIP=$(cat "$tmp"/hosts/"$hostYml" | yq '.nebula.ip') echo "address=/${hostName}.hosts.$domain/$hostIP" >> "$conf_path" done ) cat "$_DAEMON_YML_PATH" | \ yq '.dns.resolvers | .[] | "server=" + .' \ >> "$conf_path" exec bin/dnsmasq -d -C "$conf_path"