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/ash
        - -ce
        args:
        - |
          /var/tools/gerrit_init.py \
            -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"
      {{- end }}
      # 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/ash
        - -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 \
            -s /var/gerrit \
            -p singleusergroup

          symlink_config_to_site
          {{- end }}

          /var/tools/validate_notedb.py -s /var/gerrit
        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
