apiVersion: batch/v1
kind: Job
metadata:
  name: {{ .Release.Name }}-git-repositories-init
  labels:
    app: gerrit-replica
    chart: {{ template "gerrit-replica.chart" . }}
    heritage: {{ .Release.Service }}
    release: {{ .Release.Name }}
spec:
  template:
    {{ if .Values.istio.enabled -}}
    metadata:
      annotations:
        sidecar.istio.io/inject: "false"
    {{- end }}
    spec:
      securityContext:
        fsGroup: 100
      {{ if .Values.images.registry.ImagePullSecret.name -}}
      imagePullSecrets:
      - name: {{ .Values.images.registry.ImagePullSecret.name }}
      {{- end }}
      {{- if .Values.nfsWorkaround.enabled }}
      initContainers:
      - name: nfs-init
        image: busybox
        command:
        - sh
        - -c
        args:
        - |
          chown -R 1000:100 /var/mnt
        volumeMounts:
        - name: git-repositories
          mountPath: "/var/mnt/git"
        - name: logs
          mountPath: "/var/mnt/logs"
        - name: nfs-config
          mountPath: "/etc/idmapd.conf"
          subPath: idmapd.conf
      {{- end }}
      containers:
      - name: create-repositories
        image: {{ template "registry" . }}{{ .Values.gerritReplica.images.gerritInit }}:{{ .Values.images.version }}
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        command:
        - /bin/ash
        - -ce
        args:
        - |
          if test -d /var/mnt/git/All-Projects.git && \
              test -d /var/mnt/git/All-Users.git; then
            echo "Repositories already exist. Won't perform initial creation."
            exit 0
          fi

          mkdir -p /var/gerrit/etc
          ln -sf /var/config/gerrit.config /var/gerrit/etc/gerrit.config
          ln -sf /var/mnt/git /var/gerrit/

          /var/tools/gerrit_init.py \
            -c /var/config/gerrit-init.yaml \
            -s /var/gerrit
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: git-repositories
          mountPath: "/var/mnt/git"
        - name: logs
          subPathExpr: "gerrit-replica/$(POD_NAME)"
          mountPath: "/var/gerrit/logs"
        - name: gerrit-init-config
          mountPath: "/var/config/gerrit-init.yaml"
          subPath: gerrit-init.yaml
        - name: gerrit-config
          mountPath: "/var/config/gerrit.config"
          subPath: gerrit.config
      volumes:
      - name: gerrit-site
        emptyDir: {}
      - name: git-repositories
        persistentVolumeClaim:
          {{- if .Values.gitRepositoryStorage.externalPVC.use }}
          claimName: {{ .Values.gitRepositoryStorage.externalPVC.name }}
          {{- else }}
          claimName: {{ .Release.Name }}-git-repositories-pvc
          {{- 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 }}
      - name: gerrit-init-config
        configMap:
          name: {{ .Release.Name }}-gerrit-init-configmap
      - name: gerrit-config
        configMap:
          name: {{ .Release.Name }}-gerrit-replica-configmap
      {{- if .Values.nfsWorkaround.enabled }}
      - name: nfs-config
        configMap:
          name: {{ .Release.Name }}-nfs-configmap
      {{- end }}
      restartPolicy: Never
