apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-git-backend-deployment
  labels:
    app: git-backend
    chart: {{ template "gerrit-replica.chart" . }}
    heritage: {{ .Release.Service }}
    release: {{ .Release.Name }}
spec:
  replicas: {{ .Values.gitBackend.replicas | default 1 }}
  strategy:
    rollingUpdate:
      maxSurge: {{ .Values.gitBackend.maxSurge }}
      maxUnavailable: {{ .Values.gitBackend.maxUnavailable }}
  selector:
    matchLabels:
      app: git-backend
  template:
    metadata:
      labels:
        app: git-backend
        chart: {{ template "gerrit-replica.chart" . }}
        heritage: {{ .Release.Service }}
        release: {{ .Release.Name }}
      annotations:
        chartRevision: "{{ .Release.Revision }}"
    spec:
      securityContext:
        fsGroup: 100
      {{ if .Values.images.registry.ImagePullSecret.name -}}
      imagePullSecrets:
      - name: {{ .Values.images.registry.ImagePullSecret.name }}
      {{- end }}
      initContainers:
      {{- if .Values.nfsWorkaround.enabled }}
      - name: nfs-init
        image: busybox
        command:
        - sh
        - -c
        args:
        - |
          chown -R 1000:100 /var/mnt/logs
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        volumeMounts:
        - name: logs
          subPathExpr: "gerrit-replica/$(POD_NAME)"
          mountPath: "/var/mnt/logs"
        - name: nfs-config
          mountPath: "/etc/idmapd.conf"
          subPath: idmapd.conf
      {{- end }}
      containers:
      - name: apache-git-http-backend
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        image: {{ template "registry" . }}{{ .Values.gitBackend.image }}:{{ .Values.images.version }}
        env:
        {{ if eq .Values.gitBackend.service.https.enabled false -}}
        - name: DISABLE_HTTPS
          value: "true"
        {{- end }}
        {{ if eq .Values.gitBackend.service.http.enabled false -}}
        - name: DISABLE_HTTP
          value: "true"
        {{- end }}
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        ports:
        {{ if eq .Values.gitBackend.service.http.enabled true -}}
        - name: http-port
          containerPort: 80
        {{- end }}
        {{ if eq .Values.gitBackend.service.https.enabled true -}}
        - name: https-port
          containerPort: 443
        {{- end }}
        resources:
{{ toYaml .Values.gitBackend.resources | indent 10 }}
        livenessProbe:
          httpGet:
            path: /
            {{ if eq .Values.gitBackend.service.http.enabled true -}}
            port: http-port
            {{- else }}
            port: https-port
            {{- end }}
{{ toYaml .Values.gitBackend.livenessProbe | indent 10 }}
        readinessProbe:
          httpGet:
            path: /
            {{ if eq .Values.gitBackend.service.http.enabled true -}}
            port: http-port
            {{- else }}
            port: https-port
            {{- end }}
{{ toYaml .Values.gitBackend.readinessProbe | indent 10 }}
        volumeMounts:
        - name: git-repositories
          mountPath: "/var/gerrit/git"
        - name: logs
          subPathExpr: "apache-git-http-backend/$(POD_NAME)"
          mountPath: "/var/log/apache2"
        {{- if .Values.nfsWorkaround.enabled }}
        - name: nfs-config
          mountPath: "/etc/idmapd.conf"
          subPath: idmapd.conf
        {{- end }}
        - name: git-backend-secret
          readOnly: true
          subPath: .htpasswd
          mountPath: "/var/apache/credentials/.htpasswd"
        {{ if .Values.gitBackend.service.https.enabled -}}
        - name: git-backend-tls-secret
          readOnly: true
          subPath: tls.key
          mountPath: "/var/apache/credentials/server.key"
        - name: git-backend-tls-secret
          readOnly: true
          subPath: tls.crt
          mountPath: "/var/apache/credentials/server.crt"
        {{ end }}
      volumes:
      - name: git-repositories
        persistentVolumeClaim:
          {{- if .Values.gitRepositoryStorage.externalPVC.use }}
          claimName: {{ .Values.gitRepositoryStorage.externalPVC.name }}
          {{- else }}
          claimName: {{ .Release.Name }}-git-repositories-pvc
          {{- end }}
      - name: git-backend-secret
        secret:
          secretName: {{ .Release.Name }}-git-backend-secret
      {{ if and .Values.gitBackend.service.https.enabled -}}
      - name: git-backend-tls-secret
        secret:
          {{ if .Values.gitBackend.tls.secret.create -}}
          secretName: {{ .Release.Name }}-git-backend-tls-secret
          {{- else }}
          secretName: {{ .Values.gitBackend.tls.secret.name }}
          {{- end }}
      {{ end }}
      - name: logs
        {{ if .Values.logStorage.enabled -}}
        persistentVolumeClaim:
          {{- if .Values.logStorage.externalPVC.use }}
          claimName: {{ .Values.logStorage.externalPVC.name }}
          {{- else }}
          claimName: {{ .Release.Name }}-log-pvc
          {{- end }}
        {{ else -}}
        emptyDir: {}
        {{- end }}
      {{- if .Values.nfsWorkaround.enabled }}
      - name: nfs-config
        configMap:
          name: {{ .Release.Name }}-nfs-configmap
      {{- end }}
