mirror of
https://github.com/hyperknot/openfreemap.git
synced 2026-05-22 14:32:15 +00:00
dynamic domain in tilejson
This commit is contained in:
@@ -267,11 +267,12 @@ def tile_gen(hostname, user, port):
|
|||||||
def debug(hostname, user, port):
|
def debug(hostname, user, port):
|
||||||
c = get_connection(hostname, user, port)
|
c = get_connection(hostname, user, port)
|
||||||
|
|
||||||
|
prepare_shared(c)
|
||||||
|
|
||||||
upload_http_host_config(c)
|
upload_http_host_config(c)
|
||||||
|
prepare_http_host(c)
|
||||||
|
|
||||||
upload_https_host_files(c)
|
run_http_host_sync(c)
|
||||||
|
|
||||||
# run_http_host_sync(c)
|
|
||||||
sudo_cmd(c, '/data/ofm/venv/bin/python -u /data/ofm/http_host/bin/host_manager.py nginx-sync')
|
sudo_cmd(c, '/data/ofm/venv/bin/python -u /data/ofm/http_host/bin/host_manager.py nginx-sync')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ def write_nginx_config():
|
|||||||
|
|
||||||
|
|
||||||
def create_nginx_conf(*, template_path, local, domain):
|
def create_nginx_conf(*, template_path, local, domain):
|
||||||
location_str, curl_text = create_location_blocks()
|
location_str, curl_text = create_location_blocks(local=local, domain=domain)
|
||||||
|
|
||||||
with open(template_path) as fp:
|
with open(template_path) as fp:
|
||||||
template = fp.read()
|
template = fp.read()
|
||||||
@@ -104,7 +104,7 @@ def create_nginx_conf(*, template_path, local, domain):
|
|||||||
return curl_text
|
return curl_text
|
||||||
|
|
||||||
|
|
||||||
def create_location_blocks():
|
def create_location_blocks(*, local, domain):
|
||||||
location_str = ''
|
location_str = ''
|
||||||
curl_text = ''
|
curl_text = ''
|
||||||
|
|
||||||
@@ -112,7 +112,9 @@ def create_location_blocks():
|
|||||||
if not subdir.is_dir():
|
if not subdir.is_dir():
|
||||||
continue
|
continue
|
||||||
area, version = subdir.name.split('-')
|
area, version = subdir.name.split('-')
|
||||||
location_str += create_version_location(area, version, subdir)
|
location_str += create_version_location(
|
||||||
|
area=area, version=version, subdir=subdir, local=local, domain=domain
|
||||||
|
)
|
||||||
|
|
||||||
if not curl_text:
|
if not curl_text:
|
||||||
curl_text = (
|
curl_text = (
|
||||||
@@ -121,7 +123,7 @@ def create_location_blocks():
|
|||||||
f'curl -I https://__DOMAIN__/{area}/{version}/14/8529/5975.pbf'
|
f'curl -I https://__DOMAIN__/{area}/{version}/14/8529/5975.pbf'
|
||||||
)
|
)
|
||||||
|
|
||||||
location_str += create_latest_locations()
|
location_str += create_latest_locations(local=local, domain=domain)
|
||||||
|
|
||||||
with open(NGINX_DIR / 'location_static.conf') as fp:
|
with open(NGINX_DIR / 'location_static.conf') as fp:
|
||||||
location_str += '\n' + fp.read()
|
location_str += '\n' + fp.read()
|
||||||
@@ -129,20 +131,22 @@ def create_location_blocks():
|
|||||||
return location_str, curl_text
|
return location_str, curl_text
|
||||||
|
|
||||||
|
|
||||||
def create_version_location(area: str, version: str, subdir: Path) -> str:
|
def create_version_location(
|
||||||
|
*, area: str, version: str, subdir: Path, local: str, domain: str
|
||||||
|
) -> str:
|
||||||
run_dir = DEFAULT_RUNS_DIR / area / version
|
run_dir = DEFAULT_RUNS_DIR / area / version
|
||||||
if not run_dir.is_dir():
|
if not run_dir.is_dir():
|
||||||
print(f" {run_dir} doesn't exists, skipping")
|
print(f" {run_dir} doesn't exists, skipping")
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
tilejson_path = run_dir / 'tilejson-tiles-org.json'
|
tilejson_path = run_dir / f'tilejson-{local}.json'
|
||||||
|
|
||||||
metadata_path = subdir / 'metadata.json'
|
metadata_path = subdir / 'metadata.json'
|
||||||
if not metadata_path.is_file():
|
if not metadata_path.is_file():
|
||||||
print(f" {metadata_path} doesn't exists, skipping")
|
print(f" {metadata_path} doesn't exists, skipping")
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
url_prefix = f'https://tiles.openfreemap.org/{area}/{version}'
|
url_prefix = f'https://{domain}/{area}/{version}'
|
||||||
|
|
||||||
subprocess.run(
|
subprocess.run(
|
||||||
[
|
[
|
||||||
@@ -184,7 +188,7 @@ def create_version_location(area: str, version: str, subdir: Path) -> str:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def create_latest_locations() -> str:
|
def create_latest_locations(*, local: str, domain: str) -> str:
|
||||||
location_str = ''
|
location_str = ''
|
||||||
|
|
||||||
local_version_files = OFM_CONFIG_DIR.glob('tileset_version_*.txt')
|
local_version_files = OFM_CONFIG_DIR.glob('tileset_version_*.txt')
|
||||||
@@ -195,7 +199,7 @@ def create_latest_locations() -> str:
|
|||||||
print(f' setting latest version for {area}: {version}')
|
print(f' setting latest version for {area}: {version}')
|
||||||
|
|
||||||
run_dir = DEFAULT_RUNS_DIR / area / version
|
run_dir = DEFAULT_RUNS_DIR / area / version
|
||||||
tilejson_path = run_dir / 'tilejson-tiles-org.json'
|
tilejson_path = run_dir / f'tilejson-{local}.json'
|
||||||
assert tilejson_path.is_file()
|
assert tilejson_path.is_file()
|
||||||
|
|
||||||
location_str += f"""
|
location_str += f"""
|
||||||
|
|||||||
@@ -27,4 +27,10 @@ server {
|
|||||||
error_log /data/ofm/http_host/logs_nginx/cf-error.log;
|
error_log /data/ofm/http_host/logs_nginx/cf-error.log;
|
||||||
|
|
||||||
__LOCATION_BLOCKS__
|
__LOCATION_BLOCKS__
|
||||||
|
|
||||||
|
# catch-all block to deny all other requests
|
||||||
|
location / {
|
||||||
|
deny all;
|
||||||
|
error_log /data/ofm/http_host/logs_nginx/__LOCAL__-error.log error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,4 +35,10 @@ server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
__LOCATION_BLOCKS__
|
__LOCATION_BLOCKS__
|
||||||
|
|
||||||
|
# catch-all block to deny all other requests
|
||||||
|
location / {
|
||||||
|
deny all;
|
||||||
|
error_log /data/ofm/http_host/logs_nginx/__LOCAL__-error.log error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,10 +62,3 @@ location @empty_tile {
|
|||||||
location = / {
|
location = / {
|
||||||
return 302 https://openfreemap.org;
|
return 302 https://openfreemap.org;
|
||||||
}
|
}
|
||||||
|
|
||||||
# catch-all block to deny all other requests
|
|
||||||
location / {
|
|
||||||
deny all;
|
|
||||||
|
|
||||||
error_log /data/ofm/http_host/logs_nginx/tiles-org-error.log error;
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user