Skip to content

Commit b7f3e16

Browse files
committed
Refactor boot tests into docker compose
1 parent 444a471 commit b7f3e16

File tree

3 files changed

+80
-92
lines changed

3 files changed

+80
-92
lines changed

.gitlab/ci/container-boot.gitlab-ci.yml

Lines changed: 13 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
stage: container:boot
55
image: ghcr.io/code0-tech/build-images/reticulum-builder:177.1-ruby-3.2.2
66
variables:
7-
RETICULUM_IMAGE_BASE: ghcr.io/code0-tech/reticulum/ci-builds
8-
SAGITTARIUS_IMAGE: $RETICULUM_IMAGE_BASE/sagittarius:${CI_PIPELINE_ID}-${SAGITTARIUS_VARIANT}
9-
AQUILA_IMAGE: $RETICULUM_IMAGE_BASE/aquila:${CI_PIPELINE_ID}
7+
COMPOSE_FILE: support/docker-compose.yml
108

119
.container:boot:sagittarius:
1210
extends:
@@ -18,61 +16,25 @@
1816
- SAGITTARIUS_VARIANT:
1917
- ce
2018
- ee
21-
variables:
22-
CURL_IMAGE: curlimages/curl:8.5.0
23-
DOCKER_ARGS: ""
2419
before_script:
25-
- docker network create boot
26-
- >
27-
docker run
28-
--detach
29-
--name postgres
30-
--network boot
31-
--network-alias postgres
32-
--env POSTGRES_USER=sagittarius
33-
--env POSTGRES_PASSWORD=sagittarius
34-
--env POSTGRES_DB=sagittarius_production
35-
postgres:16.1
36-
- docker pull $SAGITTARIUS_IMAGE
37-
- docker pull $CURL_IMAGE
38-
- >
39-
docker run
40-
--detach
41-
--name sagittarius
42-
--network boot
43-
--network-alias sagittarius
44-
--volume $(pwd)/container/sagittarius/sagittarius.yml:/sagittarius/config/sagittarius.yml
45-
$DOCKER_ARGS
46-
$SAGITTARIUS_IMAGE
47-
$SAGITTARIUS_CMD
20+
- docker compose up postgres -d
21+
- docker compose up sagittarius-$SAGITTARIUS_SERVICE -d
4822
- docker ps --all
49-
- docker logs -f sagittarius &
23+
- docker compose logs sagittarius-$SAGITTARIUS_SERVICE -f &
5024

5125
container:boot:sagittarius:rails-web:
5226
extends:
5327
- .container:boot:sagittarius
5428
variables:
55-
SAGITTARIUS_CMD: ""
29+
SAGITTARIUS_SERVICE: rails-web
5630
script:
57-
- >
58-
docker run
59-
--rm
60-
--network boot
61-
$CURL_IMAGE
62-
curl
63-
--fail
64-
-sv
65-
--retry 20
66-
--retry-delay 3
67-
--retry-connrefused
68-
http://sagittarius:3000/health/liveness
31+
- docker compose run curl-sagittarius-rails-web
6932

7033
container:boot:sagittarius:grpc:
7134
extends:
7235
- .container:boot:sagittarius
7336
variables:
74-
SAGITTARIUS_CMD: "bin/grpc_server"
75-
DOCKER_ARGS: "--publish 50051:50051 --env SAGITTARIUS_PREPARE_DATABASE=true"
37+
SAGITTARIUS_SERVICE: grpc
7638
before_script:
7739
- bundle install
7840
- !reference [.container:boot:sagittarius, before_script]
@@ -90,54 +52,13 @@ container:boot:aquila:
9052
SAGITTARIUS_VARIANT: ce
9153
script:
9254
- bundle install
93-
- docker network create boot
94-
- >
95-
docker run
96-
--detach
97-
--name postgres
98-
--network boot
99-
--network-alias postgres
100-
--env POSTGRES_USER=sagittarius
101-
--env POSTGRES_PASSWORD=sagittarius
102-
--env POSTGRES_DB=sagittarius_production
103-
postgres:16.1
104-
- >
105-
docker run
106-
--detach
107-
--name nats
108-
--network boot
109-
--network-alias nats
110-
nats:2.11.8
111-
-js
112-
- docker pull $SAGITTARIUS_IMAGE
113-
- docker pull $AQUILA_IMAGE
114-
- >
115-
docker run
116-
--detach
117-
--name sagittarius
118-
--network boot
119-
--network-alias sagittarius
120-
--volume $(pwd)/container/sagittarius/sagittarius.yml:/sagittarius/config/sagittarius.yml
121-
--env SAGITTARIUS_PREPARE_DATABASE=true
122-
--publish 50051:50051
123-
$SAGITTARIUS_IMAGE
124-
bin/grpc_server
55+
- docker compose up postgres -d
56+
- docker compose up nats -d
57+
- docker compose up sagittarius-grpc -d
12558
- docker ps --all
126-
- docker logs -f sagittarius &
59+
- docker compose logs sagittarius-grpc -f &
12760
- support/grpc_check_health --host docker:50051 --service readiness --retries 20
128-
- >
129-
docker run
130-
--detach
131-
--name aquila
132-
--network boot
133-
--network-alias aquila
134-
--env NATS_URL=nats://nats:4222
135-
--env MODE=dynamic
136-
--env WITH_HEALTH_SERVICE=true
137-
--env GRPC_HOST=0.0.0.0
138-
--env SAGITTARIUS_URL=http://sagittarius:50051
139-
--publish 8081:8081
140-
$AQUILA_IMAGE
141-
- docker logs -f aquila &
61+
- docker compose up aquila -d
62+
- docker compose logs aquila -f &
14263
- support/grpc_check_health --host docker:8081 --service liveness --retries 20
14364
- support/grpc_check_health --host docker:8081 --service readiness --retries 20

support/docker-compose.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
services:
2+
postgres:
3+
image: postgres:16.1
4+
networks:
5+
- boot
6+
environment:
7+
POSTGRES_USER: sagittarius
8+
POSTGRES_PASSWORD: sagittarius
9+
POSTGRES_DB: sagittarius_production
10+
11+
sagittarius-rails-web:
12+
image: ghcr.io/code0-tech/reticulum/ci-builds/sagittarius:${CI_PIPELINE_ID}-${SAGITTARIUS_VARIANT}
13+
networks:
14+
- boot
15+
volumes:
16+
- ../container/sagittarius/sagittarius.yml:/sagittarius/config/sagittarius.yml
17+
18+
curl-sagittarius-rails-web:
19+
image: curlimages/curl:8.5.0
20+
networks:
21+
- boot
22+
command:
23+
- curl
24+
- --fail
25+
- -sv
26+
- --retry
27+
- "20"
28+
- --retry-delay
29+
- "3"
30+
- --retry-connrefused
31+
- http://sagittarius-rails-web:3000/health/liveness
32+
33+
sagittarius-grpc:
34+
image: ghcr.io/code0-tech/reticulum/ci-builds/sagittarius:${CI_PIPELINE_ID}-${SAGITTARIUS_VARIANT}
35+
networks:
36+
- boot
37+
volumes:
38+
- ../container/sagittarius/sagittarius.yml:/sagittarius/config/sagittarius.yml
39+
command:
40+
- bin/grpc_server
41+
environment:
42+
SAGITTARIUS_PREPARE_DATABASE: "true"
43+
ports:
44+
- "50051:50051"
45+
46+
nats:
47+
image: nats:2.11.8
48+
networks:
49+
- boot
50+
command:
51+
- -js
52+
53+
aquila:
54+
image: ghcr.io/code0-tech/reticulum/ci-builds/aquila:${CI_PIPELINE_ID}
55+
networks:
56+
- boot
57+
environment:
58+
NATS_URL: nats://nats:4222
59+
MODE: dynamic
60+
WITH_HEALTH_SERVICE: "true"
61+
GRPC_HOST: 0.0.0.0
62+
SAGITTARIUS_URL: http://sagittarius-grpc:50051
63+
ports:
64+
- "8081:8081"
65+
66+
networks:
67+
boot:

support/grpc_check_health

100644100755
File mode changed.

0 commit comments

Comments
 (0)