@@ -40,13 +40,9 @@ services:
4040 INITIAL_ROOT_PASSWORD : ${INITIAL_ROOT_PASSWORD}
4141 INITIAL_ROOT_MAIL : ${INITIAL_ROOT_MAIL}
4242 INITIAL_RUNTIME_TOKEN : ${INITIAL_RUNTIME_TOKEN}
43+ SAGITTARIUS_CONFIG_FILES : /tmp/generated-configs/sagittarius.sagittarius.yml,/tmp/generated-configs/sagittarius.sagittarius-web.yml
4344 volumes :
4445 - generated-configs:/tmp/generated-configs:ro
45- entrypoint : |
46- sh -c "
47- cp /tmp/generated-configs/sagittarius.sagittarius.yml config/sagittarius.yml
48- exec bin/docker-entrypoint ./bin/rails server
49- "
5046 restart : unless-stopped
5147 healthcheck :
5248 test : ["CMD-SHELL", "curl --fail http://localhost:3000/health/liveness"]
@@ -63,11 +59,12 @@ services:
6359 condition : service_healthy
6460 volumes :
6561 - generated-configs:/tmp/generated-configs:ro
66- entrypoint : |
67- sh -c "
68- cp /tmp/generated-configs/sagittarius.sagittarius.yml config/sagittarius.yml
69- exec bin/docker-entrypoint bundle exec good_job
70- "
62+ environment :
63+ SAGITTARIUS_CONFIG_FILES : /tmp/generated-configs/sagittarius.sagittarius.yml,/tmp/generated-configs/sagittarius.sagittarius-background.yml
64+ command :
65+ - bundle
66+ - exec
67+ - good_job
7168 restart : unless-stopped
7269 profiles :
7370 - ide
@@ -79,11 +76,23 @@ services:
7976 condition : service_healthy
8077 volumes :
8178 - generated-configs:/tmp/generated-configs:ro
82- entrypoint : |
83- sh -c "
84- cp /tmp/generated-configs/sagittarius.sagittarius.yml config/sagittarius.yml
85- exec bin/docker-entrypoint ./bin/grpc_server
86- "
79+ environment :
80+ SAGITTARIUS_CONFIG_FILES : /tmp/generated-configs/sagittarius.sagittarius.yml,/tmp/generated-configs/sagittarius.sagittarius-grpc.yml
81+ command :
82+ - bin/grpc_server
83+ restart : unless-stopped
84+ profiles :
85+ - ide
86+
87+ sagittarius-gateway :
88+ image : ${IMAGE_REGISTRY}/sagittarius-gateway:${IMAGE_TAG}
89+ depends_on :
90+ sagittarius-grpc :
91+ condition : service_started
92+ volumes :
93+ - generated-configs:/tmp/generated-configs:ro
94+ environment :
95+ GATEWAY_CONFIG_PATH : /tmp/generated-configs/sagittarius-gateway.gateway.yml
8796 restart : unless-stopped
8897 profiles :
8998 - ide
@@ -95,23 +104,44 @@ services:
95104 condition : service_healthy
96105 volumes :
97106 - generated-configs:/tmp/generated-configs:ro
98- entrypoint : |
99- sh -c "
100- cp /tmp/generated-configs/sagittarius.sagittarius.yml config/sagittarius.yml
101- exec bin/docker-entrypoint bundle exec puma config.cable.ru
102- "
107+ environment :
108+ SAGITTARIUS_CONFIG_FILES : /tmp/generated-configs/sagittarius.sagittarius.yml,/tmp/generated-configs/sagittarius.sagittarius-cable.yml
109+ command :
110+ - bundle
111+ - exec
112+ - puma
113+ - config.cable.ru
103114 restart : unless-stopped
104115 profiles :
105116 - ide
106117
107118 sculptor :
108119 image : ${IMAGE_REGISTRY}/sculptor:${IMAGE_TAG}-${IMAGE_EDITION}
109120 restart : unless-stopped
121+ environment :
122+ OPENTELEMETRY_ENABLED : ${OPENTELEMETRY_ENABLED:-false}
123+ OTEL_SERVICE_NAME : ${OPENTELEMETRY_SERVICE_NAME_SCULPTOR}
124+ OTEL_LOGS_ENDPOINT : ${OPENTELEMETRY_LOGS_HTTP_ENDPOINT}
125+ OTEL_METRICS_ENDPOINT : ${OPENTELEMETRY_METRICS_HTTP_ENDPOINT}
126+ OTEL_TRACES_ENDPOINT : ${OPENTELEMETRY_TRACES_HTTP_ENDPOINT}
127+ NEXT_PUBLIC_OTEL_SERVICE_NAME : ${OPENTELEMETRY_SERVICE_NAME_SCULPTOR_CLIENTSIDE}
128+ NEXT_PUBLIC_OTEL_LOGS_ENDPOINT : ${OPENTELEMETRY_LOGS_CLIENTSIDE_HTTP_ENDPOINT}
129+ NEXT_PUBLIC_OTEL_METRICS_ENDPOINT : ${OPENTELEMETRY_METRICS_CLIENTSIDE_HTTP_ENDPOINT}
130+ NEXT_PUBLIC_OTEL_TRACES_ENDPOINT : ${OPENTELEMETRY_TRACES_CLIENTSIDE_HTTP_ENDPOINT}
131+ entrypoint : |
132+ sh -c "
133+ if [ \"$$OPENTELEMETRY_ENABLED\" != 'true' ]; then
134+ echo 'UNSET OTEL'
135+ unset OTEL_SERVICE_NAME OTEL_LOGS_ENDPOINT OTEL_METRICS_ENDPOINT OTEL_TRACES_ENDPOINT
136+ unset NEXT_PUBLIC_OTEL_SERVICE_NAME NEXT_PUBLIC_OTEL_LOGS_ENDPOINT NEXT_PUBLIC_OTEL_METRICS_ENDPOINT NEXT_PUBLIC_OTEL_TRACES_ENDPOINT
137+ fi
138+ exec npm run start
139+ "
110140 profiles :
111141 - ide
112142
113143 velorum :
114- image : ${IMAGE_REGISTRY}/velorum:${IMAGE_TAG}
144+ image : ${IMAGE_REGISTRY}/velorum:${IMAGE_TAG}-${IMAGE_EDITION}
115145 depends_on :
116146 config-generator :
117147 condition : service_completed_successfully
@@ -130,15 +160,15 @@ services:
130160 - ide_velorum
131161
132162 nginx :
133- image : nginx:1.31.1 -alpine-slim
163+ image : nginx:1.31.3 -alpine-otel
134164 depends_on :
135165 config-generator :
136166 condition : service_completed_successfully
137167 sagittarius-rails-web :
138168 condition : service_started
139169 sagittarius-rails-cable :
140170 condition : service_started
141- sagittarius-grpc :
171+ sagittarius-gateway :
142172 condition : service_started
143173 sculptor :
144174 condition : service_started
@@ -148,6 +178,10 @@ services:
148178 entrypoint : |
149179 sh -c "
150180 cp /tmp/generated-configs/nginx.default.conf /etc/nginx/conf.d/default.conf
181+ if [ -s /tmp/generated-configs/nginx.otel.conf ]; then
182+ sed -i '1i load_module modules/ngx_otel_module.so;' /etc/nginx/nginx.conf
183+ cp /tmp/generated-configs/nginx.otel.conf /etc/nginx/conf.d/otel.conf
184+ fi
151185 nginx -t
152186 exec nginx -g 'daemon off;'
153187 "
@@ -159,7 +193,7 @@ services:
159193 - ide
160194
161195 nats :
162- image : nats:2.14.1
196+ image : nats:2.14.4
163197 command :
164198 - -js
165199 restart : unless-stopped
@@ -174,23 +208,16 @@ services:
174208 condition : service_started
175209 image : ${IMAGE_REGISTRY}/aquila:${IMAGE_TAG}
176210 environment :
177- MODE : dynamic
178- NATS_URL : nats://nats:4222
179- NATS_BUCKET : ' flow_store'
180- GRPC_HOST : 0.0.0.0
181- SAGITTARIUS_URL : " ${AQUILA_SAGITTARIUS_URL}"
182- RUNTIME_TOKEN : " ${AQUILA_SAGITTARIUS_TOKEN}"
183- SAGITTARIUS_UNARY_RPC_TIMEOUT_SECS : " ${SAGITTARIUS_UNARY_RPC_TIMEOUT_SECS}"
211+ AQUILA_CONFIG_PATH : /tmp/generated-configs/aquila.aquila.yml
212+ AQUILA_SERVICE_CONFIG_PATH : /tmp/generated-configs/aquila.service.configuration.json
184213 volumes :
185214 - generated-configs:/tmp/generated-configs:ro
186- entrypoint : |
187- sh -c "
188- cp /tmp/generated-configs/aquila.service.configuration.json /service.configuration.json
189- exec /aquila
190- "
191215 restart : unless-stopped
192216 profiles :
193217 - runtime
218+ networks :
219+ - default
220+ - aquila
194221
195222 taurus :
196223 depends_on :
@@ -201,54 +228,43 @@ services:
201228 MODE : dynamic
202229 AQUILA_URL : ' http://aquila:8081'
203230 NATS_URL : nats://nats:4222
204- DEFINITION_PATH : ' /definitions'
205231 AQUILA_TOKEN : " ${TAURUS_AQUILA_TOKEN}"
206232 AQUILA_GRPC_CONNECT_TIMEOUT_SECS : " ${AQUILA_GRPC_CONNECT_TIMEOUT_SECS}"
207233 AQUILA_GRPC_REQUEST_TIMEOUT_SECS : " ${AQUILA_GRPC_REQUEST_TIMEOUT_SECS}"
208234 restart : unless-stopped
209235 profiles :
210236 - runtime
211237
212- draco- rest :
238+ rest-action :
213239 depends_on :
214- - nats
215- image : ${IMAGE_REGISTRY}/draco :${IMAGE_TAG}-rest
240+ - aquila
241+ image : ${ACTION_IMAGE_REGISTRY}/rest-action :${ACTION_IMAGE_TAG}
216242 environment :
217- MODE : dynamic
218- AQUILA_URL : ' http://aquila:8081'
219- NATS_URL : nats://nats:4222
220- NATS_BUCKET : ' flow_store'
221- DEFINITION_PATH : ' /definitions'
243+ HERCULES_AQUILA_URL : ' http://aquila:8081'
244+ HERCULES_AUTH_TOKEN : " ${AQUILA_ACTION_REST_TOKEN}"
222245 HTTP_SERVER_PORT : 8084
223246 HTTP_SERVER_HOST : " 0.0.0.0"
224- EXTERNAL_HTTP_SERVER_PORT : " ${DRACO_REST_PORT}"
225- EXTERNAL_HTTP_SERVER_HOST : " ${DRACO_REST_HOST}"
226- AQUILA_TOKEN : " ${DRACO_REST_AQUILA_TOKEN}"
227- AQUILA_GRPC_CONNECT_TIMEOUT_SECS : " ${AQUILA_GRPC_CONNECT_TIMEOUT_SECS}"
228- AQUILA_GRPC_REQUEST_TIMEOUT_SECS : " ${AQUILA_GRPC_REQUEST_TIMEOUT_SECS}"
229247 ports :
230- - " ${DRACO_REST_PORT }:8084"
248+ - " ${REST_ACTION_PORT }:8084"
231249 restart : unless-stopped
232250 profiles :
233251 - runtime
234252
235- draco- cron :
253+ cron-action :
236254 depends_on :
237- - nats
238- image : ${IMAGE_REGISTRY}/draco :${IMAGE_TAG}-cron
255+ - aquila
256+ image : ${ACTION_IMAGE_REGISTRY}/cron-action :${ACTION_IMAGE_TAG}
239257 environment :
240- MODE : dynamic
241- AQUILA_URL : ' http://aquila:8081'
242- NATS_URL : nats://nats:4222
243- NATS_BUCKET : ' flow_store'
244- DEFINITION_PATH : ' /definitions'
245- AQUILA_TOKEN : " ${DRACO_CRON_AQUILA_TOKEN}"
246- AQUILA_GRPC_CONNECT_TIMEOUT_SECS : " ${AQUILA_GRPC_CONNECT_TIMEOUT_SECS}"
247- AQUILA_GRPC_REQUEST_TIMEOUT_SECS : " ${AQUILA_GRPC_REQUEST_TIMEOUT_SECS}"
258+ HERCULES_AQUILA_URL : ' http://aquila:8081'
259+ HERCULES_AUTH_TOKEN : " ${AQUILA_ACTION_CRON_TOKEN}"
248260 restart : unless-stopped
249261 profiles :
250262 - runtime
251263
252264volumes :
253265 generated-configs :
254266 postgres-data :
267+
268+ networks :
269+ aquila :
270+ name : codezero-aquila
0 commit comments