Files
bakery-ia/infrastructure/platform/nominatim/nominatim-helm/templates/init-job.yaml

81 lines
2.7 KiB
YAML
Raw Normal View History

2026-01-19 16:31:11 +01:00
{{- if .Values.initJob.enabled }}
apiVersion: batch/v1
kind: Job
metadata:
2026-01-19 16:31:11 +01:00
name: {{ include "nominatim.initJobName" . }}
namespace: {{ .Values.global.namespace }}
labels:
2026-01-19 16:31:11 +01:00
{{- include "nominatim.labels" . | nindent 4 }}
app.kubernetes.io/component: data-init
spec:
2026-01-19 16:31:11 +01:00
ttlSecondsAfterFinished: {{ .Values.initJob.ttlSecondsAfterFinished }}
template:
metadata:
labels:
2026-01-19 16:31:11 +01:00
app.kubernetes.io/name: {{ include "nominatim.initJobName" . }}
app.kubernetes.io/component: data-init
spec:
restartPolicy: OnFailure
containers:
- name: nominatim-import
2026-01-19 16:31:11 +01:00
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- sh
- -c
- |
set -e
echo "Checking if Nominatim database is already initialized..."
if psql -lqt | cut -d \| -f 1 | grep -qw nominatim; then
echo "Nominatim database already exists. Skipping import."
exit 0
fi
echo "Downloading Spain OSM data..."
wget -O /tmp/spain-latest.osm.pbf "${NOMINATIM_PBF_URL}"
echo "Importing OSM data into Nominatim (this may take 30-60 minutes)..."
nominatim import --osm-file /tmp/spain-latest.osm.pbf
echo "Building search indices..."
nominatim refresh --website --importance
echo "Nominatim initialization complete!"
volumeMounts:
- name: nominatim-data
mountPath: /var/lib/postgresql
- name: nominatim-flatnode
mountPath: /nominatim-flatnode
env:
- name: NOMINATIM_PBF_URL
valueFrom:
configMapKeyRef:
2026-01-19 16:31:11 +01:00
name: {{ include "nominatim.configMapName" . }}
key: NOMINATIM_PBF_URL
- name: NOMINATIM_IMPORT_STYLE
valueFrom:
configMapKeyRef:
2026-01-19 16:31:11 +01:00
name: {{ include "nominatim.configMapName" . }}
key: NOMINATIM_IMPORT_STYLE
- name: NOMINATIM_THREADS
valueFrom:
configMapKeyRef:
2026-01-19 16:31:11 +01:00
name: {{ include "nominatim.configMapName" . }}
key: NOMINATIM_THREADS
- name: NOMINATIM_FLATNODE_FILE
valueFrom:
configMapKeyRef:
2026-01-19 16:31:11 +01:00
name: {{ include "nominatim.configMapName" . }}
key: NOMINATIM_FLATNODE_FILE
resources:
2026-01-19 16:31:11 +01:00
{{- toYaml .Values.initJob.resources | nindent 10 }}
volumes:
- name: nominatim-data
persistentVolumeClaim:
2026-01-19 16:31:11 +01:00
claimName: {{ include "nominatim.dataPvcName" . }}
- name: nominatim-flatnode
persistentVolumeClaim:
2026-01-19 16:31:11 +01:00
claimName: {{ include "nominatim.flatnodePvcName" . }}
{{- end }}