Skip to content

Commit 1945e09

Browse files
docker-compose added for distributed
workflow updated to test standalone and distributed both fixes : #644
1 parent 994be5a commit 1945e09

File tree

2 files changed

+280
-1
lines changed

2 files changed

+280
-1
lines changed

.github/workflows/integration-test.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
jobs:
1212

1313
docker-compose-test:
14-
name: Quest Smoke and Load Tests
14+
name: Quest Smoke and Load Tests for Standalone deployments
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: Checkout
@@ -21,3 +21,15 @@ jobs:
2121
- name: Stop compose
2222
if: always()
2323
run: docker-compose -f docker-compose-test.yaml down
24+
25+
docker-compose-distributed-test:
26+
name: Quest Smoke and Load Tests for Distributed deployments
27+
runs-on: ubuntu-latest
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v3
31+
- name: Start compose
32+
run: docker-compose -f docker-compose-distributed-test.yaml up --build --exit-code-from quest
33+
- name: Stop compose
34+
if: always()
35+
run: docker-compose -f docker-compose-distributed-test.yaml down
Lines changed: 267 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,267 @@
1+
version: "3.7"
2+
networks:
3+
parseable-internal:
4+
services:
5+
# minio
6+
minio:
7+
image: minio/minio:RELEASE.2023-02-10T18-48-39Z
8+
entrypoint:
9+
- sh
10+
- -euc
11+
- |
12+
mkdir -p /tmp/minio/parseable && \
13+
minio server /tmp/minio
14+
environment:
15+
- MINIO_ROOT_USER=parseable
16+
- MINIO_ROOT_PASSWORD=supersecret
17+
- MINIO_UPDATE=off
18+
ports:
19+
- 9000
20+
healthcheck:
21+
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
22+
interval: 15s
23+
timeout: 20s
24+
retries: 5
25+
networks:
26+
- parseable-internal
27+
# query server
28+
parseable-query:
29+
build:
30+
context: .
31+
dockerfile: Dockerfile
32+
command: ["parseable", "s3-store"]
33+
ports:
34+
- 8000
35+
environment:
36+
- P_S3_URL=http://minio:9000
37+
- P_S3_ACCESS_KEY=parseable
38+
- P_S3_SECRET_KEY=supersecret
39+
- P_S3_REGION=us-east-1
40+
- P_S3_BUCKET=parseable
41+
- P_STAGING_DIR=/tmp/data
42+
- P_USERNAME=parseableadmin
43+
- P_PASSWORD=parseableadmin
44+
- P_CHECK_UPDATE=false
45+
- P_PARQUET_COMPRESSION_ALGO=snappy
46+
- P_MODE=query
47+
- RUST_LOG=DEBUG
48+
networks:
49+
- parseable-internal
50+
healthcheck:
51+
test: ["CMD", "curl", "-f", "http://localhost:8000/api/v1/liveness"]
52+
interval: 15s
53+
timeout: 20s
54+
retries: 5
55+
depends_on:
56+
- minio
57+
deploy:
58+
restart_policy:
59+
condition: on-failure
60+
delay: 20s
61+
max_attempts: 3
62+
# ingest server one
63+
parseable-ingest-one:
64+
build:
65+
context: .
66+
dockerfile: Dockerfile
67+
command: ["parseable", "s3-store"]
68+
ports:
69+
- 8000
70+
environment:
71+
- P_S3_URL=http://minio:9000
72+
- P_S3_ACCESS_KEY=parseable
73+
- P_S3_SECRET_KEY=supersecret
74+
- P_S3_REGION=us-east-1
75+
- P_S3_BUCKET=parseable
76+
- P_STAGING_DIR=/tmp/data
77+
- P_USERNAME=parseableadmin
78+
- P_PASSWORD=parseableadmin
79+
- P_CHECK_UPDATE=false
80+
- P_PARQUET_COMPRESSION_ALGO=snappy
81+
- P_MODE=ingest
82+
- P_INGESTOR_ENDPOINT=parseable-ingest-one:8000
83+
- RUST_LOG=DEBUG
84+
networks:
85+
- parseable-internal
86+
healthcheck:
87+
test: ["CMD", "curl", "-f", "http://localhost:8000/api/v1/liveness"]
88+
interval: 15s
89+
timeout: 20s
90+
retries: 5
91+
depends_on:
92+
- parseable-query
93+
- minio
94+
deploy:
95+
restart_policy:
96+
condition: on-failure
97+
delay: 20s
98+
max_attempts: 3
99+
# ingest server two
100+
parseable-ingest-two:
101+
build:
102+
context: .
103+
dockerfile: Dockerfile
104+
command: ["parseable", "s3-store"]
105+
ports:
106+
- 8000
107+
environment:
108+
- P_S3_URL=http://minio:9000
109+
- P_S3_ACCESS_KEY=parseable
110+
- P_S3_SECRET_KEY=supersecret
111+
- P_S3_REGION=us-east-1
112+
- P_S3_BUCKET=parseable
113+
- P_STAGING_DIR=/tmp/data
114+
- P_USERNAME=parseableadmin
115+
- P_PASSWORD=parseableadmin
116+
- P_CHECK_UPDATE=false
117+
- P_PARQUET_COMPRESSION_ALGO=snappy
118+
- P_MODE=ingest
119+
- RUST_LOG=DEBUG
120+
- P_INGESTOR_ENDPOINT=parseable-ingest-two:8000
121+
networks:
122+
- parseable-internal
123+
healthcheck:
124+
test: [ "CMD", "curl", "-f", "http://localhost:8000/api/v1/liveness" ]
125+
interval: 15s
126+
timeout: 20s
127+
retries: 5
128+
depends_on:
129+
- parseable-query
130+
- minio
131+
deploy:
132+
restart_policy:
133+
condition: on-failure
134+
delay: 20s
135+
max_attempts: 3
136+
# ingest server three
137+
parseable-ingest-three:
138+
build:
139+
context: .
140+
dockerfile: Dockerfile
141+
command: ["parseable", "s3-store"]
142+
ports:
143+
- 8000
144+
environment:
145+
- P_S3_URL=http://minio:9000
146+
- P_S3_ACCESS_KEY=parseable
147+
- P_S3_SECRET_KEY=supersecret
148+
- P_S3_REGION=us-east-1
149+
- P_S3_BUCKET=parseable
150+
- P_STAGING_DIR=/tmp/data
151+
- P_USERNAME=parseableadmin
152+
- P_PASSWORD=parseableadmin
153+
- P_CHECK_UPDATE=false
154+
- P_PARQUET_COMPRESSION_ALGO=snappy
155+
- P_MODE=ingest
156+
- RUST_LOG=DEBUG
157+
- P_INGESTOR_ENDPOINT=parseable-ingest-three:8000
158+
networks:
159+
- parseable-internal
160+
healthcheck:
161+
test: [ "CMD", "curl", "-f", "http://localhost:8000/api/v1/liveness" ]
162+
interval: 15s
163+
timeout: 20s
164+
retries: 5
165+
depends_on:
166+
- parseable-query
167+
- minio
168+
deploy:
169+
restart_policy:
170+
condition: on-failure
171+
delay: 20s
172+
max_attempts: 3
173+
# ingest server four
174+
parseable-ingest-four:
175+
build:
176+
context: .
177+
dockerfile: Dockerfile
178+
command: ["parseable", "s3-store"]
179+
ports:
180+
- 8000
181+
environment:
182+
- P_S3_URL=http://minio:9000
183+
- P_S3_ACCESS_KEY=parseable
184+
- P_S3_SECRET_KEY=supersecret
185+
- P_S3_REGION=us-east-1
186+
- P_S3_BUCKET=parseable
187+
- P_STAGING_DIR=/tmp/data
188+
- P_USERNAME=parseableadmin
189+
- P_PASSWORD=parseableadmin
190+
- P_CHECK_UPDATE=false
191+
- P_PARQUET_COMPRESSION_ALGO=snappy
192+
- P_MODE=ingest
193+
- RUST_LOG=DEBUG
194+
- P_INGESTOR_ENDPOINT=parseable-ingest-four:8000
195+
networks:
196+
- parseable-internal
197+
healthcheck:
198+
test: [ "CMD", "curl", "-f", "http://localhost:8000/api/v1/liveness" ]
199+
interval: 15s
200+
timeout: 20s
201+
retries: 5
202+
depends_on:
203+
- parseable-query
204+
- minio
205+
deploy:
206+
restart_policy:
207+
condition: on-failure
208+
delay: 20s
209+
max_attempts: 3
210+
# penguin lb
211+
penguin:
212+
image: ghcr.io/eshanatnight/penguin:multi
213+
command: ["penguin"]
214+
environment:
215+
- P_ADDR_ONE=parseable-ingest-one:8000
216+
- P_ADDR_TWO=parseable-ingest-two:8000
217+
- P_ADDR_THREE=parseable-ingest-three:8000
218+
- P_ADDR_FOUR=parseable-ingest-four:8000
219+
- RUST_LOG=DEBUG
220+
ports:
221+
- 6188
222+
depends_on:
223+
- parseable-query
224+
- minio
225+
- parseable-ingest-one
226+
- parseable-ingest-two
227+
- parseable-ingest-three
228+
- parseable-ingest-four
229+
# ignore this for now
230+
# healthcheck:
231+
# test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
232+
# interval: 15s
233+
# timeout: 20s
234+
# retries: 5
235+
networks:
236+
- parseable-internal
237+
quest:
238+
platform: linux/amd64
239+
image: ghcr.io/eshanatnight/quest:main
240+
command:
241+
[
242+
"load",
243+
"http://parseable-query:8000",
244+
"parseableadmin",
245+
"parseableadmin",
246+
"20",
247+
"10",
248+
"5m",
249+
"minio:9000",
250+
"parseable",
251+
"supersecret",
252+
"parseable",
253+
"http://penguin:6188",
254+
"parseableadmin",
255+
"parseableadmin",
256+
]
257+
networks:
258+
- parseable-internal
259+
depends_on:
260+
- parseable-query
261+
- penguin
262+
- minio
263+
deploy:
264+
restart_policy:
265+
condition: on-failure
266+
delay: 20s
267+
max_attempts: 3

0 commit comments

Comments
 (0)