Files
ss-tools/docker-compose.investigations-e2e.yml

54 lines
2.0 KiB
YAML

# #region Infrastructure.InvestigationAudit [C:3] [TYPE Module] [SEMANTICS docker,e2e,investigation,isolation]
# @PRE Compose runs with an explicit new project and isolated host ports; no run.sh volume or DB is mounted.
# @INVARIANT Only synthetic fixture data and project-owned storage enter this audit stack.
services:
backend:
build:
args:
INSTALL_PLAYWRIGHT_BROWSERS: "1"
entrypoint: ["python", "-m", "src.scripts.investigation_audit_entrypoint"]
environment:
INVESTIGATION_AUDIT: "1"
INVESTIGATION_SECRET_FILE: /run/investigation-secrets/source.json
INITIAL_ADMIN_USERNAME: ${E2E_USERNAME:-admin}
INITIAL_ADMIN_PASSWORD: ${E2E_PASSWORD:?Set isolated E2E_PASSWORD}
volumes:
- ./backend/src:/app/backend/src:ro
- ./backend/tests:/app/backend/tests:ro
- investigation_secrets:/run/investigation-secrets
investigation-git:
image: gitea/gitea:1.22.6
environment:
GITEA__database__DB_TYPE: sqlite3
GITEA__security__INSTALL_LOCK: "true"
GITEA__service__DISABLE_REGISTRATION: "true"
GITEA__server__ROOT_URL: http://investigation-git:3000/
GITEA__server__DOMAIN: investigation-git
GITEA__server__SSH_DOMAIN: investigation-git
GITEA__repository__DEFAULT_BRANCH: main
volumes:
- investigation_git:/data
investigation-fixture:
build:
context: .
dockerfile: docker/backend.Dockerfile
args:
SOURCE_REPOSITORY_IDENTITY_JSON: ${SOURCE_REPOSITORY_IDENTITY_JSON:-}
INSTALL_PLAYWRIGHT_BROWSERS: "0"
entrypoint: ["python", "-m", "src.scripts.investigation_superset_fixture"]
command: ["--host", "0.0.0.0", "--port", "18091"]
working_dir: /app/backend
volumes:
- ./backend/src:/app/backend/src:ro
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:18091/health', timeout=3)"]
interval: 5s
timeout: 4s
retries: 10
volumes:
investigation_git:
investigation_secrets:
# #endregion Infrastructure.InvestigationAudit