| #!/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 |