blob: 9478b18bec0c368185aa6c83f6791079bc80ffd8 [file] [log] [blame]
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Release.Name }}-git-repositories-init
labels:
app: gerrit-replica
chart: {{ template "gerrit-replica.chart" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
spec:
template:
{{ if .Values.istio.enabled -}}
metadata:
annotations:
sidecar.istio.io/inject: "false"
{{- end }}
spec:
securityContext:
fsGroup: 100
{{ if .Values.images.registry.ImagePullSecret.name -}}
imagePullSecrets:
- name: {{ .Values.images.registry.ImagePullSecret.name }}
{{- end }}
{{- if .Values.nfsWorkaround.enabled }}
initContainers:
- name: nfs-init
image: busybox
command:
- sh
- -c
args:
- |
chown -R 1000:100 /var/mnt
volumeMounts:
- name: git-repositories
mountPath: "/var/mnt/git"
- name: logs
mountPath: "/var/mnt/logs"
- name: nfs-config
mountPath: "/etc/idmapd.conf"
subPath: idmapd.conf
{{- end }}
containers:
- name: create-repositories
image: {{ template "registry" . }}{{ .Values.gerritReplica.images.gerritInit }}:{{ .Values.images.version }}
imagePullPolicy: {{ .Values.images.imagePullPolicy }}
command:
- /bin/ash
- -ce
args:
- |
if test -d /var/mnt/git/All-Projects.git && \
test -d /var/mnt/git/All-Users.git; then
echo "Repositories already exist. Won't perform initial creation."
exit 0
fi
mkdir -p /var/gerrit/etc
ln -sf /var/config/gerrit.config /var/gerrit/etc/gerrit.config
ln -sf /var/mnt/git /var/gerrit/
/var/tools/gerrit_init.py \
-c /var/config/gerrit-init.yaml \
-s /var/gerrit
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
volumeMounts:
- name: gerrit-site
mountPath: "/var/gerrit"
- name: git-repositories
mountPath: "/var/mnt/git"
- name: logs
subPathExpr: "gerrit-replica/$(POD_NAME)"
mountPath: "/var/gerrit/logs"
- name: gerrit-init-config
mountPath: "/var/config/gerrit-init.yaml"
subPath: gerrit-init.yaml
- name: gerrit-config
mountPath: "/var/config/gerrit.config"
subPath: gerrit.config
volumes:
- name: gerrit-site
emptyDir: {}
- name: git-repositories
persistentVolumeClaim:
{{- if .Values.gitRepositoryStorage.externalPVC.use }}
claimName: {{ .Values.gitRepositoryStorage.externalPVC.name }}
{{- else }}
claimName: {{ .Release.Name }}-git-repositories-pvc
{{- 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 }}
- name: gerrit-init-config
configMap:
name: {{ .Release.Name }}-gerrit-init-configmap
- name: gerrit-config
configMap:
name: {{ .Release.Name }}-gerrit-replica-configmap
{{- if .Values.nfsWorkaround.enabled }}
- name: nfs-config
configMap:
name: {{ .Release.Name }}-nfs-configmap
{{- end }}
restartPolicy: Never