#!/bin/sh
# Start an optional YAM v0.2+ / Luna stack installed on the persistent /data disk.
# Rendered into the guest image as /etc/init.d/S99kuyase-yam. Does nothing
# unless /data/yam/bin/yam-run or /data/yam/bin/luna exists, so stock images stay untouched.
if [ -x /data/yam/bin/yam-run ] && [ ! -e /usr/bin/yam ]; then
  ln -sfn /data/yam/bin/yam-run /usr/bin/yam 2>/dev/null || true
fi

[ -x /data/yam/bin/luna ] || exit 0

mkdir -p /tmp/yam /data/yam/var/luna/data

if ! pidof luna >/dev/null 2>&1; then
  nohup /data/yam/bin/luna --listen 0.0.0.0:8099 --data-dir /data/yam/var/luna/data \
    >>/data/yam/var/luna/luna.log 2>&1 &
fi

# Wait up to 30s for Luna's HTTP API on :8099
i=0
while [ "$i" -lt 30 ]; do
  if wget -qO- http://127.0.0.1:8099/api/device >/dev/null 2>&1; then
    break
  fi
  i=$((i + 1))
  sleep 1
done
