#!/bin/bash

symlink_config_to_site(){
  mkdir -p /var/gerrit/etc
  for file in keystore gerrit.config secure.config; do
    test -f /var/config/$file && \
      ln -sf /var/config/$file /var/gerrit/etc/$file
  done
}

create_missing_repository(){
  test -d $1 || git init --bare $1
}

# Ensure that configuration provided at /var/config 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

create_missing_repository /var/gerrit/git/All-Projects.git
create_missing_repository /var/gerrit/git/All-Users.git

DB=$(git config --file /var/gerrit/etc/gerrit.config --get database.type)
if [[ "${DB^^}" == "MYSQL" ]]; then
  /var/tools/download_db_driver
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 \
  --slave &

tail -F -n +1 /var/gerrit/logs/{error,httpd,sshd}_log
