-
Notifications
You must be signed in to change notification settings - Fork 31
/
docker-compose.yml
107 lines (100 loc) · 2.45 KB
/
docker-compose.yml
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
version: "3.8"
x-common-pg: &common-pg
build:
context: hack/postgres
dockerfile: ${PG_VERSION}/Dockerfile
platform: ${PLATFORM}
ports:
- "5432:5432"
command: [ "postgres", "-c", "config_file=/pgc/postgresql.conf", "-c","hba_file=/pgc/pg_hba.conf" ]
environment:
POSTGRES_HOST_AUTH_METHOD: trust
volumes:
- ./hack/postgres:/pgc
x-common: &common
build:
context: .
dockerfile: Dockerfile.build
working_dir: /src
volumes:
- .:/src
- ${LOCAL_GOPATH}/pkg/mod/cache:/go/pkg/mod/cache
x-common-test-env: &common-test-env
PG_VERSION: ${PG_VERSION}
POSTGRES_URL: postgres://postgres@postgres:5432/postgres?sslmode=disable
PULSAR_URL: pulsar://pulsar:6650
PULSAR_ADMIN_URL: http://pulsar:8080
x-common-test: &common-test
<<: *common
environment: *common-test-env
depends_on:
- pg_${PG_VERSION}
- pulsar
x-common-build: &common-build
<<: *common
environment:
PGCAPTURE_SHA: ${PGCAPTURE_SHA}
PGCAPTURE_VERSION: ${PGCAPTURE_VERSION}
services:
pg_11:
<<: *common-pg
image: replicase/postgres:11-logical
container_name: postgres11
hostname: postgres
pg_12:
<<: *common-pg
image: replicase/postgres:12-logical
container_name: postgres12
hostname: postgres
pg_13:
<<: *common-pg
image: replicase/postgres:13-logical
container_name: postgres13
hostname: postgres
pg_14:
<<: *common-pg
image: replicase/postgres:14-logical
container_name: postgres14
hostname: postgres
pg_15:
<<: *common-pg
image: replicase/postgres:15-logical
container_name: postgres15
hostname: postgres
pg_16:
<<: *common-pg
image: replicase/postgres:16-logical
container_name: postgres16
hostname: postgres
pg_17:
<<: *common-pg
image: replicase/postgres:17-logical
container_name: postgres17
hostname: postgres
pulsar:
image: apachepulsar/pulsar:2.10.4
container_name: pulsar
platform: ${PLATFORM}
command: ["bin/pulsar", "standalone"]
ports:
- 6650:6650
- 8080:8080
build:
<<: *common-build
command: [ "make" ]
pgcapture:
image: replicase/pgcapture:latest
build:
context: .
test:
<<: *common-test
command: [ "make", "test" ]
test-deps:
image: dadarek/wait-for-dependencies
depends_on:
- pg_${PG_VERSION}
- pulsar
command: [ "pulsar:6650", "pulsar:8080", "postgres:5432" ]
codegen:
<<: *common
command: [ "make", "codegen" ]