-
Notifications
You must be signed in to change notification settings - Fork 2.8k
/
docker-compose.yaml
121 lines (115 loc) · 3.32 KB
/
docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# this Docker Compose file loads `v3-engine` along with an `ndc-postgres`
# connector and a sample `postgres` database
# run it with `docker compose up`, then access Graphiql at localhost:3000
# or view traces in Jaeger at localhost:4002
services:
engine:
build:
dockerfile: Dockerfile
environment:
- METADATA_PATH=app/docker_schema.json
- AUTHN_CONFIG_PATH=app/auth_config.json
- OTLP_ENDPOINT=http://jaeger:4317
ports:
- 3000:3000
depends_on:
jaeger:
condition: service_started
auth_hook:
condition: service_started
extra_hosts:
- local.hasura.dev=host-gateway
volumes:
- ./static/auth/auth_config.json:/app/auth_config.json
- ./static/docker_schema.json:/app/docker_schema.json
- ./crates/open-dds/examples/reference.json:/app/crates/open-dds/examples/reference.json
postgres:
image: postgis/postgis:16-3.4
platform: linux/amd64
restart: always
command:
- -F # turn fsync off for speed
- -N 1000 # increase max connections from 100 so we can run more HGEs
ports:
- 5432:5432
environment:
POSTGRES_PASSWORD: "password"
volumes:
- type: volume
source: postgres
target: /var/lib/postgresql/data
- type: bind
source: ./crates/engine/tests/db_definition.sql
target: /docker-entrypoint-initdb.d/01-db_definition.sql
read_only: true
- type: bind
source: ./crates/engine/tests/chinook-postgres.sql
target: /docker-entrypoint-initdb.d/02-chinook.sql
read_only: true
- type: bind
source: ./crates/engine/tests/finish.sql
target: /docker-entrypoint-initdb.d/03-finish.sql
read_only: true
healthcheck:
test:
- CMD-SHELL
- psql -U "$${POSTGRES_USER:-postgres}" finished < /dev/null
start_period: 2s
interval: 2s
timeout: 1s
retries: 5
auth_hook:
build:
dockerfile: dev-auth-webhook.Dockerfile
environment:
OTLP_ENDPOINT: "http://local.hasura.dev:4317"
RUST_LOG: debug
ports:
- "3050:3050"
extra_hosts:
- local.hasura.dev=host-gateway
depends_on:
jaeger:
condition: service_started
jaeger:
image: jaegertracing/all-in-one:1.55
restart: always
ports:
- 5775:5775/udp
- 6831:6831/udp
- 6832:6832/udp
- 5778:5778
- 4002:16686
- 14250:14250
- 14268:14268
- 14269:14269
- 4317:4317 # OTLP gRPC
- 4318:4318 # OTLP HTTP
- 9411:9411
environment:
COLLECTOR_OTLP_ENABLED: "true"
COLLECTOR_ZIPKIN_HOST_PORT: "9411"
postgres_connector:
image: ghcr.io/hasura/ndc-postgres:latest
ports:
- 8080:8080
environment:
HASURA_SERVICE_TOKEN_SECRET: super sekret
CONNECTION_URI: "postgresql://postgres:[email protected]"
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: "http://local.hasura.dev:4317"
OTEL_SERVICE_NAME: "ndc-postgres"
RUST_LOG: info
volumes:
- type: bind
source: ./crates/engine/tests/ndc-postgres-configuration
target: /etc/connector
read_only: true
extra_hosts:
- local.hasura.dev=host-gateway
depends_on:
postgres:
condition: service_healthy
jaeger:
condition: service_started
volumes:
postgres: