blob: 980fc809cc53ce638b8f860e1ef1afb47cb22974 [file] [view]
# apache-git-http-backend
The apache-git-http-backend docker image serves as receiver in git replication
from a Gerrit master to a Gerrit slave.
## Content
* base image
* Apache webserver
* Apache configurations for http and https
* git (via base image)
* `tools/create_repo.sh`: cgi script to enable remote creation of new git
repository over http. This is triggered by the Gerrit replication plugin
if a new repository on the Gerrit master does not yet exist in a Gerrit slave,
a corresponding
[change for the replication plugin](https://gerrit-review.googlesource.com/c/plugins/replication/+/199900)
enabling repository creation via http is still in review for master and will be
downported to 2.16
* `tools/start`: start script, configures and starts Apache
webserver
* `start`: start script for testing image using Docker
## Setup and Configuration
* install Apache webserver
* configure Apache for http and/or https
* install cgi script
* open ports for incoming traffic
* create gerrit OS user
* map volumes
## Start
* verify filesystem permissions. In Kubernetes this is done using a
[SecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
It is used to set the filesystem group of mounted volumes to 100 (users),
which is used by the gerrit-user in the containers. Thereby it is ensured
that the volumes have rw-permissions for the gerrit-user.
* start Apache git-http backend via start script `/var/tools/start`