https://github.com/hypnoglow/helm-chart-osrm
Helm chart for OSRM. 📃
https://github.com/hypnoglow/helm-chart-osrm
charts helm helm-chart osrm osrm-backend
Last synced: 7 months ago
JSON representation
Helm chart for OSRM. 📃
- Host: GitHub
- URL: https://github.com/hypnoglow/helm-chart-osrm
- Owner: hypnoglow
- License: mit
- Created: 2019-09-17T07:51:39.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-30T19:04:15.000Z (over 2 years ago)
- Last Synced: 2025-06-03T17:21:36.604Z (about 1 year ago)
- Topics: charts, helm, helm-chart, osrm, osrm-backend
- Language: Shell
- Homepage:
- Size: 26.4 KB
- Stars: 7
- Watchers: 2
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# helm-chart-osrm

[Helm](https://helm.sh/) chart for [OSRM](https://github.com/Project-OSRM/osrm-backend).
Notable features:
- 🗺 Out-of-the-box map management, allowing to download and persist a map by the URI. Currently supports HTTP(S) and Google Cloud Storage,
others (AWS S3, etc) incoming.
- 🖴 Runs as a StatefulSet so each instance keeps its own maps in PersistentVolume.
By default, this chart deploys [osrm-routed](http://project-osrm.org/docs/v5.22.0/api/) server, but you can replace
it with your own implementation (e.g. based on `libosrm`) if you want.
## Install
```bash
helm repo add hypnoglow https://hypnoglow.github.io/helm-charts
# For Helm v2
helm install hypnoglow/osrm --name osrm
# For Helm v3
helm install osrm hypnoglow/osrm
```
## Configuration
### Map Management and Source Providers (modes)
By default chart has map management enabled, with `http` as a source provider. This allows you to simply specify
publicly-accessible url to the map you want to download:
```yaml
map:
http:
uri: https://download.openstreetmap.fr/extracts/europe/monaco.osm.pbf
```
There are few so-called "source providers" you can use to download maps from:
- `http` - for HTTP endpoints
- `gcs` - for Google Cloud Storage
#### Google Cloud Storage
To enable gcs as a source provider, use `--set map.source=gcs`.
By default the chart is configured to download maps from private buckets. If your bucket is public, you can disable
credentials requirement: `--set map.gcs.googleApplicationCredentials.enabled=false`.
To access maps in private bucket you need credentials. The chart is already configured to use secret named `osrm-google-application-credentials`
and key `credentials.json`. This secret is not managed by the chart. You can create secret from credentials file as follows:
```bash
kubectl create secret generic osrm-google-application-credentialss \
--from-file=credentials.json=/path/to/credentials.json \
--dry-run -o yaml | kubectl apply -f -
```
Example `values.yaml` customization for gcs provider:
```yaml
map:
source: gcs
gcs:
version: "20200226-1"
uri: "gs://my-osrm-maps/20200226-1/map.tar.gz"
```