Skip to content

Commit 9fc3907

Browse files
authored
🎨 wb-auth: Configure tracing and network configs (#8148)
1 parent c4d6cb2 commit 9fc3907

File tree

4 files changed

+46
-37
lines changed

4 files changed

+46
-37
lines changed

.env-devel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,7 @@ WB_API_WEBSERVER_PORT=8080
277277
WB_AUTH_WEBSERVER_HOST=wb-auth
278278
WB_AUTH_WEBSERVER_PORT=8080
279279
WB_AUTH_LOGLEVEL=INFO
280+
WB_AUTH_TRACING={}
280281

281282
WB_GC_ACTIVITY=null
282283
WB_GC_ANNOUNCEMENTS=0

services/docker-compose.yml

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ x-dask-tls-secrets: &dask_tls_secrets
66
target: ${DASK_TLS_CERT}
77
# mode: 444 # not supported by docker stack compose as of 26.0.0
88

9+
x-tracing-open-telemetry: &tracing_open_telemetry_environs
10+
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
11+
TRACING_OPENTELEMETRY_COLLECTOR_BATCH_SIZE: ${TRACING_OPENTELEMETRY_COLLECTOR_BATCH_SIZE}
12+
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
13+
TRACING_OPENTELEMETRY_COLLECTOR_SAMPLING_PERCENTAGE: ${TRACING_OPENTELEMETRY_COLLECTOR_SAMPLING_PERCENTAGE}
14+
15+
916
services:
1017
api-server:
1118
image: ${DOCKER_REGISTRY:-itisfoundation}/api-server:${DOCKER_IMAGE_TAG:-latest}
@@ -43,8 +50,7 @@ services:
4350
WEBSERVER_PORT: ${WB_API_WEBSERVER_PORT}
4451
WEBSERVER_SESSION_SECRET_KEY: ${WEBSERVER_SESSION_SECRET_KEY}
4552
API_SERVER_TRACING: ${API_SERVER_TRACING}
46-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
47-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
53+
<<: *tracing_open_telemetry_environs
4854

4955
deploy:
5056
labels:
@@ -130,8 +136,7 @@ services:
130136
REGISTRY_SSL: ${REGISTRY_SSL}
131137
REGISTRY_AUTH: ${REGISTRY_AUTH}
132138
AUTOSCALING_TRACING: ${AUTOSCALING_TRACING}
133-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
134-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
139+
<<: *tracing_open_telemetry_environs
135140
volumes:
136141
- "/var/run/docker.sock:/var/run/docker.sock"
137142
deploy:
@@ -174,8 +179,7 @@ services:
174179
RABBIT_SECURE: ${RABBIT_SECURE}
175180
RABBIT_USER: ${RABBIT_USER}
176181
CATALOG_TRACING: ${CATALOG_TRACING}
177-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
178-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
182+
<<: *tracing_open_telemetry_environs
179183
networks:
180184
- default
181185

@@ -244,8 +248,7 @@ services:
244248
WORKERS_EC2_INSTANCES_SUBNET_ID: ${WORKERS_EC2_INSTANCES_SUBNET_ID}
245249
WORKERS_EC2_INSTANCES_CUSTOM_TAGS: ${WORKERS_EC2_INSTANCES_CUSTOM_TAGS}
246250
CLUSTERS_KEEPER_TRACING: ${CLUSTERS_KEEPER_TRACING}
247-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
248-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
251+
<<: *tracing_open_telemetry_environs
249252
secrets: *dask_tls_secrets
250253

251254
director:
@@ -282,10 +285,9 @@ services:
282285
STORAGE_ENDPOINT: ${STORAGE_ENDPOINT}
283286
SWARM_STACK_NAME: ${SWARM_STACK_NAME}
284287

285-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
286-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
287-
288+
<<: *tracing_open_telemetry_environs
288289
TRAEFIK_SIMCORE_ZONE: ${TRAEFIK_SIMCORE_ZONE}
290+
289291
volumes:
290292
- "/var/run/docker.sock:/var/run/docker.sock"
291293
deploy:
@@ -386,9 +388,9 @@ services:
386388
SIMCORE_SERVICES_NETWORK_NAME: ${SIMCORE_SERVICES_NETWORK_NAME}
387389
SWARM_STACK_NAME: ${SWARM_STACK_NAME}
388390
TRAEFIK_SIMCORE_ZONE: ${TRAEFIK_SIMCORE_ZONE}
391+
389392
DIRECTOR_V2_TRACING: ${DIRECTOR_V2_TRACING}
390-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
391-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
393+
<<: *tracing_open_telemetry_environs
392394

393395
# WEBSERVER_AUTH_SETTINGS
394396
WEBSERVER_HOST: ${WB_AUTH_WEBSERVER_HOST}
@@ -441,8 +443,8 @@ services:
441443
EFS_MOUNTED_PATH: ${EFS_MOUNTED_PATH}
442444
EFS_PROJECT_SPECIFIC_DATA_DIRECTORY: ${EFS_PROJECT_SPECIFIC_DATA_DIRECTORY}
443445
EFS_GUARDIAN_TRACING: ${EFS_GUARDIAN_TRACING}
444-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
445-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
446+
<<: *tracing_open_telemetry_environs
447+
446448
invitations:
447449
image: ${DOCKER_REGISTRY:-itisfoundation}/invitations:${DOCKER_IMAGE_TAG:-latest}
448450
init: true
@@ -460,8 +462,8 @@ services:
460462
LOG_FORMAT_LOCAL_DEV_ENABLED: ${LOG_FORMAT_LOCAL_DEV_ENABLED}
461463
LOG_FILTER_MAPPING: ${LOG_FILTER_MAPPING}
462464
INVITATIONS_TRACING: ${INVITATIONS_TRACING}
463-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
464-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
465+
<<: *tracing_open_telemetry_environs
466+
465467
payments:
466468
image: ${DOCKER_REGISTRY:-itisfoundation}/payments:${DOCKER_IMAGE_TAG:-latest}
467469
init: true
@@ -505,8 +507,7 @@ services:
505507
SMTP_PROTOCOL: ${SMTP_PROTOCOL}
506508
SMTP_USERNAME: ${SMTP_USERNAME}
507509
PAYMENTS_TRACING: ${PAYMENTS_TRACING}
508-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
509-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
510+
<<: *tracing_open_telemetry_environs
510511

511512
resource-usage-tracker:
512513
image: ${DOCKER_REGISTRY:-itisfoundation}/resource-usage-tracker:${DOCKER_IMAGE_TAG:-latest}
@@ -542,9 +543,8 @@ services:
542543
RESOURCE_USAGE_TRACKER_MISSED_HEARTBEAT_COUNTER_FAIL: ${RESOURCE_USAGE_TRACKER_MISSED_HEARTBEAT_COUNTER_FAIL}
543544
RESOURCE_USAGE_TRACKER_S3: ${RESOURCE_USAGE_TRACKER_S3}
544545
RESOURCE_USAGE_TRACKER_TRACING: ${RESOURCE_USAGE_TRACKER_TRACING}
545-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
546-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
547546
RESOURCE_USAGE_TRACKER_PORT: ${RESOURCE_USAGE_TRACKER_PORT}
547+
<<: *tracing_open_telemetry_environs
548548

549549
dynamic-schdlr:
550550
image: ${DOCKER_REGISTRY:-itisfoundation}/dynamic-scheduler:${DOCKER_IMAGE_TAG:-latest}
@@ -594,8 +594,8 @@ services:
594594
REDIS_SECURE: ${REDIS_SECURE}
595595
REDIS_USER: ${REDIS_USER}
596596

597-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
598-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
597+
<<: *tracing_open_telemetry_environs
598+
599599
docker-api-proxy:
600600
image: ${DOCKER_REGISTRY:-itisfoundation}/docker-api-proxy:${DOCKER_IMAGE_TAG:-latest}
601601
init: true
@@ -819,10 +819,7 @@ services:
819819
STUDIES_DEFAULT_SERVICE_THUMBNAIL: ${STUDIES_DEFAULT_SERVICE_THUMBNAIL}
820820

821821
WEBSERVER_TRACING: ${WEBSERVER_TRACING}
822-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
823-
TRACING_OPENTELEMETRY_COLLECTOR_BATCH_SIZE: ${TRACING_OPENTELEMETRY_COLLECTOR_BATCH_SIZE}
824-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
825-
TRACING_OPENTELEMETRY_COLLECTOR_SAMPLING_PERCENTAGE: ${TRACING_OPENTELEMETRY_COLLECTOR_SAMPLING_PERCENTAGE}
822+
<<: *tracing_open_telemetry_environs
826823

827824
# WEBSERVER_PROJECTS
828825
WEBSERVER_PROJECTS: ${WEBSERVER_PROJECTS}
@@ -1094,6 +1091,7 @@ services:
10941091
WEBSERVER_STUDIES_DISPATCHER: ${WB_GC_STUDIES_DISPATCHER}
10951092
WEBSERVER_TAGS: ${WB_GC_TAGS}
10961093
WEBSERVER_TRACING: ${WB_GC_TRACING}
1094+
<<: *tracing_open_telemetry_environs
10971095
WEBSERVER_USERS: ${WB_GC_USERS}
10981096
WEBSERVER_WALLETS: ${WB_GC_WALLETS}
10991097

@@ -1155,15 +1153,19 @@ services:
11551153
WEBSERVER_PUBLICATIONS: 0
11561154
WEBSERVER_RABBITMQ: "null"
11571155
WEBSERVER_REALTIME_COLLABORATION: "null"
1158-
WEBSERVER_REDIS: "null" # TODO: cache?
1156+
WEBSERVER_REDIS: "null"
11591157
WEBSERVER_RESOURCE_USAGE_TRACKER: "null"
11601158
WEBSERVER_SCICRUNCH: "null"
11611159
WEBSERVER_SOCKETIO: 0
11621160
WEBSERVER_STATICWEB: "null"
11631161
WEBSERVER_STORAGE: "null"
11641162
WEBSERVER_STUDIES_DISPATCHER: "null"
11651163
WEBSERVER_TAGS: 0
1164+
WEBSERVER_TRACING: ${WB_AUTH_TRACING}
1165+
<<: *tracing_open_telemetry_environs
11661166
WEBSERVER_USERS: "null"
1167+
networks:
1168+
- default
11671169

11681170
agent:
11691171
image: ${DOCKER_REGISTRY:-itisfoundation}/agent:${DOCKER_IMAGE_TAG:-latest}
@@ -1196,8 +1198,7 @@ services:
11961198
RABBIT_SECURE: ${RABBIT_SECURE}
11971199

11981200
AGENT_TRACING: ${AGENT_TRACING}
1199-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
1200-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
1201+
<<: *tracing_open_telemetry_environs
12011202

12021203
notifications:
12031204
image: ${DOCKER_REGISTRY:-itisfoundation}/notifications:${DOCKER_IMAGE_TAG:-latest}
@@ -1224,8 +1225,7 @@ services:
12241225
RABBIT_SECURE: ${RABBIT_SECURE}
12251226
RABBIT_USER: ${RABBIT_USER}
12261227

1227-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
1228-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
1228+
<<: *tracing_open_telemetry_environs
12291229

12301230
dask-sidecar:
12311231
image: ${DOCKER_REGISTRY:-itisfoundation}/dask-sidecar:${DOCKER_IMAGE_TAG:-latest}
@@ -1282,8 +1282,7 @@ services:
12821282
DATCORE_ADAPTER_LOG_FILTER_MAPPING: ${LOG_FILTER_MAPPING}
12831283
DATCORE_ADAPTER_LOG_FORMAT_LOCAL_DEV_ENABLED: ${LOG_FORMAT_LOCAL_DEV_ENABLED}
12841284
DATCORE_ADAPTER_TRACING: ${DATCORE_ADAPTER_TRACING}
1285-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
1286-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
1285+
<<: *tracing_open_telemetry_environs
12871286

12881287
storage:
12891288
image: ${DOCKER_REGISTRY:-itisfoundation}/storage:${DOCKER_IMAGE_TAG:-latest}
@@ -1320,8 +1319,7 @@ services:
13201319
STORAGE_PROFILING: ${STORAGE_PROFILING}
13211320
STORAGE_PORT: ${STORAGE_PORT}
13221321
STORAGE_TRACING: ${STORAGE_TRACING}
1323-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
1324-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
1322+
<<: *tracing_open_telemetry_environs
13251323
networks: &storage_networks
13261324
- default
13271325
- interactive_services_subnet

services/web/server/src/simcore_service_webserver/application.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,8 @@ def create_application() -> web.Application:
195195
def create_application_auth() -> web.Application:
196196
app = create_safe_application()
197197
setup_settings(app)
198+
setup_app_tracing(app) # WARNING: must be UPPERMOST middleware
199+
198200
setup_rest(app)
199201
setup_db(app)
200202

services/web/server/tests/unit/with_dbs/03/test_login_auth_app.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ def app_environment_for_wb_authz_service_dict(
4444
== "WEBSERVER_AUTHZ_APP_FACTORY"
4545
)
4646

47+
# expected tracing in the docker-environ BUT we will disable it for tests
48+
assert "WEBSERVER_TRACING" in docker_compose_service_environment_dict
49+
assert (
50+
"TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT"
51+
in docker_compose_service_environment_dict
52+
)
53+
4754
return {
4855
**docker_compose_service_environment_dict,
4956
# NOTE: TEST-stack uses different env-vars
@@ -55,7 +62,7 @@ def app_environment_for_wb_authz_service_dict(
5562
"POSTGRES_USER": postgres_cfg["user"],
5663
"POSTGRES_PASSWORD": postgres_cfg["password"],
5764
"HOSTNAME": docker_compose_service_hostname,
58-
# TODO: add everything coming from Dockerfile?
65+
"WEBSERVER_TRACING": "null", # BUT we will disable it for tests
5966
}
6067

6168

@@ -83,6 +90,7 @@ def app_environment_for_wb_authz_service(
8390
assert settings.WEBSERVER_DB is not None
8491
assert settings.WEBSERVER_SESSION is not None
8592
assert settings.WEBSERVER_SECURITY is not None
93+
assert settings.WEBSERVER_TRACING is None, "No tracing for tests"
8694

8795
return mocked_envs
8896

0 commit comments

Comments
 (0)