geoserver-cloud/compose/templates.yml
Gabriel Roldan 47ff586e2b
Consolidate ImageMosaic acceptance tests
- Add comprehensive ImageMosaic test coverage: direct directory, manual granules,
  empty store workflows, and XML-based store creation
- Fix file path handling: use direct paths instead of file:// URLs for local files
- Update documentation to mention shared mount volume at /mnt/geoserver_data
- Add version testing examples (TAG=2.27.1.0, TAG=2.26.2.0) to README

Tests pass with datadir backend but show limitations with pgconfig backend.
Provides comprehensive test coverage for realistic ImageMosaic workflows.
2025-07-12 00:50:00 -03:00

106 lines
2.7 KiB
YAML

# Define reusable volume mounts as an anchor
x-geoserver-volume-mounts: &geoserver_volumes
- geowebcache_data:/mnt/geowebcache_data
- geoserver_data:/mnt/geoserver_data
# Define reusable environment variables
x-geoserver-env: &geoserver_environment
SPRING_PROFILES_ACTIVE: "${GEOSERVER_DEFAULT_PROFILES}"
# Enable the PostGIS JNDI datasource (for development purposes)
JNDI_POSTGIS_ENABLED: true
GEOWEBCACHE_CACHE_DIR: /mnt/geowebcache_data
JAVA_OPTS: "${JAVA_OPTS_GEOSERVER}"
services:
gstemplate:
user: ${GS_USER}
environment: *geoserver_environment
volumes: *geoserver_volumes
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '2.0'
memory: 2G
postgrestemplate:
image: postgres:15
shm_size: 512m
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
restart: unless-stopped
deploy:
resources:
limits:
cpus: '2.0'
memory: 1G
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
postgistemplate:
extends:
service: postgrestemplate
#image: postgis/postgis:latest
#image with arm/64 support:
image: imresamu/postgis:15-3.4
environment:
POSTGRES_DB: postgis
POSTGRES_USER: postgis
POSTGRES_PASSWORD: postgis
POSTGIS_GDAL_ENABLED_DRIVERS: ENABLE_ALL
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgis"]
acldbtemplate:
extends:
service: postgistemplate
environment:
POSTGRES_DB: acl
POSTGRES_USER: acl
POSTGRES_PASSWORD: acls3cr3t
healthcheck:
test: ["CMD-SHELL", "pg_isready -U acl"]
pgconfigdbtemplate:
extends:
service: postgrestemplate
shm_size: 1g
environment:
POSTGRES_DB: pgconfig
POSTGRES_USER: pgconfig
POSTGRES_PASSWORD: pgconfig
healthcheck:
test: ["CMD-SHELL", "pg_isready -U pgconfig"]
deploy:
resources:
limits:
cpus: '4.0'
memory: 2G
pgbouncertemplate:
image: bitnami/pgbouncer:latest
environment:
PGBOUNCER_MAX_CLIENT_CONN: 2000
PGBOUNCER_POOL_MODE: transaction
PGBOUNCER_MAX_PREPARED_STATEMENTS: 100
PGBOUNCER_DEFAULT_POOL_SIZE: 50
PGBOUNCER_AUTH_TYPE: plain
PGBOUNCER_PORT: 5432
POSTGRESQL_PORT: 5432
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "PGPASSWORD=$$POSTGRES_PASSWORD psql -d $$POSTGRESQL_DATABASE -U $$POSTGRESQL_USERNAME -c 'select 1'"]
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '2.0'
memory: 64M