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 }}
  strategy:
    rollingUpdate:
      maxSurge: {{ .Values.gerritMaster.maxSurge }}
      maxUnavailable: {{ .Values.gerritMaster.maxUnavailable }}
  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-site
          mountPath: "/var/gerrit"
      - 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

          /var/tools/gerrit_init.py \
            {{- if .Values.gerritMaster.reviewdb.enabled }}
            --reviewdb \
            {{- end }}
            -s /var/gerrit \
            -p replication \
            -p commit-message-length-validator \
            -p download-commands \
            -p reviewnotes

          symlink_config_to_site

          /var/tools/validate_db.py -s /var/gerrit
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - 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 }}
        ports:
        - name: gerrit-port
          containerPort: 8080
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: git-filesystem
          mountPath: "/var/gerrit/git"
        - 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/config/keystore"
          subPath: keystore
        {{- end }}
        resources:
{{ toYaml .Values.gerritMaster.resources | indent 10 }}
        livenessProbe:
          httpGet:
            path: /config/server/version
            port: gerrit-port
{{ toYaml .Values.gerritMaster.livenessProbe | indent 10 }}
        readinessProbe:
          httpGet:
            path: /config/server/version
            port: gerrit-port
{{ toYaml .Values.gerritMaster.readinessProbe | indent 10 }}
      volumes:
      - name: gerrit-site
        {{ if .Values.gerritMaster.persistence.enabled -}}
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-gerrit-master-pvc
        {{ else -}}
        emptyDir: {}
        {{- end }}
      - name: git-filesystem
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-git-filesystem-pvc
      - name: gerrit-config
        configMap:
          name: {{ .Release.Name }}-gerrit-master-configmap
      - name: gerrit-master-secure-config
        secret:
          secretName: {{ .Release.Name }}-gerrit-master-secure-config
