2023-01-24 18:15:24 +00:00
|
|
|
# Note: this is an overrides file for ./docker/docker-compose.community.yml:
|
2022-12-28 09:37:23 +00:00
|
|
|
# It's used for setting special environment and configurations for running integration tests.
|
2023-03-08 09:17:43 +00:00
|
|
|
# This file also includes services that only exists in Hive's Cloud version, and are not available in the self-hosted version.
|
2022-12-28 09:37:23 +00:00
|
|
|
# Please refer to TESTING.md for more information.
|
|
|
|
|
|
|
|
|
|
version: '3.8'
|
2023-11-09 11:31:32 +00:00
|
|
|
name: 'hive-tests'
|
2022-12-28 09:37:23 +00:00
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
stack:
|
|
|
|
|
name: hive
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
local_cdn:
|
2026-01-16 14:31:31 +00:00
|
|
|
image: node:24.13.0-alpine3.23
|
2022-12-28 09:37:23 +00:00
|
|
|
working_dir: /app
|
|
|
|
|
command: ['node', 'index.js']
|
|
|
|
|
networks:
|
|
|
|
|
- 'stack'
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: ['CMD', 'wget', '--spider', '-q', 'localhost:3004/_readiness']
|
|
|
|
|
interval: 5s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 6
|
|
|
|
|
start_period: 5s
|
|
|
|
|
ports:
|
|
|
|
|
- 3004:3004
|
|
|
|
|
volumes:
|
2023-01-23 15:44:53 +00:00
|
|
|
- '${PWD}/packages/services/cdn-worker/dist/index.nodejs.js:/app/index.js'
|
2022-12-28 09:37:23 +00:00
|
|
|
environment:
|
|
|
|
|
NODE_ENV: production
|
|
|
|
|
PORT: 3004
|
|
|
|
|
LOG_LEVEL: debug
|
|
|
|
|
CDN_AUTH_PRIVATE_KEY: 1e1064ef9cda8bf38936b77317e90dc3
|
|
|
|
|
S3_ENDPOINT: 'http://s3:9000'
|
|
|
|
|
S3_ACCESS_KEY_ID: minioadmin
|
|
|
|
|
S3_SECRET_ACCESS_KEY: minioadmin
|
|
|
|
|
S3_BUCKET_NAME: artifacts
|
|
|
|
|
|
|
|
|
|
local_broker:
|
2026-01-16 14:31:31 +00:00
|
|
|
image: node:24.13.0-alpine3.23
|
2022-12-28 09:37:23 +00:00
|
|
|
working_dir: /app
|
|
|
|
|
command: ['node', 'broker.js']
|
|
|
|
|
networks:
|
|
|
|
|
- 'stack'
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: ['CMD', 'wget', '--spider', '-q', 'localhost:3013/_readiness']
|
|
|
|
|
interval: 5s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 6
|
|
|
|
|
start_period: 5s
|
|
|
|
|
ports:
|
|
|
|
|
- 3013:3013
|
|
|
|
|
volumes:
|
2023-01-23 15:44:53 +00:00
|
|
|
- '${PWD}/packages/services/broker-worker/dist/index.nodejs.js:/app/broker.js'
|
2022-12-28 09:37:23 +00:00
|
|
|
environment:
|
|
|
|
|
NODE_ENV: production
|
|
|
|
|
PORT: 3013
|
|
|
|
|
LOG_LEVEL: debug
|
|
|
|
|
CF_BROKER_SIGNATURE: secretSignature
|
|
|
|
|
|
2024-11-08 22:06:42 +00:00
|
|
|
mock_server:
|
|
|
|
|
image: mockserver/mockserver:5.15.0
|
|
|
|
|
# healthcheck - no time to implement it
|
|
|
|
|
# The image does not contain curl or wget.
|
|
|
|
|
networks:
|
|
|
|
|
- 'stack'
|
|
|
|
|
ports:
|
|
|
|
|
- 3042:3042
|
|
|
|
|
environment:
|
|
|
|
|
MOCKSERVER_LOG_LEVEL: DEBUG
|
|
|
|
|
MOCKSERVER_SERVER_PORT: 3042
|
|
|
|
|
|
2022-12-28 09:37:23 +00:00
|
|
|
composition_federation_2:
|
|
|
|
|
image: '${DOCKER_REGISTRY}composition-federation-2${DOCKER_TAG}'
|
|
|
|
|
networks:
|
|
|
|
|
- 'stack'
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: ['CMD', 'wget', '--spider', '-q', 'localhost:3069/_readiness']
|
|
|
|
|
interval: 5s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 6
|
|
|
|
|
start_period: 5s
|
|
|
|
|
ports:
|
|
|
|
|
- 3069:3069
|
|
|
|
|
environment:
|
|
|
|
|
NODE_ENV: production
|
|
|
|
|
PORT: 3069
|
|
|
|
|
LOG_LEVEL: debug
|
|
|
|
|
SECRET: '${EXTERNAL_COMPOSITION_SECRET}'
|
|
|
|
|
|
|
|
|
|
external_composition:
|
2026-01-16 14:31:31 +00:00
|
|
|
image: node:24.13.0-alpine3.23
|
2022-12-28 09:37:23 +00:00
|
|
|
working_dir: /app
|
|
|
|
|
command: ['node', 'example.mjs']
|
|
|
|
|
networks:
|
|
|
|
|
- 'stack'
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: ['CMD', 'wget', '--spider', '-q', 'localhost:3012/_readiness']
|
|
|
|
|
interval: 5s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 6
|
|
|
|
|
start_period: 5s
|
|
|
|
|
ports:
|
|
|
|
|
- 3012:3012
|
|
|
|
|
volumes:
|
|
|
|
|
- '${PWD}/packages/libraries/external-composition/dist/example.js:/app/example.mjs'
|
|
|
|
|
environment:
|
|
|
|
|
NODE_ENV: production
|
|
|
|
|
PORT: 3012
|
|
|
|
|
LOG_LEVEL: debug
|
|
|
|
|
SECRET: '${EXTERNAL_COMPOSITION_SECRET}'
|
|
|
|
|
|
2025-02-24 10:41:01 +00:00
|
|
|
commerce:
|
|
|
|
|
image: '${DOCKER_REGISTRY}commerce${DOCKER_TAG}'
|
2022-12-28 09:37:23 +00:00
|
|
|
networks:
|
|
|
|
|
- 'stack'
|
|
|
|
|
ports:
|
|
|
|
|
- 3009:3009
|
|
|
|
|
depends_on:
|
|
|
|
|
clickhouse:
|
|
|
|
|
condition: service_healthy
|
2023-01-18 07:54:47 +00:00
|
|
|
migrations:
|
2022-12-28 09:37:23 +00:00
|
|
|
condition: service_completed_successfully
|
|
|
|
|
environment:
|
|
|
|
|
NODE_ENV: production
|
|
|
|
|
LOG_LEVEL: debug
|
2023-01-05 10:27:42 +00:00
|
|
|
LIMIT_CACHE_UPDATE_INTERVAL_MS: '${LIMIT_CACHE_UPDATE_INTERVAL_MS}'
|
2022-12-28 09:37:23 +00:00
|
|
|
POSTGRES_HOST: db
|
|
|
|
|
POSTGRES_PORT: 5432
|
|
|
|
|
POSTGRES_DB: '${POSTGRES_DB}'
|
|
|
|
|
POSTGRES_USER: '${POSTGRES_USER}'
|
|
|
|
|
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
|
2025-02-24 10:41:01 +00:00
|
|
|
CLICKHOUSE_PROTOCOL: 'http'
|
|
|
|
|
CLICKHOUSE_HOST: 'clickhouse'
|
|
|
|
|
CLICKHOUSE_PORT: '8123'
|
|
|
|
|
CLICKHOUSE_USERNAME: '${CLICKHOUSE_USER}'
|
|
|
|
|
CLICKHOUSE_PASSWORD: '${CLICKHOUSE_PASSWORD}'
|
|
|
|
|
STRIPE_SECRET_KEY: empty
|
2022-12-28 09:37:23 +00:00
|
|
|
PORT: 3009
|
|
|
|
|
|
|
|
|
|
# Overrides only to `docker-compose.community.yaml` from now on:
|
|
|
|
|
server:
|
|
|
|
|
environment:
|
|
|
|
|
CDN_CF: '1'
|
|
|
|
|
CDN_CF_BASE_PATH: http://local_cdn:3004
|
|
|
|
|
CDN_CF_ACCOUNT_ID: 103df45224310d669213971ce28b5b70
|
|
|
|
|
CDN_CF_AUTH_TOKEN: 85e20c26c03759603c0f45884824a1c3
|
|
|
|
|
CDN_CF_NAMESPACE_ID: 33b1e3bbb4a4707d05ea0307cbb55c79
|
|
|
|
|
CDN_CF_BASE_URL: http://localhost:3004
|
|
|
|
|
CDN_AUTH_PRIVATE_KEY: 1e1064ef9cda8bf38936b77317e90dc3
|
|
|
|
|
CDN_API: '1'
|
|
|
|
|
CDN_API_BASE_URL: 'http://localhost:3001'
|
|
|
|
|
REQUEST_BROKER: '1'
|
|
|
|
|
REQUEST_BROKER_SIGNATURE: 'secretSignature'
|
|
|
|
|
REQUEST_BROKER_ENDPOINT: 'http://local_broker:3013'
|
|
|
|
|
GITHUB_APP_ID: 123123
|
|
|
|
|
GITHUB_APP_PRIVATE_KEY: 5f938d51a065476c4dc1b04aeba13afb
|
|
|
|
|
FEEDBACK_SLACK_TOKEN: ''
|
|
|
|
|
FEEDBACK_SLACK_CHANNEL: '#hive'
|
2025-02-24 10:41:01 +00:00
|
|
|
COMMERCE_ENDPOINT: '${COMMERCE_ENDPOINT}'
|
2022-12-28 09:37:23 +00:00
|
|
|
EMAIL_PROVIDER: '${EMAIL_PROVIDER}'
|
2023-02-02 18:35:59 +00:00
|
|
|
LOG_LEVEL: debug
|
2024-03-26 12:42:56 +00:00
|
|
|
# Auth
|
|
|
|
|
WEB_APP_URL: '${HIVE_APP_BASE_URL}'
|
|
|
|
|
AUTH_ORGANIZATION_OIDC: '1'
|
|
|
|
|
AUTH_REQUIRE_EMAIL_VERIFICATION: '0'
|
|
|
|
|
SUPERTOKENS_CONNECTION_URI: http://supertokens:3567
|
|
|
|
|
SUPERTOKENS_API_KEY: '${SUPERTOKENS_API_KEY}'
|
|
|
|
|
GRAPHQL_PUBLIC_ORIGIN: http://localhost:8082
|
2022-12-28 09:37:23 +00:00
|
|
|
|
2023-01-17 14:47:45 +00:00
|
|
|
broker:
|
2024-12-10 15:59:54 +00:00
|
|
|
image: redpandadata/redpanda:latest
|
2023-01-17 14:47:45 +00:00
|
|
|
hostname: broker
|
|
|
|
|
networks:
|
|
|
|
|
- 'stack'
|
|
|
|
|
command:
|
|
|
|
|
- redpanda
|
|
|
|
|
- start
|
|
|
|
|
- --smp
|
|
|
|
|
- '1'
|
|
|
|
|
- --set redpanda.empty_seed_starts_cluster=false
|
|
|
|
|
- --seeds "redpanda-1:33145"
|
|
|
|
|
- --kafka-addr
|
|
|
|
|
- PLAINTEXT://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092
|
|
|
|
|
- --advertise-kafka-addr
|
|
|
|
|
- PLAINTEXT://broker:29092,OUTSIDE://localhost:9092
|
|
|
|
|
- --pandaproxy-addr
|
|
|
|
|
- PLAINTEXT://0.0.0.0:28082,OUTSIDE://0.0.0.0:8082
|
|
|
|
|
- --advertise-pandaproxy-addr
|
|
|
|
|
- PLAINTEXT://broker:28082,OUTSIDE://localhost:8082
|
|
|
|
|
- --advertise-rpc-addr redpanda-1:33145
|
|
|
|
|
mem_limit: 300m
|
|
|
|
|
mem_reservation: 100m
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: 'curl -f http://localhost:9644/public_metrics'
|
|
|
|
|
interval: 3s
|
|
|
|
|
timeout: 3s
|
|
|
|
|
retries: 6
|
|
|
|
|
start_period: 5s
|
|
|
|
|
|
2022-12-28 09:37:23 +00:00
|
|
|
db:
|
|
|
|
|
ports:
|
|
|
|
|
- '5432:5432'
|
|
|
|
|
clickhouse:
|
|
|
|
|
ports:
|
|
|
|
|
- '8123:8123'
|
2023-08-28 13:03:40 +00:00
|
|
|
volumes:
|
|
|
|
|
- ./.hive/clickhouse/logs:/var/log/clickhouse-server
|
|
|
|
|
- ./.hive/clickhouse/db:/var/lib/clickhouse
|
2024-06-13 10:26:33 +00:00
|
|
|
- ./configs/clickhouse:/etc/clickhouse-server/conf.d
|
2023-08-28 13:03:40 +00:00
|
|
|
|
2022-12-28 09:37:23 +00:00
|
|
|
supertokens:
|
|
|
|
|
ports:
|
|
|
|
|
- '3567:3567'
|
|
|
|
|
|
|
|
|
|
usage:
|
|
|
|
|
environment:
|
2025-02-24 10:41:01 +00:00
|
|
|
COMMERCE_ENDPOINT: '${COMMERCE_ENDPOINT}'
|
2025-01-14 14:22:45 +00:00
|
|
|
RATE_LIMIT_TTL: 1000
|
2023-02-02 18:35:59 +00:00
|
|
|
LOG_LEVEL: debug
|
2023-01-17 14:47:45 +00:00
|
|
|
depends_on:
|
|
|
|
|
broker:
|
|
|
|
|
condition: service_started # Redpand is ready when it starts
|
|
|
|
|
tokens:
|
|
|
|
|
condition: service_healthy
|
2022-12-28 09:37:23 +00:00
|
|
|
|
|
|
|
|
usage-ingestor:
|
|
|
|
|
environment:
|
|
|
|
|
CLICKHOUSE_ASYNC_INSERT_BUSY_TIMEOUT_MS: '${CLICKHOUSE_ASYNC_INSERT_BUSY_TIMEOUT_MS}'
|
|
|
|
|
CLICKHOUSE_ASYNC_INSERT_MAX_DATA_SIZE: '${CLICKHOUSE_ASYNC_INSERT_MAX_DATA_SIZE}'
|
2023-02-02 18:35:59 +00:00
|
|
|
LOG_LEVEL: debug
|
2023-01-17 14:47:45 +00:00
|
|
|
depends_on:
|
|
|
|
|
broker:
|
|
|
|
|
condition: service_started # Redpand is ready when it starts
|
|
|
|
|
tokens:
|
|
|
|
|
condition: service_healthy
|
2022-12-28 09:37:23 +00:00
|
|
|
|
2026-01-12 12:13:23 +00:00
|
|
|
workflows:
|
|
|
|
|
environment:
|
|
|
|
|
EMAIL_PROVIDER: '${EMAIL_PROVIDER}'
|
2026-02-27 21:53:14 +00:00
|
|
|
SCHEMA_ENDPOINT: http://schema:3002
|
2026-01-12 12:13:23 +00:00
|
|
|
LOG_LEVEL: debug
|
|
|
|
|
ports:
|
|
|
|
|
- '3014:3014'
|
|
|
|
|
|
2023-02-13 09:08:46 +00:00
|
|
|
schema:
|
|
|
|
|
environment:
|
2023-07-04 11:51:55 +00:00
|
|
|
LOG_LEVEL: debug
|
2023-02-13 09:08:46 +00:00
|
|
|
REQUEST_BROKER: '1'
|
|
|
|
|
REQUEST_BROKER_SIGNATURE: 'secretSignature'
|
|
|
|
|
REQUEST_BROKER_ENDPOINT: 'http://local_broker:3013'
|
2024-01-04 09:59:55 +00:00
|
|
|
ports:
|
|
|
|
|
- '3002:3002'
|
2023-02-13 09:08:46 +00:00
|
|
|
|
2025-11-27 14:36:09 +00:00
|
|
|
otel-collector:
|
|
|
|
|
depends_on:
|
|
|
|
|
clickhouse:
|
|
|
|
|
condition: service_healthy
|
|
|
|
|
server:
|
|
|
|
|
condition: service_healthy
|
|
|
|
|
build:
|
|
|
|
|
context: ${PWD}/docker/configs/otel-collector
|
|
|
|
|
dockerfile: ${PWD}/docker/otel-collector.dockerfile
|
|
|
|
|
environment:
|
|
|
|
|
HIVE_OTEL_AUTH_ENDPOINT: 'http://server:3001/otel-auth'
|
|
|
|
|
CLICKHOUSE_PROTOCOL: 'http'
|
|
|
|
|
CLICKHOUSE_HOST: clickhouse
|
|
|
|
|
CLICKHOUSE_PORT: 8123
|
|
|
|
|
CLICKHOUSE_USERNAME: '${CLICKHOUSE_USER}'
|
|
|
|
|
CLICKHOUSE_PASSWORD: '${CLICKHOUSE_PASSWORD}'
|
|
|
|
|
volumes:
|
|
|
|
|
- '${PWD}/docker/configs/otel-collector/builder-config.yaml:/builder-config.yaml'
|
|
|
|
|
- '${PWD}/docker/configs/otel-collector/config.yaml:/etc/otel-config.yaml'
|
|
|
|
|
ports:
|
|
|
|
|
- '4317:4317'
|
|
|
|
|
- '4318:4318'
|
|
|
|
|
networks:
|
|
|
|
|
- 'stack'
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: ['CMD', 'wget', '--spider', '-q', 'localhost:13133']
|
|
|
|
|
interval: 5s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 6
|
|
|
|
|
start_period: 10s
|
|
|
|
|
|
2023-01-17 14:47:45 +00:00
|
|
|
#
|
|
|
|
|
# Awkwardly, we need to override some services for different reasons
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
# It's not part of integration tests
|
2023-01-02 10:34:23 +00:00
|
|
|
app:
|
2026-01-16 14:31:31 +00:00
|
|
|
image: node:24.13.0-alpine3.23
|
2023-01-02 13:22:40 +00:00
|
|
|
command: ['npx', 'http-server']
|
2023-01-17 14:47:45 +00:00
|
|
|
|
|
|
|
|
# Redpand is used for integration tests, instead of Kafka. Zookeeper is no longer needed
|
|
|
|
|
zookeeper:
|
2026-01-16 14:31:31 +00:00
|
|
|
image: node:24.13.0-alpine3.23
|
2023-01-17 14:47:45 +00:00
|
|
|
command: ['npx', 'http-server']
|