apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "zot.fullname" . }}
  labels:
    {{- include "zot.labels" . | nindent 4 }}
spec:
  replicas: {{ .Values.replicaCount }}
  {{- with .Values.strategy }}
  strategy:
    {{- toYaml . | nindent 4 }}
  {{- end }}
  selector:
    matchLabels:
      {{- include "zot.selectorLabels" . | nindent 6 }}
  template:
    metadata:
      annotations:
        {{- with .Values.podAnnotations }}
        {{- toYaml . | nindent 8 }}
        {{- end }}
        {{- if and .Values.mountConfig .Values.configFiles }}
        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
        {{- end }}
        {{- if .Values.forceRoll }}
        rollme: {{ randAlphaNum 5 | quote }}
        {{- end }}
      labels:
        {{- include "zot.selectorLabels" . | nindent 8 }}
    spec:
      {{- with .Values.imagePullSecrets }}
      imagePullSecrets:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      serviceAccountName: {{ include "zot.serviceAccountName" . }}
      securityContext:
        {{- toYaml .Values.podSecurityContext | nindent 8 }}
      containers:
        - name: {{ .Chart.Name }}
          securityContext:
            {{- toYaml .Values.securityContext | nindent 12 }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          env:
            {{- toYaml .Values.env | nindent 12 }}
          ports:
            - name: zot
              containerPort: 5000
              protocol: TCP
          {{- if or (not (empty .Values.extraVolumeMounts)) .Values.mountConfig .Values.mountSecret .Values.persistence .Values.externalSecrets }}
          volumeMounts:
          {{- if .Values.mountConfig }}
            - mountPath: '/etc/zot'
              name: {{ .Release.Name }}-config
          {{- end }}
          {{- if .Values.mountSecret }}
            - mountPath: '/secret'
              name: {{ .Release.Name }}-secret
          {{- end }}
          {{- range .Values.externalSecrets }}
            - mountPath: {{ .mountPath | quote }}
              name: {{ .secretName | quote }}
          {{- end }}
          {{- if .Values.persistence }}
            - mountPath: '/var/lib/registry'
              name: {{ .Release.Name }}-volume
          {{- end }}
          {{- with .Values.extraVolumeMounts }}
          {{- toYaml . | nindent 12 }}
          {{- end }}
          {{- end }}
          livenessProbe:
            initialDelaySeconds: 5
            httpGet:
              path: /v2/
              port: 5000
              scheme: {{ .Values.httpGet.scheme }}
              {{- if .Values.authHeader }}
              httpHeaders:
                - name: Authorization
                  value: Basic {{ .Values.authHeader }}
              {{- end }}
          readinessProbe:
            initialDelaySeconds: 5
            httpGet:
              path: /v2/
              port: 5000
              scheme: {{ .Values.httpGet.scheme }}
              {{- if .Values.authHeader }}
              httpHeaders:
                - name: Authorization
                  value: Basic {{ .Values.authHeader }}
              {{- end }}
          startupProbe:
            initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }}
            periodSeconds: {{ .Values.startupProbe.periodSeconds }}
            failureThreshold: {{ .Values.startupProbe.failureThreshold }}
            httpGet:
              path: /v2/
              port: 5000
              scheme: {{ .Values.httpGet.scheme }}
              {{- if .Values.authHeader }}
              httpHeaders:
                - name: Authorization
                  value: Basic {{ .Values.authHeader }}
              {{- end }}
          resources:
            {{- toYaml .Values.resources | nindent 12 }}
      {{- if or .Values.mountConfig .Values.mountSecret .Values.persistence .Values.externalSecrets (not (empty .Values.extraVolumes))}}
      volumes:
      {{- if .Values.mountConfig }}
        - name: {{ .Release.Name }}-config
          configMap:
            name: {{ .Release.Name }}-config
      {{- end }}
      {{- if .Values.mountSecret }}
        - name: {{ .Release.Name }}-secret
          secret:
            secretName: {{ .Release.Name }}-secret
      {{- end }}
      {{- range .Values.externalSecrets }}
        - name: {{ .secretName }}
          secret:
            secretName: {{ .secretName }}
      {{- end }}
      {{- if .Values.persistence }}
        - name: {{ .Release.Name }}-volume
          persistentVolumeClaim:
            claimName: {{ .Values.pvc.name | default (printf "%s-pvc" .Release.Name) }}
      {{- end }}
      {{- with .Values.extraVolumes }}
      {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- end }}
      {{- with .Values.nodeSelector }}
      nodeSelector:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.affinity }}
      affinity:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.tolerations }}
      tolerations:
        {{- toYaml . | nindent 8 }}
      {{- end }}
