31 | overpass.openstreetmap.fr/api
32 | Overpass-api version {{ overpass_version }}
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/munin/overpass_db_lag:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | VERSION={{ overpass_database_dir }}/osm_base_version
4 |
5 | if [[ "$1" == "config" ]]; then
6 | {
7 | echo 'graph_title Lag to OSM main database'
8 | echo 'graph_vlabel secondes'
9 | echo 'graph_category overpass-api'
10 | echo "overpass_db_lag.label database lag"
11 | echo "overpass_db_lag.warning 300"
12 | echo "overpass_db_lag.critical 3600"
13 | exit 0
14 | }
15 | fi
16 |
17 | if [ -s $VERSION ]; then
18 | {
19 | DB_DATE=$(date +%s --utc -d "$(cat $VERSION | sed s/\\\\//g)")
20 | CUR_DATE=$(date -u +%s)
21 | LAG=$(($CUR_DATE - $DB_DATE))
22 | }
23 | fi
24 |
25 | echo "overpass_db_lag.value $LAG"
26 | exit 0
27 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-areas-builder.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Overpass areas builder
3 | Requires=overpass-dispatcher.service overpass-areas-dispatcher.service
4 | After=overpass-dispatcher.service overpass-areas-dispatcher.service
5 | AssertPathExists={{ overpass_database_dir }}/replicate_id
6 |
7 | [Service]
8 | Type=simple
9 | User={{ overpass_user }}
10 | ExecStart=/usr/local/bin/rules_loop.sh {{ overpass_database_dir }}
11 | Nice=19
12 | Restart=always
13 | RestartSec=30s
14 |
15 | [Install]
16 | WantedBy=multi-user.target
17 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-areas-dispatcher.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Overpass areas dispatcher
3 | Requires=overpass-dispatcher.service
4 | After=overpass-dispatcher.service
5 | AssertPathExists={{ overpass_database_dir }}/replicate_id
6 |
7 | [Service]
8 | Type=simple
9 | User={{ overpass_user }}
10 | ExecStart=/usr/local/bin/dispatcher --areas --db-dir={{ overpass_database_dir }}
11 | ExecStop=/usr/local/bin/dispatcher --areas --terminate
12 | Restart=always
13 | RestartSec=30s
14 |
15 | [Install]
16 | WantedBy=multi-user.target
17 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-copy-id.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import logging
4 |
5 | from systemd.journal import JournalHandler
6 |
7 | log = logging.getLogger('overpass-setup.py')
8 | log.addHandler(JournalHandler())
9 | log.setLevel(logging.INFO)
10 |
11 | log.info('write first_replicate_id')
12 | with open('{{ overpass_database_dir }}/replicate_id') as fd:
13 | rid = fd.readline()
14 |
15 | with open('{{ overpass_database_dir }}/first_replicate_id', 'w') as fd:
16 | fd.write('ID=%s' % rid)
17 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-copy-id.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Overpass dirty hack for copying replicate_id
3 | AssertPathExists={{ overpass_database_dir }}/replicate_id
4 |
5 | [Service]
6 | Type=simple
7 | User={{ overpass_user }}
8 | ExecStart=/usr/local/bin/overpass-copy-id.py
9 |
10 | [Install]
11 | WantedBy=multi-user.target
12 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-diff-applier.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Overpass diff applier
3 | Requires=overpass-dispatcher.service overpass-diff-downloader.service
4 | After=overpass-dispatcher.service overpass-diff-downloader.service
5 | AssertPathExists={{ overpass_database_dir }}/first_replicate_id
6 |
7 | [Service]
8 | Type=simple
9 | User={{ overpass_user }}
10 | EnvironmentFile={{ overpass_database_dir }}/first_replicate_id
11 | ExecStart=/usr/local/bin/apply_osc_to_db.sh "/tmp/overpass_diffs/" ${ID} --meta=yes
12 |
13 | [Install]
14 | WantedBy=multi-user.target
15 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-diff-downloader.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Overpass diff downloader
3 | Requires=overpass-dispatcher.service overpass-copy-id.service
4 | After=overpass-dispatcher.service overpass-copy-id.service
5 | AssertPathExists={{ overpass_database_dir }}/first_replicate_id
6 |
7 | [Service]
8 | Type=simple
9 | User={{ overpass_user }}
10 | EnvironmentFile={{ overpass_database_dir }}/first_replicate_id
11 | ExecStart=/usr/local/bin/fetch_osc.sh ${ID} {{ overpass_replication_url }} "/tmp/overpass_diffs/"
12 |
13 | [Install]
14 | WantedBy=multi-user.target
15 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-dispatcher.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Overpass dispatcher
3 | AssertPathExists={{ overpass_database_dir }}/replicate_id
4 |
5 | [Service]
6 | Type=simple
7 | User={{ overpass_user }}
8 | ExecStart=/usr/local/bin/dispatcher --osm-base --db-dir={{ overpass_database_dir }} --meta
9 | ExecStop=/usr/local/bin/dispatcher --osm-base --terminate
10 | Restart=always
11 | RestartSec=30s
12 |
13 | [Install]
14 | WantedBy=multi-user.target
15 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-setup.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Setup overpass database on firstboot
3 | ConditionPathExists=!{{ overpass_database_dir }}/replicate_id
4 |
5 | [Service]
6 | Type=oneshot
7 | User={{ overpass_user }}
8 | ExecStart=/usr/local/bin/overpass-setup.py
9 | ExecStart=+/bin/systemctl restart overpass-dispatcher.service
10 | ExecStart=/usr/local/bin/dispatcher --rate-limit=32
11 | ExecStart=+/bin/systemctl restart overpass-diff-applier.service
12 | ExecStart=+/bin/systemctl restart overpass-areas-dispatcher.service
13 | ExecStart=+/bin/systemctl restart overpass-areas-builder.service
14 |
15 | [Install]
16 | WantedBy=multi-user.target
17 |
--------------------------------------------------------------------------------
/roles/overpass-api/templates/overpass-updater.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Overpass diff updater
3 | Requires=overpass-dispatcher.service
4 | After=overpass-dispatcher.service
5 | AssertPathExists={{ overpass_database_dir }}/replicate_id
6 |
7 | [Service]
8 | Type=simple
9 | User={{ overpass_user }}
10 | ExecStart=/usr/local/bin/fetch_osc_and_apply.sh {{ overpass_replication_url }} --meta=yes
11 | Restart=always
12 | RestartSec=30s
13 |
14 | [Install]
15 | WantedBy=multi-user.target
16 |
--------------------------------------------------------------------------------
/roles/polygons/files/apache.site:
--------------------------------------------------------------------------------
1 |