apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-gerrit-master-deployment
  labels:
    app: gerrit-master
    chart: {{ template "gerrit-master.chart" . }}
    heritage: {{ .Release.Service }}
    release: {{ .Release.Name }}
spec:
  replicas: {{ .Values.gerritMaster.replicas | default 1 }}
  selector:
    matchLabels:
      app: gerrit-master
  template:
    metadata:
      labels:
        app: gerrit-master
    spec:
      securityContext:
        fsGroup: 100
      {{ if .Values.images.registry.ImagePullSecret.name -}}
      imagePullSecrets:
      - name: {{ .Values.images.registry.ImagePullSecret.name }}
      {{- end }}
      initContainers:
      - name: site-cleanup
        image: busybox
        securityContext:
          runAsUser: 1000
          runAsGroup: 100
        command:
        - sh
        - -c
        args:
        - |
          rm -f /var/gerrit/logs/gerrit.pid
        volumeMounts:
        - name: gerrit-logs
          mountPath: "/var/gerrit/logs"
      - name: gerrit-init
        image: {{ template "registry" . }}{{ .Values.gerritMaster.images.gerritInit }}:{{ .Values.images.version }}
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        command:
        - /bin/bash
        - -ce
        args:
        - |
          symlink_config_to_site(){
            {{ if .Values.gerritMaster.keystore -}}
            ln -s /var/keystore /var/gerrit/etc/keystore
            {{- end }}
            ln -sf /var/config/gerrit.config /var/gerrit/etc/gerrit.config
            ln -sf /var/config/secure.config /var/gerrit/etc/secure.config
          }

          mkdir -p /var/gerrit/etc
          symlink_config_to_site

          if [ ! -f /var/gerrit/bin/gerrit.sh ]; then
            /var/tools/gerrit_init.py \
              -s /var/gerrit \
              -p replication \
              -p commit-message-length-validator \
              -p download-commands \
              -p reviewnotes

            symlink_config_to_site
          fi

          /var/tools/validate_db.py -s /var/gerrit
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: gerrit-db
          mountPath: "/var/gerrit/db"
        - name: git-filesystem
          mountPath: "/var/gerrit/git"
        - name: gerrit-config
          mountPath: "/var/config/gerrit.config"
          subPath: gerrit.config
        - name: gerrit-master-secure-config
          mountPath: "/var/config/secure.config"
          subPath: secure.config
        {{ if .Values.gerritMaster.keystore -}}
        - name: gerrit-master-secure-config
          mountPath: "/var/keystore"
          subPath: keystore
        {{- end }}
      containers:
      - name: gerrit-master
        image: {{ template "registry" . }}{{ .Values.gerritMaster.images.gerritMaster }}:{{ .Values.images.version }}
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        command:
        - /bin/bash
        - -c
        args:
        - |
          symlink_config_to_site(){
            {{ if .Values.gerritMaster.keystore -}}
            ln -s /var/keystore /var/gerrit/etc/keystore
            {{- end }}
            ln -sf /var/config/gerrit.config /var/gerrit/etc/gerrit.config
            ln -sf /var/config/secure.config /var/gerrit/etc/secure.config
            ln -sf /var/config/replication.config /var/gerrit/etc/replication.config
          }

          mkdir -p /var/gerrit/etc
          symlink_config_to_site

          java -jar /var/gerrit/bin/gerrit.war reindex \
              -d /var/gerrit

          /var/gerrit/bin/gerrit.sh start

          tail -F -n +1 /var/gerrit/logs/{error,httpd,sshd}_log
        ports:
        - containerPort: 8080
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: gerrit-db
          mountPath: "/var/gerrit/db"
        - name: git-filesystem
          mountPath: "/var/gerrit/git"
        - name: gerrit-logs
          mountPath: "/var/gerrit/logs"
        - name: gerrit-config
          mountPath: "/var/config/gerrit.config"
          subPath: gerrit.config
        - name: gerrit-config
          mountPath: "/var/config/replication.config"
          subPath: replication.config
        - name: gerrit-master-secure-config
          mountPath: "/var/config/secure.config"
          subPath: secure.config
        {{ if .Values.gerritMaster.keystore -}}
        - name: gerrit-master-secure-config
          mountPath: "/var/keystore"
          subPath: keystore
        {{- end }}
        resources:
{{ toYaml .Values.gerritMaster.resources | indent 10 }}
      volumes:
      - name: gerrit-site
        emptyDir: {}
      - name: gerrit-db
        {{ if .Values.gerritMaster.h2Database.persistence.enabled -}}
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-gerrit-master-db-pvc
        {{ else -}}
        emptyDir: {}
        {{- end }}
      - name: git-filesystem
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-git-filesystem-pvc
      - name: gerrit-logs
        {{ if .Values.gerritMaster.logging.persistence.enabled -}}
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-gerrit-master-logs-pvc
        {{ else -}}
        emptyDir: {}
        {{- end }}
      - name: gerrit-config
        configMap:
          name: {{ .Release.Name }}-gerrit-master-configmap
      - name: gerrit-master-secure-config
        secret:
          secretName: {{ .Release.Name }}-gerrit-master-secure-config
