apiVersion: batch/v1 kind: Job metadata: name: osrm-init spec: backoffLimit: 3 template: spec: restartPolicy: OnFailure containers: - name: osrm-init image: ghcr.io/project-osrm/osrm-backend:latest command: - /bin/bash - -c - | set -euo pipefail OSM_FILE="greater-london-latest.osm.pbf" GEOFABRIK_URL="https://download.geofabrik.de/europe/great-britain/england/greater-london-latest.osm.pbf" # Download OSM data if not present if [ ! -f "/data/${OSM_FILE}" ]; then echo "Downloading Greater London OSM extract..." apt-get update -qq && apt-get install -qq -y curl curl -L -o "/data/${OSM_FILE}" "${GEOFABRIK_URL}" fi # Process foot profile if [ ! -f "/data/foot/greater-london-latest.osrm" ]; then echo "Processing foot profile..." mkdir -p /data/foot cp "/data/${OSM_FILE}" "/data/foot/${OSM_FILE}" osrm-extract -p /opt/foot.lua "/data/foot/${OSM_FILE}" osrm-partition "/data/foot/greater-london-latest.osrm" osrm-customize "/data/foot/greater-london-latest.osrm" rm -f "/data/foot/${OSM_FILE}" fi # Process bicycle profile if [ ! -f "/data/bicycle/greater-london-latest.osrm" ]; then echo "Processing bicycle profile..." mkdir -p /data/bicycle cp "/data/${OSM_FILE}" "/data/bicycle/${OSM_FILE}" osrm-extract -p /opt/bicycle.lua "/data/bicycle/${OSM_FILE}" osrm-partition "/data/bicycle/greater-london-latest.osrm" osrm-customize "/data/bicycle/greater-london-latest.osrm" rm -f "/data/bicycle/${OSM_FILE}" fi echo "OSRM data initialization complete!" volumeMounts: - name: osrm-data mountPath: /data resources: requests: memory: "1Gi" cpu: "500m" limits: memory: "2Gi" cpu: "2000m" volumes: - name: osrm-data persistentVolumeClaim: claimName: osrm-data-pvc