#!/bin/ash

symlink_config_to_site(){
  mkdir -p /var/gerrit/etc
  for file in /var/mnt/etc/config/* /var/mnt/etc/secret/*; do
      ln -sf $file /var/gerrit/etc/$(basename $file)
  done
}

# Ensure that configuration provided at /var/mnt/config and /var/mnt/secret
# is symlinked to the Gerrit site. This is necessary, because mounting files
# from secrets/configmaps in Kubernetes make the containing directory read-only.
symlink_config_to_site

IS_REPLICA=$(git config -f /var/gerrit/etc/gerrit.config --get container.replica)
if [[ ! "$IS_REPLICA" == "true" ]]; then
  echo "`container.replica` in `gerrit.config` has to be `true`"
  exit 1
fi

# workaround gerrit.sh does not start httpd
JAVA_OPTIONS=$(git config --file /var/gerrit/etc/gerrit.config --get-all container.javaOptions)
java ${JAVA_OPTIONS} -jar /var/gerrit/bin/gerrit.war daemon \
  -d /var/gerrit \
  --enable-httpd \
  --replica &

tail -F -n +1 /var/gerrit/logs/error_log
