# Running default entrypoint
echo "Waiting for InfluxDB available ${INFLUXDB_URL}/health"
until curl -q --connect-timeout 2 ${INFLUXDB_URL}/health > /dev/null ; do
  sleep 5
done
echo "InfluxDB available ${INFLUXDB_URL}/health - OK"

sudo chown -R grafana:grafana /var/lib/grafana

echo "Preparing /var/lib/grafana/dashboards..."
if [ ! -d /var/lib/grafana/dashboards ]; then
  mkdir -p /var/lib/grafana/dashboards
  cp -r /var/lib/grafana.init/dashboards/* /var/lib/grafana/dashboards/
else
  echo "Folder exists /var/lib/grafana/dashboards "
fi

echo "Preparing /var/lib/grafana/plugins..."
if [ ! -d /var/lib/grafana/plugins ]; then
  mkdir -p /var/lib/grafana/plugins
else
  echo "Folder exists /var/lib/grafana/plugins"
fi
cp -r /var/lib/grafana.init/plugins/ /var/lib/grafana
echo "GF_PATHS_PLUGINS=${GF_PATHS_PLUGINS}"
ls -al ${GF_PATHS_PLUGINS}

sed -i 's%__CALLBACK_ROOT_URL__%'"${CALLBACK_ROOT_URL}"'%'  /usr/share/grafana/conf/defaults.ini
sed -i 's%__GITHUB_CLIENT_ID__%'"${GITHUB_CLIENT_ID}"'%'  /usr/share/grafana/conf/defaults.ini
sed -i 's%__GITHUB_CLIENT_SECRET__%'"${GITHUB_CLIENT_SECRET}"'%'  /usr/share/grafana/conf/defaults.ini

echo "Generating file datasources/influxdb.yml..."
if [ ! -z ${INFLUXDB_URL} ]; then
  sed -i "s%url: http://influxdb:8086%url: ${INFLUXDB_URL}%" /etc/grafana/provisioning/datasources/influxdb.yml
  sed -i "s%user: \"admin\"%user: \"${INFLUXDB_ADMIN_USER}\"%" /etc/grafana/provisioning/datasources/influxdb.yml
  sed -i "s%password: \"admin\"%password: \"${INFLUXDB_ADMIN_PASSWORD}\"%" /etc/grafana/provisioning/datasources/influxdb.yml
fi

echo "Installing Plugins GF_INSTALL_PLUGINS..."
if [ ! -z "${GF_INSTALL_PLUGINS}" ]; then \
    OLDIFS=$IFS; \
        IFS=','; \
    for plugin in ${GF_INSTALL_PLUGINS}; do \
        IFS=$OLDIFS; \
        grafana-cli --pluginsDir "/var/lib/grafana/plugins" plugins install ${plugin}; \
    done; \
fi

echo "Starting /run.sh..."
exec /run.sh
