graphql-engine/docker-compose.yaml
Samir Talwar 4175b53395 server/api-tests: Add a Docker Compose file for the API tests.
We were previously using the Docker Compose file in the root directory
for manual testing _and_ the server API tests.

This splits them so we can e.g. add Yugabyte for easy manual testing.

In the future, this will also allow us to use ephemeral ports for API
test databases, while keeping the fixed ports for manual testing.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7524
GitOrigin-RevId: 7244e296b0ed0ace9782b6f44f321933a9d9a49d
2023-01-16 16:44:10 +00:00

117 lines
2.7 KiB
YAML

# This file extends the base Docker Compose files to make manual testing easy.
#
# Run the following to get started:
#
# docker compose up -d
#
# That will start up services in the background. To take them down, you have to
# run:
#
# docker compose down
#
# If you changed DB init scripts, then you should also run:
#
# docker compose down -v
#
# That'll delete the volumes. Otherwise e.g. PostgreSQL will skip initializing
# if a DB already exists.
#
# If you omit `-d`, it'll run them all in the foreground, then you can stop them
# with your usual Ctrl-C terminal command.
#
# Facts:
#
# * The SERVICE PORTS numbering start at 65001, 65002, etc. to avoid bother
# existing instances of databases.
#
# * The login credentials are, where possible, all "hasura" to avoid unnecessary
# mental overhead.
version: "3.6"
name: hge-manual-tests
services:
mariadb:
extends:
file: docker-compose/databases.yaml
service: mariadb
ports:
- "65001:3306"
volumes:
- mariadb-data:/var/lib/mysql
postgres:
extends:
file: docker-compose/databases.yaml
service: postgres
ports:
- "65002:5432"
environment:
POSTGRES_USER: "hasura"
POSTGRES_PASSWORD: "hasura"
POSTGRES_DB: "hasura"
volumes:
- postgres-data:/var/lib/postgresql/data
- ./docker-compose/postgres/init.sh:/docker-entrypoint-initdb.d/init-hasura.sh:ro
citus:
extends:
file: docker-compose/databases.yaml
service: citus
ports:
- "65004:5432"
environment:
POSTGRES_USER: "hasura"
POSTGRES_PASSWORD: "hasura"
POSTGRES_DB: "hasura"
volumes:
- citus-data:/var/lib/postgresql/data
- ./docker-compose/postgres/init.sh:/docker-entrypoint-initdb.d/init-hasura.sh:ro
cockroach:
extends:
file: docker-compose/databases.yaml
service: cockroach
ports:
- "65008:26257"
environment:
COCKROACH_USER: "root"
COCKROACH_DATABASE: "hasura"
volumes:
- cockroach-data:/cockroach/cockroach-data
sqlserver:
extends:
file: docker-compose/databases.yaml
service: sqlserver
ports:
- "65003:1433"
volumes:
- mssql-data:/var/opt/mssql
sqlserver-healthcheck:
extends:
file: docker-compose/databases.yaml
service: sqlserver-healthcheck
depends_on:
sqlserver:
condition: service_started
dc-reference-agent:
extends:
file: dc-agents/docker-compose.yaml
service: dc-reference-agent
dc-sqlite-agent:
extends:
file: dc-agents/docker-compose.yaml
service: dc-sqlite-agent
volumes:
citus-data:
cockroach-data:
mariadb-data:
mssql-data:
postgres-data: