{{- $root := . -}}

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: {{ .Release.Name }}-gerrit-stateful-set
  labels:
    app: gerrit
    chart: {{ template "gerrit.chart" . }}
    heritage: {{ .Release.Service }}
    release: {{ .Release.Name }}
spec:
  serviceName: {{ .Release.Name }}-gerrit-service
  replicas: {{ .Values.gerrit.replicas }}
  updateStrategy:
    rollingUpdate:
      partition: {{ .Values.gerrit.updatePartition }}
  selector:
    matchLabels:
      app: gerrit
  template:
    metadata:
      labels:
        app: gerrit
        chart: {{ template "gerrit.chart" . }}
        heritage: {{ .Release.Service }}
        release: {{ .Release.Name }}
      annotations:
        chartRevision: "{{ .Release.Revision }}"
    spec:
      {{- with .Values.gerrit.tolerations }}
      tolerations:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.gerrit.topologySpreadConstraints }}
      topologySpreadConstraints:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.gerrit.affinity }}
      affinity:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.gerrit.priorityClassName }}
      priorityClassName: {{ . }}
      {{- end }}
      terminationGracePeriodSeconds: {{ .Values.gerrit.gracefulStopTimeout }}
      securityContext:
        fsGroup: 100
      {{ if .Values.images.registry.ImagePullSecret.name -}}
      imagePullSecrets:
      - name: {{ .Values.images.registry.ImagePullSecret.name }}
      {{- range .Values.images.additionalImagePullSecrets }}
      - name: {{ . }}
      {{- end }}
      {{- end }}
      initContainers:
      - name: site-cleanup
        image: {{ .Values.images.busybox.registry -}}/busybox:{{- .Values.images.busybox.tag }}
        securityContext:
          runAsUser: 1000
          runAsGroup: 100
        command:
        - sh
        - -c
        args:
        - |
          # Remove directories that should be mounted rather than exist with the
          # rest of the site
          for dir in git {{ if eq .Values.gerrit.index.type "elasticsearch" }}index{{ end }}; do
            [ ! -L /var/gerrit/$dir ] && rm -rf /var/gerrit/$dir
          done
          rm -f /var/gerrit/logs/gerrit.pid

          if [ -d /var/gerrit/data ]; then
            for link in $(find /var/gerrit/data -type l); do
              if [[ $(readlink -f $link) == /var/mnt/data/* ]]; then
                unlink $link
              fi
            done
          fi
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
      - name: gerrit-init
        image: {{ template "registry" . }}{{ .Values.gerrit.images.gerritInit }}:{{ .Values.images.version }}
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        command:
        - /bin/ash
        - -ce
        args:
        - |
          symlink_config_to_site(){
            for file in /var/mnt/etc/config/* /var/mnt/etc/secret/*; do
              ln -sf $file /var/gerrit/etc/$(basename $file)
            done
          }

          mkdir -p /var/gerrit/etc
          symlink_config_to_site

          mkdir -p /var/gerrit/data
          {{- range .Values.gerrit.additionalConfigMaps }}
          if [ -d /var/mnt/data ]; then
            for file in $(find /var/mnt/data/{{ .subDir }} -type f); do
              mkdir -p /var/gerrit/data/{{ .subDir }}
              ln -sf $file /var/gerrit/data/{{ .subDir }}/$(basename $file)
            done
          fi
          {{- end }}

          for dir in git {{ if eq .Values.gerrit.index.type "elasticsearch" }}index{{ end }}; do
            if [ ! -d /var/gerrit/$dir ]; then
              ln -sf /var/mnt/$dir /var/gerrit/
            fi
          done

          python3 /var/tools/gerrit-initializer \
            -c /var/config/gerrit-init.yaml \
            -s /var/gerrit \
            init

          symlink_config_to_site

          {{ if not .Values.gerrit.persistence.enabled -}}
            FLAGS="$FLAGS --force"
          {{- end }}

          # TODO (Thomas): Do not enforce offline-reindexing, when online-reindexing
          # is configured.
          python3 /var/tools/gerrit-initializer \
            -c /var/config/gerrit-init.yaml \
            -s /var/gerrit \
            reindex \
            $FLAGS

        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: git-repositories
          mountPath: "/var/mnt/git"
        - name: gerrit-init-config
          mountPath: "/var/config/gerrit-init.yaml"
          subPath: gerrit-init.yaml
        {{- if and .Values.gerrit.plugins.cache.enabled .Values.gerrit.plugins.downloaded }}
        - name: gerrit-plugin-cache
          mountPath: "/var/mnt/plugins"
        {{- end }}
        {{ if eq .Values.gerrit.index.type "elasticsearch" -}}
        - name: gerrit-index-config
          mountPath: "/var/mnt/index"
        {{- end }}
        - name: gerrit-config
          mountPath: "/var/mnt/etc/config"
        - name: gerrit-secure-config
          mountPath: "/var/mnt/etc/secret"
        {{ if .Values.caCert -}}
        - name: tls-ca
          subPath: ca.crt
          mountPath: "/var/config/ca.crt"
        {{- end }}
        {{- range .Values.gerrit.additionalConfigMaps }}
        - name: {{ .name }}
          mountPath: "/var/mnt/data/{{ .subDir }}"
        {{- end }}
      containers:
      - name: gerrit
        image: {{ template "registry" . }}{{ .Values.gerrit.images.gerrit }}:{{ .Values.images.version }}
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        lifecycle:
          preStop:
            exec:
              command:
                - "/bin/ash"
                - "-c"
                - "kill -2 $(pidof java) && tail --pid=$(pidof java) -f /dev/null"
        ports:
        - name: gerrit-port
          containerPort: 8080
        {{- if .Values.gerrit.service.ssh.enabled }}
        - name: gerrit-ssh
          containerPort: 29418
        {{- end }}
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: git-repositories
          mountPath: "/var/mnt/git"
        {{ if eq .Values.gerrit.index.type "elasticsearch" -}}
        - name: gerrit-index-config
          mountPath: "/var/mnt/index"
        {{- end }}
        {{- if and .Values.gerrit.plugins.cache.enabled .Values.gerrit.plugins.downloaded }}
        - name: gerrit-plugin-cache
          mountPath: "/var/mnt/plugins"
        {{- end }}
        - name: gerrit-config
          mountPath: "/var/mnt/etc/config"
        - name: gerrit-secure-config
          mountPath: "/var/mnt/etc/secret"
        {{- range .Values.gerrit.additionalConfigMaps }}
        - name: {{ .name }}
          mountPath: "/var/mnt/data/{{ .subDir }}"
        {{- end }}
        resources:
{{ toYaml .Values.gerrit.resources | indent 10 }}
        livenessProbe:
          httpGet:
            path: /config/server/healthcheck~status
            port: gerrit-port
{{ toYaml .Values.gerrit.livenessProbe | indent 10 }}
        readinessProbe:
          httpGet:
            path: /config/server/healthcheck~status
            port: gerrit-port
{{ toYaml .Values.gerrit.readinessProbe | indent 10 }}
        startupProbe:
          httpGet:
            path: /config/server/healthcheck~status
            port: gerrit-port
{{ toYaml .Values.gerrit.startupProbe | indent 10 }}
      volumes:
      {{ if not .Values.gerrit.persistence.enabled -}}
      - name: gerrit-site
        emptyDir: {}
      {{- end }}
      {{- if and .Values.gerrit.plugins.cache.enabled .Values.gerrit.plugins.downloaded }}
      - name: gerrit-plugin-cache
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-plugin-cache-pvc
      {{- end }}
      - name: git-repositories
        persistentVolumeClaim:
          {{- if .Values.gitRepositoryStorage.externalPVC.use }}
          claimName: {{ .Values.gitRepositoryStorage.externalPVC.name }}
          {{- else }}
          claimName: {{ .Release.Name }}-git-repositories-pvc
          {{- end }}
      - name: gerrit-init-config
        configMap:
          name: {{ .Release.Name }}-gerrit-init-configmap
      {{ if eq .Values.gerrit.index.type "elasticsearch" -}}
      - name: gerrit-index-config
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-gerrit-index-config-pvc
      {{- end }}
      - name: gerrit-config
        configMap:
          name: {{ .Release.Name }}-gerrit-configmap
      - name: gerrit-secure-config
        secret:
          secretName: {{ .Release.Name }}-gerrit-secure-config
      {{ if .Values.caCert -}}
      - name: tls-ca
        secret:
          secretName: {{ .Release.Name }}-tls-ca
      {{- end }}
      {{- range .Values.gerrit.additionalConfigMaps }}
      - name: {{ .name }}
        configMap:
          name: {{ if .data }}{{ $root.Release.Name }}-{{ .name }}{{ else }}{{ .name }}{{ end }}
      {{- end }}
  volumeClaimTemplates:
  {{ if .Values.gerrit.persistence.enabled -}}
  - metadata:
      name: gerrit-site
      labels:
        app: gerrit
        chart: {{ template "gerrit.chart" . }}
        heritage: {{ .Release.Service }}
        release: {{ .Release.Name }}
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: {{ .Values.gerrit.persistence.size }}
      storageClassName: {{ .Values.storageClasses.default.name }}
  {{- end }}
