apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-gerrit-slave-deployment
  labels:
    app: gerrit-slave
    chart: {{ template "gerrit-slave.chart" . }}
    heritage: {{ .Release.Service }}
    release: {{ .Release.Name }}
spec:
  replicas: {{ .Values.gerritSlave.replicas | default 1 }}
  strategy:
    rollingUpdate:
      maxSurge: {{ .Values.gerritSlave.maxSurge }}
      maxUnavailable: {{ .Values.gerritSlave.maxUnavailable }}
  selector:
    matchLabels:
      app: gerrit-slave
  template:
    metadata:
      labels:
        app: gerrit-slave
    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:
        - |
          # Remove directories that should be mounted rather than exist with the
          # rest of the site
          [ ! -L /var/gerrit/git ] && rm -rf /var/gerrit/git
          rm -f /var/gerrit/logs/gerrit.pid
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
      {{ if not .Values.gerritSlave.initializeTestSite.enabled -}}
      # Initialize the volume containing the whole Gerrit-site with defaults
      # Not needed, when running in test mode, since then the configured site will
      # be initialized
      - name: populate-gerrit-site-volume
        image: {{ template "registry" . }}{{ .Values.gerritSlave.images.gerritInit }}:{{ .Values.images.version }}
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        command:
        - /bin/bash
        - -ce
        args:
        - |
          mkdir -p /var/gerrit/etc
          ln -sf /var/config/secure.config /var/gerrit/etc/secure.config

          /var/tools/gerrit_init.py \
            {{- if .Values.gerritSlave.reviewdb.enabled }}
            --reviewdb \
            {{- end }}
            -s /var/gerrit \
            -p singleusergroup

          # The git repositories will be mounted from a volume
          [ -L /var/gerrit/git ] || rm -rf /var/gerrit/git
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: gerrit-slave-secure-config
          mountPath: "/var/config/secure.config"
          subPath: secure.config
      {{- end }}
      # Wait for database to be ready and, if configured, run initialization
      # taking the given Gerrit configuration and persisted volumes into account.
      - name: gerrit-init
        image: {{ template "registry" . }}{{ .Values.gerritSlave.images.gerritInit }}:{{ .Values.images.version }}
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        command:
        - /bin/bash
        - -ce
        args:
        - |
          symlink_config_to_site(){
            {{ if .Values.gerritSlave.keystore -}}
            ln -s /var/config/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 [ ! -d /var/gerrit/git ]; then
            ln -sf /var/mnt/git /var/gerrit/
          fi

          {{ if .Values.gerritSlave.initializeTestSite.enabled -}}
          /var/tools/gerrit_init.py \
            {{- if .Values.gerritSlave.reviewdb.enabled }}
            --reviewdb \
            {{- end }}
            -s /var/gerrit \
            -p singleusergroup

          symlink_config_to_site
          {{- end }}

          {{- if .Values.gerritSlave.reviewdb.enabled }}
          /var/tools/validate_db.py -s /var/gerrit
          {{- else }}
          /var/tools/validate_notedb.py -s /var/gerrit
          {{- end }}
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: git-filesystem
          mountPath: "/var/mnt/git"
        - name: gerrit-config
          mountPath: "/var/config/gerrit.config"
          subPath: gerrit.config
        - name: gerrit-slave-secure-config
          mountPath: "/var/config/secure.config"
          subPath: secure.config
        {{ if .Values.gerritSlave.keystore -}}
        - name: gerrit-slave-secure-config
          mountPath: "/var/config/keystore"
          subPath: keystore
        {{- end }}
      containers:
      - name: gerrit-slave
        image: {{ template "registry" . }}{{ .Values.gerritSlave.images.gerritSlave }}:{{ .Values.images.version }}
        imagePullPolicy: {{ .Values.images.imagePullPolicy }}
        ports:
        - containerPort: 8080
        volumeMounts:
        - name: gerrit-site
          mountPath: "/var/gerrit"
        - name: git-filesystem
          mountPath: "/var/mnt/git"
        - name: gerrit-config
          mountPath: "/var/config/gerrit.config"
          subPath: gerrit.config
        - name: gerrit-slave-secure-config
          mountPath: "/var/config/secure.config"
          subPath: secure.config
        {{ if .Values.gerritSlave.keystore -}}
        - name: gerrit-slave-secure-config
          mountPath: "/var/config/keystore"
          subPath: keystore
        {{- end }}
        resources:
{{ toYaml .Values.gerritSlave.resources | indent 10 }}
      volumes:
      - name: gerrit-site
        {{ if .Values.gerritSlave.persistence.enabled -}}
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-gerrit-slave-pvc
        {{ else -}}
        emptyDir: {}
        {{- end }}
      - name: git-filesystem
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-git-filesystem-pvc
      - name: gerrit-config
        configMap:
          name: {{ .Release.Name }}-gerrit-slave-configmap
      - name: gerrit-slave-secure-config
        secret:
          secretName: {{ .Release.Name }}-gerrit-slave-secure-config
