| apiVersion: batch/v1 |
| kind: Job |
| metadata: |
| name: {{ include "common.names.fullname" . }}-seeder-{{ now | date "20060102150405" }} |
| labels: |
| {{- include "common.labels.standard" . | nindent 4 }} |
| {{- with .Values.seederJob.annotations }} |
| annotations: |
| {{- toYaml . | nindent 4 }} |
| {{- end }} |
| spec: |
| ttlSecondsAfterFinished: 6000 |
| template: |
| metadata: |
| labels: |
| {{- include "common.labels.standard" . | nindent 8 }} |
| openproject/process: seeder |
| {{- with .Values.seederJob.annotations }} |
| annotations: |
| {{- toYaml . | nindent 8 }} |
| {{- end }} |
| spec: |
| {{- include "openproject.imagePullSecrets" . | indent 6 }} |
| {{- include "openproject.podSecurityContext" . | indent 6 }} |
| {{- with .Values.nodeSelector }} |
| nodeSelector: |
| {{ toYaml . | nindent 8 | trim }} |
| {{- end }} |
| volumes: |
| {{- include "openproject.tmpVolumeSpec" . | indent 8 }} |
| {{- if .Values.persistence.enabled }} |
| - name: "data" |
| persistentVolumeClaim: |
| claimName: {{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim }}{{- else }}{{ include "common.names.fullname" . }}{{- end }} |
| {{- end }} |
| initContainers: |
| - name: check-db-ready |
| image: "{{ .Values.initdb.image.registry }}/{{ .Values.initdb.image.repository }}:{{ .Values.initdb.image.tag }}" |
| imagePullPolicy: {{ .Values.initdb.image.imagePullPolicy }} |
| command: [ |
| 'sh', |
| '-c', |
| 'until pg_isready -h $DATABASE_HOST -p $DATABASE_PORT -U {{ .Values.postgresql.auth.username }}; do echo "waiting for database $DATABASE_HOST:$DATABASE_PORT"; sleep 2; done;' |
| ] |
| envFrom: |
| {{- include "openproject.envFrom" . | nindent 12 }} |
| env: |
| {{- include "openproject.env" . | nindent 12 }} |
| resources: |
| {{- toYaml .Values.initdb.resources | nindent 12 }} |
| {{- include "openproject.containerSecurityContext" . | indent 10 }} |
| containers: |
| - name: seeder |
| image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}{{ if .Values.image.sha256 }}@sha256:{{ .Values.image.sha256 }}{{ else }}:{{ .Values.image.tag }}{{ end }}" |
| imagePullPolicy: {{ .Values.image.imagePullPolicy }} |
| args: |
| - bash |
| - /app/docker/prod/seeder |
| envFrom: |
| {{- include "openproject.envFrom" . | nindent 12 }} |
| env: |
| {{- include "openproject.env" . | nindent 12 }} |
| volumeMounts: |
| {{- include "openproject.tmpVolumeMounts" . | indent 12 }} |
| {{- if .Values.persistence.enabled }} |
| - name: "data" |
| mountPath: "/var/openproject/assets" |
| {{- end }} |
| {{- include "openproject.containerSecurityContext" . | indent 10 }} |
| restartPolicy: OnFailure |