Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 18 additions & 97 deletions .gitlab/ci/container-boot.gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@
stage: container:boot
image: ghcr.io/code0-tech/build-images/reticulum-builder:177.1-ruby-3.2.2
variables:
RETICULUM_IMAGE_BASE: ghcr.io/code0-tech/reticulum/ci-builds
SAGITTARIUS_IMAGE: $RETICULUM_IMAGE_BASE/sagittarius:${CI_PIPELINE_ID}-${SAGITTARIUS_VARIANT}
AQUILA_IMAGE: $RETICULUM_IMAGE_BASE/aquila:${CI_PIPELINE_ID}
COMPOSE_FILE: support/docker-compose.yml

.container:boot:sagittarius:
extends:
Expand All @@ -18,67 +16,31 @@
- SAGITTARIUS_VARIANT:
- ce
- ee
variables:
CURL_IMAGE: curlimages/curl:8.5.0
DOCKER_ARGS: ""
before_script:
- docker network create boot
- >
docker run
--detach
--name postgres
--network boot
--network-alias postgres
--env POSTGRES_USER=sagittarius
--env POSTGRES_PASSWORD=sagittarius
--env POSTGRES_DB=sagittarius_production
postgres:16.1
- docker pull $SAGITTARIUS_IMAGE
- docker pull $CURL_IMAGE
- >
docker run
--detach
--name sagittarius
--network boot
--network-alias sagittarius
--volume $(pwd)/container/sagittarius/sagittarius.yml:/sagittarius/config/sagittarius.yml
$DOCKER_ARGS
$SAGITTARIUS_IMAGE
$SAGITTARIUS_CMD
- docker compose up postgres -d
- docker compose up sagittarius-$SAGITTARIUS_SERVICE -d
- docker ps --all
- docker logs -f sagittarius &
- docker compose logs sagittarius-$SAGITTARIUS_SERVICE -f &

container:boot:sagittarius:rails-web:
extends:
- .container:boot:sagittarius
variables:
SAGITTARIUS_CMD: ""
SAGITTARIUS_SERVICE: rails-web
script:
- >
docker run
--rm
--network boot
$CURL_IMAGE
curl
--fail
-sv
--retry 20
--retry-delay 3
--retry-connrefused
http://sagittarius:3000/health/liveness
- docker compose run curl-sagittarius-rails-web

container:boot:sagittarius:grpc:
extends:
- .container:boot:sagittarius
variables:
SAGITTARIUS_CMD: "bin/grpc_server"
DOCKER_ARGS: "--publish 50051:50051 --env SAGITTARIUS_PREPARE_DATABASE=true"
SAGITTARIUS_SERVICE: grpc
before_script:
- bundle install
- !reference [.container:boot:sagittarius, before_script]
script:
- scripts/grpc_check_health --host docker:50051 --service liveness --retries 20
- scripts/grpc_check_health --host docker:50051 --service readiness --retries 20
- support/grpc_check_health --host docker:50051 --service liveness --retries 20
- support/grpc_check_health --host docker:50051 --service readiness --retries 20

container:boot:aquila:
extends:
Expand All @@ -90,54 +52,13 @@ container:boot:aquila:
SAGITTARIUS_VARIANT: ce
script:
- bundle install
- docker network create boot
- >
docker run
--detach
--name postgres
--network boot
--network-alias postgres
--env POSTGRES_USER=sagittarius
--env POSTGRES_PASSWORD=sagittarius
--env POSTGRES_DB=sagittarius_production
postgres:16.1
- >
docker run
--detach
--name nats
--network boot
--network-alias nats
nats:2.11.8
-js
- docker pull $SAGITTARIUS_IMAGE
- docker pull $AQUILA_IMAGE
- >
docker run
--detach
--name sagittarius
--network boot
--network-alias sagittarius
--volume $(pwd)/container/sagittarius/sagittarius.yml:/sagittarius/config/sagittarius.yml
--env SAGITTARIUS_PREPARE_DATABASE=true
--publish 50051:50051
$SAGITTARIUS_IMAGE
bin/grpc_server
- docker compose up postgres -d
- docker compose up nats -d
- docker compose up sagittarius-grpc -d
- docker ps --all
- docker logs -f sagittarius &
- scripts/grpc_check_health --host docker:50051 --service readiness --retries 20
- >
docker run
--detach
--name aquila
--network boot
--network-alias aquila
--env NATS_URL=nats://nats:4222
--env MODE=dynamic
--env WITH_HEALTH_SERVICE=true
--env GRPC_HOST=0.0.0.0
--env SAGITTARIUS_URL=http://sagittarius:50051
--publish 8081:8081
$AQUILA_IMAGE
- docker logs -f aquila &
- scripts/grpc_check_health --host docker:8081 --service liveness --retries 20
- scripts/grpc_check_health --host docker:8081 --service readiness --retries 20
- docker compose logs sagittarius-grpc -f &
- support/grpc_check_health --host docker:50051 --service readiness --retries 20
- docker compose up aquila -d
- docker compose logs aquila -f &
- support/grpc_check_health --host docker:8081 --service liveness --retries 20
- support/grpc_check_health --host docker:8081 --service readiness --retries 20
2 changes: 1 addition & 1 deletion .gitlab/ci/container-build.gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
image: ghcr.io/code0-tech/build-images/reticulum-builder:177.1-ruby-3.2.2
stage: container
script:
- source scripts/helpers.sh
- source support/helpers.sh
- docker_login
- 'image=$(echo "$CI_JOB_NAME" | cut -d : -f 2)'
- '[ -z "$NEED_PROJECT_DOWNLOAD" ] || download_project $image'
Expand Down
67 changes: 67 additions & 0 deletions support/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
services:
postgres:
image: postgres:16.1
networks:
- boot
environment:
POSTGRES_USER: sagittarius
POSTGRES_PASSWORD: sagittarius
POSTGRES_DB: sagittarius_production

sagittarius-rails-web:
image: ghcr.io/code0-tech/reticulum/ci-builds/sagittarius:${CI_PIPELINE_ID}-${SAGITTARIUS_VARIANT}
networks:
- boot
volumes:
- ../container/sagittarius/sagittarius.yml:/sagittarius/config/sagittarius.yml

curl-sagittarius-rails-web:
image: curlimages/curl:8.5.0
networks:
- boot
command:
- curl
- --fail
- -sv
- --retry
- "20"
- --retry-delay
- "3"
- --retry-connrefused
- http://sagittarius-rails-web:3000/health/liveness

sagittarius-grpc:
image: ghcr.io/code0-tech/reticulum/ci-builds/sagittarius:${CI_PIPELINE_ID}-${SAGITTARIUS_VARIANT}
networks:
- boot
volumes:
- ../container/sagittarius/sagittarius.yml:/sagittarius/config/sagittarius.yml
command:
- bin/grpc_server
environment:
SAGITTARIUS_PREPARE_DATABASE: "true"
ports:
- "50051:50051"

nats:
image: nats:2.11.8
networks:
- boot
command:
- -js

aquila:
image: ghcr.io/code0-tech/reticulum/ci-builds/aquila:${CI_PIPELINE_ID}
networks:
- boot
environment:
NATS_URL: nats://nats:4222
MODE: dynamic
WITH_HEALTH_SERVICE: "true"
GRPC_HOST: 0.0.0.0
SAGITTARIUS_URL: http://sagittarius-grpc:50051
ports:
- "8081:8081"

networks:
boot:
File renamed without changes.
File renamed without changes.
File renamed without changes.