{{- $gm := index .Values "gitea-mirror" -}} apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "gitea-mirror.fullname" . }} {{- with .Values.deployment.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} labels: {{- include "gitea-mirror.labels" . | nindent 4 }} {{- if .Values.deployment.labels }} {{- toYaml .Values.deployment.labels | nindent 4 }} {{- end }} spec: replicas: 1 strategy: type: {{ .Values.deployment.strategy.type }} {{- if eq .Values.deployment.strategy.type "RollingUpdate" }} rollingUpdate: maxUnavailable: {{ .Values.deployment.strategy.rollingUpdate.maxUnavailable }} maxSurge: {{ .Values.deployment.strategy.rollingUpdate.maxSurge }} {{- end }} selector: matchLabels: {{- include "gitea-mirror.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "gitea-mirror.labels" . | nindent 8 }} {{- if .Values.deployment.labels }} {{- toYaml .Values.deployment.labels | nindent 8 }} {{- end }} spec: {{- if (or .Values.serviceAccount.create .Values.serviceAccount.name) }} serviceAccountName: {{ include "gitea-mirror.serviceAccountName" . }} {{- end }} {{- if .Values.priorityClassName }} priorityClassName: "{{ .Values.priorityClassName }}" {{- end }} {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.podSecurityContext }} securityContext: {{- toYaml . | nindent 8 }} {{- end }} terminationGracePeriodSeconds: {{ .Values.deployment.terminationGracePeriodSeconds }} containers: - name: gitea-mirror image: {{ .Values.image.registry }}/{{ .Values.image.repository }}:v{{ .Values.image.tag | default .Chart.AppVersion | toString }} imagePullPolicy: {{ .Values.image.pullPolicy }} envFrom: - configMapRef: name: {{ include "gitea-mirror.fullname" . }} {{- if $gm.existingSecret }} - secretRef: name: {{ $gm.existingSecret }} {{- else }} - secretRef: name: {{ include "gitea-mirror.fullname" . }} {{- end }} env: - name: PORT value: "{{ .Values.deployment.port }}" {{- if .Values.deployment.env }} {{- toYaml .Values.deployment.env | nindent 12 }} {{- end }} ports: - name: http containerPort: {{ .Values.deployment.port }} {{- if .Values.livenessProbe.enabled }} livenessProbe: httpGet: path: /api/health port: "http" initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.livenessProbe.periodSeconds }} timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }} failureThreshold: {{ .Values.livenessProbe.failureThreshold }} successThreshold: {{ .Values.livenessProbe.successThreshold }} {{- end }} {{- if .Values.readinessProbe.enabled }} readinessProbe: httpGet: path: /api/health port: "http" initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.readinessProbe.periodSeconds }} timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} failureThreshold: {{ .Values.readinessProbe.failureThreshold }} successThreshold: {{ .Values.readinessProbe.successThreshold }} {{- end }} {{- if .Values.startupProbe.enabled }} startupProbe: httpGet: path: /api/health port: "http" initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }} periodSeconds: {{ .Values.startupProbe.periodSeconds }} timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }} failureThreshold: {{ .Values.startupProbe.failureThreshold }} successThreshold: {{ .Values.startupProbe.successThreshold }} {{- end }} volumeMounts: - name: data mountPath: /app/data {{- if .Values.extraVolumeMounts }} {{- toYaml .Values.extraVolumeMounts | nindent 12 }} {{- end }} {{- with .Values.deployment.resources }} resources: {{- toYaml .Values.deployment.resources | nindent 12 }} {{- end }} {{- with .Values.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.topologySpreadConstraints }} topologySpreadConstraints: {{- toYaml . | nindent 8 }} {{- end }} volumes: {{- if .Values.persistence.enabled }} - name: data persistentVolumeClaim: claimName: {{ .Values.persistence.claimName }} {{- else if not .Values.persistence.enabled }} - name: data emptyDir: {} {{- end }} {{- if .Values.extraVolumes }} {{- toYaml .Values.extraVolumes | nindent 8 }} {{- end }}