From ea80f2dd95a65f9152c75a6a3ba63cb9dc9ddc1f Mon Sep 17 00:00:00 2001 From: Niklas van Schrick Date: Thu, 16 Jul 2026 22:40:30 +0200 Subject: [PATCH 1/2] Fix broken sagittarius containers --- docker-compose/docker-compose.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index dd5cfaca..d4a01e50 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -61,6 +61,10 @@ services: - generated-configs:/tmp/generated-configs:ro environment: SAGITTARIUS_CONFIG_FILES: /tmp/generated-configs/sagittarius.sagittarius.yml,/tmp/generated-configs/sagittarius.sagittarius-background.yml + command: + - bundle + - exec + - good_job restart: unless-stopped profiles: - ide @@ -74,6 +78,8 @@ services: - generated-configs:/tmp/generated-configs:ro environment: SAGITTARIUS_CONFIG_FILES: /tmp/generated-configs/sagittarius.sagittarius.yml,/tmp/generated-configs/sagittarius.sagittarius-grpc.yml + command: + - bin/grpc_server restart: unless-stopped profiles: - ide @@ -87,6 +93,11 @@ services: - generated-configs:/tmp/generated-configs:ro environment: SAGITTARIUS_CONFIG_FILES: /tmp/generated-configs/sagittarius.sagittarius.yml,/tmp/generated-configs/sagittarius.sagittarius-cable.yml + command: + - bundle + - exec + - puma + - config.cable.ru restart: unless-stopped profiles: - ide From 1661cd8907ba922ef449af72e5bc39e216dbd57a Mon Sep 17 00:00:00 2001 From: Niklas van Schrick Date: Thu, 16 Jul 2026 22:59:24 +0200 Subject: [PATCH 2/2] Configure OpenTelemetry in nginx --- .../config-generator/templates/nginx.default.conf.erb | 6 ++++++ .../config-generator/templates/nginx.otel.conf.erb | 10 ++++++++++ docker-compose/.env | 1 + docker-compose/docker-compose.yml | 6 +++++- 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 container/config-generator/templates/nginx.otel.conf.erb diff --git a/container/config-generator/templates/nginx.default.conf.erb b/container/config-generator/templates/nginx.default.conf.erb index 2bb892c2..e9e08f31 100644 --- a/container/config-generator/templates/nginx.default.conf.erb +++ b/container/config-generator/templates/nginx.default.conf.erb @@ -42,6 +42,12 @@ server { server_name <%= env!('HOSTNAME') %>; <% end %> +<% if env?('OPENTELEMETRY_ENABLED') -%> + otel_trace on; + otel_trace_context propagate; + otel_span_name "$request_method $request_uri"; +<% end -%> + location = /graphql { proxy_pass http://sagittarius_rails_web; proxy_set_header Host $host; diff --git a/container/config-generator/templates/nginx.otel.conf.erb b/container/config-generator/templates/nginx.otel.conf.erb new file mode 100644 index 00000000..6996ebdc --- /dev/null +++ b/container/config-generator/templates/nginx.otel.conf.erb @@ -0,0 +1,10 @@ +<% if env?('OPENTELEMETRY_ENABLED') -%> +otel_exporter { + endpoint <%= env!('OPENTELEMETRY_GRPC_HOST') %>; + interval 5s; + batch_size 512; + batch_count 4; +} + +otel_service_name <%= env('OPENTELEMETRY_SERVICE_NAME_NGINX', 'nginx') %>; +<% end -%> diff --git a/docker-compose/.env b/docker-compose/.env index 73ea18d5..e93bfa49 100644 --- a/docker-compose/.env +++ b/docker-compose/.env @@ -72,6 +72,7 @@ VELORUM_JWT_SECRET=088cfc7a7fc2b07696d8ee5e1ea9d642 # OpenTelemetry OPENTELEMETRY_ENABLED=false +OPENTELEMETRY_GRPC_HOST=http://localhost:4317 OPENTELEMETRY_LOGS_HTTP_ENDPOINT=http://localhost:4318/v1/logs OPENTELEMETRY_METRICS_HTTP_ENDPOINT=http://localhost:4318/v1/metrics OPENTELEMETRY_TRACES_HTTP_ENDPOINT=http://localhost:4318/v1/traces diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index d4a01e50..2a0c9ead 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -128,7 +128,7 @@ services: - ide_velorum nginx: - image: nginx:1.31.1-alpine-slim + image: nginx:1.31.1-alpine-otel depends_on: config-generator: condition: service_completed_successfully @@ -146,6 +146,10 @@ services: entrypoint: | sh -c " cp /tmp/generated-configs/nginx.default.conf /etc/nginx/conf.d/default.conf + if [ -s /tmp/generated-configs/nginx.otel.conf ]; then + sed -i '1i load_module modules/ngx_otel_module.so;' /etc/nginx/nginx.conf + cp /tmp/generated-configs/nginx.otel.conf /etc/nginx/conf.d/otel.conf + fi nginx -t exec nginx -g 'daemon off;' "