martin/tests/config.yaml
Yuri Astrakhan 2def6288f1
PMTiles cache, refactor file configs, modularize (#1094)
* Make it possible to have configuration specific to the file-based
config sections: pmtiles, mbtiles, and sprites.
* Implement PMTiles directory cache shared between all pmtiles (both
http and local), with configurable max cache size (in MB), or 0 to
disable. Defaults to 32MB (?)
* PMTiles now share web client instance, which optimizes connection
reuse in case multiple pmtiles reside on the same host
* Major refactoring to allow modular reuse, enabling the following build
features:
    * **postgres** - enable PostgreSQL/PostGIS tile sources
    * **pmtiles** - enable PMTile tile sources
    * **mbtiles** - enable MBTile tile sources
    * **fonts** - enable font sources
    * **sprites** - enable sprite sources
* Use justfile in the CI

Fixes #1093
2023-12-25 05:52:04 +00:00

184 lines
4.4 KiB
YAML

---
# Connection keep alive timeout [default: 75]
keep_alive: 75
# The socket address to bind [default: 0.0.0.0:3000]
listen_addresses: '0.0.0.0:3000'
# Number of web server workers
worker_processes: 8
# Database configuration. This can also be a list of PG configs.
postgres:
# Database connection string
connection_string: '${DATABASE_URL:postgresql://postgres@localhost:5432/db}'
# If a spatial table has SRID 0, then this SRID will be used as a fallback
default_srid: 4326
# Maximum Postgres connections pool size [default: 20]
pool_size: 20
auto_publish:
tables:
from_schemas: autodetect
id_columns: [feat_id, big_feat_id]
clip_geom: false
buffer: 3
extent: 9000
# Associative arrays of table sources
tables:
table_source:
# Table schema (required)
schema: public
# Table name (required)
table: table_source
# Geometry SRID (required)
srid: 4326
# Geometry column name (required)
geometry_column: geom
# Feature id column name
id_column: ~
# An integer specifying the minimum zoom level
minzoom: 0
# An integer specifying the maximum zoom level. MUST be >= minzoom
maxzoom: 30
# The maximum extent of available map tiles. Bounds MUST define an area
# covered by all zoom levels. The bounds are represented in WGS:84
# latitude and longitude values, in the order left, bottom, right, top.
# Values may be integers or floating point numbers.
bounds: [-180.0, -90.0, 180.0, 90.0]
# Tile extent in tile coordinate space
extent: 4096
# Buffer distance in tile coordinate space to optionally clip geometries
buffer: 64
# Boolean to control if geometries should be clipped or encoded as is
clip_geom: true
# Geometry type
geometry_type: GEOMETRY
# List of columns, that should be encoded as tile properties (required)
properties:
gid: int4
MixPoints:
schema: MIXEDCASE
table: MixPoints
id_column: giD
geometry_column: geoM
srid: 4326
geometry_type: POINT
properties:
taBLe: text
points1:
layer_id: abc
schema: public
table: points1
minzoom: 0
maxzoom: 30
bounds: [-180.0, -90.0, 180.0, 90.0]
id_column: ~
geometry_column: geom
srid: 4326
extent: 4096
buffer: 64
clip_geom: true
geometry_type: POINT
properties:
gid: int4
points2:
schema: public
table: points2
minzoom: 0
maxzoom: 30
bounds: [-180.0, -90.0, 180.0, 90.0]
id_column: ~
geometry_column: geom
srid: 4326
extent: 4096
buffer: 64
clip_geom: true
geometry_type: POINT
properties:
gid: int4
points3857:
schema: public
table: points3857
minzoom: 0
maxzoom: 30
bounds: [-180.0, -90.0, 180.0, 90.0]
id_column: ~
geometry_column: geom
srid: 3857
extent: 4096
buffer: 64
clip_geom: true
geometry_type: POINT
properties:
gid: int4
# Associative arrays of function sources
functions:
function_zxy_query:
# Schema name (required)
schema: public
# Function name (required)
function: function_zxy_query
# An integer specifying the minimum zoom level
minzoom: 0
# An integer specifying the maximum zoom level. MUST be >= minzoom
maxzoom: 30
# The maximum extent of available map tiles. Bounds MUST define an area
# covered by all zoom levels. The bounds are represented in WGS:84
# latitude and longitude values, in the order left, bottom, right, top.
# Values may be integers or floating point numbers.
bounds: [-180.0, -90.0, 180.0, 90.0]
function_zxy_query_test:
schema: public
function: function_zxy_query_test
minzoom: 0
maxzoom: 30
bounds: [-180.0, -90.0, 180.0, 90.0]
fnc_Mixed_Name:
schema: MixedCase
function: function_Mixed_Name
pmtiles:
dir_cache_size_mb: 100
paths:
- http://localhost:5412/webp2.pmtiles
sources:
pmt: tests/fixtures/pmtiles/stamen_toner__raster_CC-BY+ODbL_z3.pmtiles
pmt2: http://localhost:5412/webp2.pmtiles
sprites:
paths: tests/fixtures/sprites/src1
sources:
mysrc: tests/fixtures/sprites/src2
fonts:
- tests/fixtures/fonts/overpass-mono-regular.ttf
- tests/fixtures/fonts