Files
gis/test/acceptance/compose.acceptance.yml
Bakhtiyar Issakhmetov ca87d6961b test(acceptance): reproducible Stage 8 acceptance package
Add test/acceptance/ so the customer's reviewers can re-run what the
Stage 8 documents claim on an isolated stand built from this branch:

- compose.acceptance.yml + stand.sh: compose project gis-acceptance
  (app 18080, postgres 15432, minio 19000/19001, rabbitmq mgmt 15672),
  POSTGIS_PLATFORM / MINIO_IMAGE knobs for arm64 and amd64 hosts.
- functional.sh: the 89 test-stand checks of Приложение 7 section 5
  (F01-F38, N01-N38, L02-L05, L07-L15), own prefixed test data,
  PostGIS/MinIO confirmation via the stand containers, full cleanup.
- lp_gen.py / lp_run.sh / lp_verify.py: synthetic ЛП inputs, a run from
  stage 0, and an independent numpy re-implementation of every node that
  compares all 15 outputs pixel by pixel; read-only (GET) mode works
  against any stand, in row/column windows for 22219x14977 rasters.
- load.sh + seed.sh: scenarios S1-S6 of Приложение 3 with hey 0.1.5
  running inside the stand network; CSV/JSON summaries, criteria K1-K4.
- scan.sh: govulncheck (source and binary), gosec, trivy fs/image,
  golangci-lint; fails on any High/Critical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 22:37:28 +05:00

56 lines
2.0 KiB
YAML

# Isolated acceptance-test stand (Приложения 3, 4, 7 к отчёту Этапа 8).
#
# Overlay on deployments/docker-compose.yml. Always use the project name
# gis-acceptance so the stand never collides with a development or production
# stack on the same host:
#
# docker compose -p gis-acceptance \
# -f deployments/docker-compose.yml \
# -f test/acceptance/compose.acceptance.yml up -d --build
#
# Host ports: app 18080, postgres 15432, minio 19000 (API) / 19001 (console),
# rabbitmq 15672 (management UI only; AMQP stays inside the docker network).
#
# Environment knobs (all optional):
# POSTGIS_PLATFORM platform of postgis/postgis (default linux/amd64: the image
# has no arm64 build; Apple Silicon runs it under emulation,
# amd64 hosts run it natively, so the default works on both)
# MINIO_IMAGE MinIO image (default minio/minio:latest). Any image that
# ships the `minio` server and the `mc` client works, e.g.
# cgr.dev/chainguard/minio:latest.
# APP_IMAGE tag for the locally built application image
# HTTP_MAX_UPLOAD_BYTES, LP_MAX_WORKERS, LP_MAX_NODES — passed to app/worker.
name: gis-acceptance
services:
app:
image: ${APP_IMAGE:-gis-acceptance-app:local}
environment:
HTTP_MAX_UPLOAD_BYTES: ${HTTP_MAX_UPLOAD_BYTES:-2147483648}
LP_MAX_WORKERS: ${LP_MAX_WORKERS:-8}
LP_MAX_NODES: ${LP_MAX_NODES:-2}
ports: !override
- "18080:8080"
worker:
image: ${APP_IMAGE:-gis-acceptance-app:local}
environment:
HTTP_MAX_UPLOAD_BYTES: ${HTTP_MAX_UPLOAD_BYTES:-2147483648}
LP_MAX_WORKERS: ${LP_MAX_WORKERS:-8}
LP_MAX_NODES: ${LP_MAX_NODES:-2}
postgres:
platform: ${POSTGIS_PLATFORM:-linux/amd64}
ports: !override
- "15432:5432"
minio:
image: ${MINIO_IMAGE:-minio/minio:latest}
ports: !override
- "19000:9000"
- "19001:9001"
rabbitmq:
ports: !override
- "15672:15672"