blob: 78906a4fc2f983a43af6cf720b138053ceb91256 [file] [log] [blame]
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-git-backend-deployment
labels:
app: git-backend
chart: {{ template "gerrit-replica.chart" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
spec:
replicas: {{ .Values.gitBackend.replicas | default 1 }}
strategy:
rollingUpdate:
maxSurge: {{ .Values.gitBackend.maxSurge }}
maxUnavailable: {{ .Values.gitBackend.maxUnavailable }}
selector:
matchLabels:
app: git-backend
template:
metadata:
labels:
app: git-backend
chart: {{ template "gerrit-replica.chart" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
annotations:
chartRevision: "{{ .Release.Revision }}"
spec:
securityContext:
fsGroup: 100
{{ if .Values.images.registry.ImagePullSecret.name -}}
imagePullSecrets:
- name: {{ .Values.images.registry.ImagePullSecret.name }}
{{- end }}
initContainers:
{{- if .Values.nfsWorkaround.enabled }}
- name: nfs-init
image: busybox
command:
- sh
- -c
args:
- |
chown -R 1000:100 /var/mnt/logs
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
volumeMounts:
- name: logs
subPathExpr: "gerrit-replica/$(POD_NAME)"
mountPath: "/var/mnt/logs"
- name: nfs-config
mountPath: "/etc/idmapd.conf"
subPath: idmapd.conf
{{- end }}
containers:
- name: apache-git-http-backend
imagePullPolicy: {{ .Values.images.imagePullPolicy }}
image: {{ template "registry" . }}{{ .Values.gitBackend.image }}:{{ .Values.images.version }}
env:
{{ if eq .Values.gitBackend.service.https.enabled false -}}
- name: DISABLE_HTTPS
value: "true"
{{- end }}
{{ if eq .Values.gitBackend.service.http.enabled false -}}
- name: DISABLE_HTTP
value: "true"
{{- end }}
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
ports:
{{ if eq .Values.gitBackend.service.http.enabled true -}}
- name: http-port
containerPort: 80
{{- end }}
{{ if eq .Values.gitBackend.service.https.enabled true -}}
- name: https-port
containerPort: 443
{{- end }}
resources:
{{ toYaml .Values.gitBackend.resources | indent 10 }}
livenessProbe:
httpGet:
path: /
{{ if eq .Values.gitBackend.service.http.enabled true -}}
port: http-port
{{- else }}
port: https-port
{{- end }}
{{ toYaml .Values.gitBackend.livenessProbe | indent 10 }}
readinessProbe:
httpGet:
path: /
{{ if eq .Values.gitBackend.service.http.enabled true -}}
port: http-port
{{- else }}
port: https-port
{{- end }}
{{ toYaml .Values.gitBackend.readinessProbe | indent 10 }}
volumeMounts:
- name: git-repositories
mountPath: "/var/gerrit/git"
- name: logs
subPathExpr: "apache-git-http-backend/$(POD_NAME)"
mountPath: "/var/log/apache2"
{{- if .Values.nfsWorkaround.enabled }}
- name: nfs-config
mountPath: "/etc/idmapd.conf"
subPath: idmapd.conf
{{- end }}
- name: git-backend-secret
readOnly: true
subPath: .htpasswd
mountPath: "/var/apache/credentials/.htpasswd"
{{ if .Values.gitBackend.service.https.enabled -}}
- name: git-backend-tls-secret
readOnly: true
subPath: tls.key
mountPath: "/var/apache/credentials/server.key"
- name: git-backend-tls-secret
readOnly: true
subPath: tls.crt
mountPath: "/var/apache/credentials/server.crt"
{{ end }}
volumes:
- name: git-repositories
persistentVolumeClaim:
{{- if .Values.gitRepositoryStorage.externalPVC.use }}
claimName: {{ .Values.gitRepositoryStorage.externalPVC.name }}
{{- else }}
claimName: {{ .Release.Name }}-git-repositories-pvc
{{- end }}
- name: git-backend-secret
secret:
secretName: {{ .Release.Name }}-git-backend-secret
{{ if and .Values.gitBackend.service.https.enabled -}}
- name: git-backend-tls-secret
secret:
{{ if .Values.gitBackend.tls.secret.create -}}
secretName: {{ .Release.Name }}-git-backend-tls-secret
{{- else }}
secretName: {{ .Values.gitBackend.tls.secret.name }}
{{- end }}
{{ end }}
- name: logs
{{ if .Values.logStorage.enabled -}}
persistentVolumeClaim:
{{- if .Values.logStorage.externalPVC.use }}
claimName: {{ .Values.logStorage.externalPVC.name }}
{{- else }}
claimName: {{ .Release.Name }}-log-pvc
{{- end }}
{{ else -}}
emptyDir: {}
{{- end }}
{{- if .Values.nfsWorkaround.enabled }}
- name: nfs-config
configMap:
name: {{ .Release.Name }}-nfs-configmap
{{- end }}