Skip to content

Commit 93c2962

Browse files
committed
✨ Add RPCNamespace settings for API server, director-v2, and payments services
1 parent 287c8cf commit 93c2962

File tree

4 files changed

+32
-8
lines changed

4 files changed

+32
-8
lines changed

services/api-server/src/simcore_service_api_server/core/settings.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
from common_library.basic_types import DEFAULT_FACTORY
55
from models_library.basic_types import BootModeEnum, LogLevel
6+
from models_library.rabbitmq_basic_types import RPCNamespace
67
from pydantic import (
78
AliasChoices,
89
Field,
@@ -129,6 +130,7 @@ class ApplicationSettings(BasicSettings):
129130
DirectorV2Settings | None,
130131
Field(json_schema_extra={"auto_default_from_env": True}),
131132
]
133+
132134
API_SERVER_LOG_CHECK_TIMEOUT_SECONDS: NonNegativeInt = 3 * 60
133135
API_SERVER_PROMETHEUS_INSTRUMENTATION_ENABLED: bool = True
134136
API_SERVER_HEALTH_CHECK_TASK_PERIOD_SECONDS: PositiveInt = 30
@@ -144,6 +146,11 @@ class ApplicationSettings(BasicSettings):
144146
),
145147
]
146148

149+
API_SERVER_WEBSERVER_RPC_NAMESPACE: Annotated[
150+
RPCNamespace,
151+
Field(description="Namespace to connect to correct webserver's RPC interface"),
152+
]
153+
147154
@cached_property
148155
def debug(self) -> bool:
149156
"""If True, debug tracebacks should be returned on errors."""

services/director-v2/src/simcore_service_director_v2/core/settings.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
ClusterTypeInModel,
1616
NoAuthentication,
1717
)
18+
from models_library.rabbitmq_basic_types import RPCNamespace
1819
from pydantic import (
1920
AliasChoices,
2021
AnyUrl,
@@ -236,6 +237,11 @@ class AppSettings(BaseApplicationSettings, MixinLoggingSettings):
236237
description="settings for opentelemetry tracing",
237238
)
238239

240+
DIRECTOR_V2_WEBSERVER_RPC_NAMESPACE: Annotated[
241+
RPCNamespace,
242+
Field(description="Namespace to connect to correct webserver's RPC interface"),
243+
]
244+
239245
@field_validator("LOG_LEVEL", mode="before")
240246
@classmethod
241247
def _validate_loglevel(cls, value: str) -> str:

services/docker-compose.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ services:
1313
hostname: "{{.Node.Hostname}}-{{.Task.Slot}}"
1414
environment:
1515
API_SERVER_DEV_FEATURES_ENABLED: ${API_SERVER_DEV_FEATURES_ENABLED}
16-
API_SERVER_LOG_FORMAT_LOCAL_DEV_ENABLED: ${LOG_FORMAT_LOCAL_DEV_ENABLED}
1716
API_SERVER_LOG_FILTER_MAPPING : ${LOG_FILTER_MAPPING}
17+
API_SERVER_LOG_FORMAT_LOCAL_DEV_ENABLED: ${LOG_FORMAT_LOCAL_DEV_ENABLED}
1818
API_SERVER_LOGLEVEL: ${API_SERVER_LOGLEVEL}
1919
API_SERVER_PROFILING: ${API_SERVER_PROFILING}
20+
API_SERVER_TRACING: ${API_SERVER_TRACING}
21+
API_SERVER_WEBSERVER_RPC_NAMESPACE: ${WB_API_WEBSERVER_HOST}
2022

2123
CATALOG_HOST: ${CATALOG_HOST}
2224
CATALOG_PORT: ${CATALOG_PORT}
@@ -39,12 +41,12 @@ services:
3941
STORAGE_HOST: ${STORAGE_HOST}
4042
STORAGE_PORT: ${STORAGE_PORT}
4143

44+
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
45+
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
46+
4247
WEBSERVER_HOST: ${WB_API_WEBSERVER_HOST}
4348
WEBSERVER_PORT: ${WB_API_WEBSERVER_PORT}
4449
WEBSERVER_SESSION_SECRET_KEY: ${WEBSERVER_SESSION_SECRET_KEY}
45-
API_SERVER_TRACING: ${API_SERVER_TRACING}
46-
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
47-
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
4850

4951
deploy:
5052
labels:
@@ -389,8 +391,10 @@ services:
389391
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
390392
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
391393

394+
DIRECTOR_V2_WEBSERVER_RPC_NAMESPACE: ${WEBSERVER_HOST}
392395
WEBSERVER_HOST: ${WEBSERVER_HOST}
393396
WEBSERVER_PORT: ${WEBSERVER_PORT}
397+
394398
volumes:
395399
- "/var/run/docker.sock:/var/run/docker.sock"
396400
deploy:
@@ -466,23 +470,26 @@ services:
466470
networks:
467471
- default
468472
environment:
469-
LOG_FORMAT_LOCAL_DEV_ENABLED: ${LOG_FORMAT_LOCAL_DEV_ENABLED}
470473
LOG_FILTER_MAPPING : ${LOG_FILTER_MAPPING}
474+
LOG_FORMAT_LOCAL_DEV_ENABLED: ${LOG_FORMAT_LOCAL_DEV_ENABLED}
471475
PAYMENTS_ACCESS_TOKEN_EXPIRE_MINUTES: ${PAYMENTS_ACCESS_TOKEN_EXPIRE_MINUTES}
472476
PAYMENTS_ACCESS_TOKEN_SECRET_KEY: ${PAYMENTS_ACCESS_TOKEN_SECRET_KEY}
473477
PAYMENTS_AUTORECHARGE_DEFAULT_MONTHLY_LIMIT: ${PAYMENTS_AUTORECHARGE_DEFAULT_MONTHLY_LIMIT}
474478
PAYMENTS_AUTORECHARGE_DEFAULT_TOP_UP_AMOUNT: ${PAYMENTS_AUTORECHARGE_DEFAULT_TOP_UP_AMOUNT}
475479
PAYMENTS_AUTORECHARGE_ENABLED: ${PAYMENTS_AUTORECHARGE_ENABLED}
476480
PAYMENTS_AUTORECHARGE_MIN_BALANCE_IN_CREDITS: ${PAYMENTS_AUTORECHARGE_MIN_BALANCE_IN_CREDITS}
477481
PAYMENTS_BCC_EMAIL: ${PAYMENTS_BCC_EMAIL}
482+
PAYMENTS_EMAIL: ${PAYMENTS_EMAIL}
478483
PAYMENTS_GATEWAY_API_SECRET: ${PAYMENTS_GATEWAY_API_SECRET}
479484
PAYMENTS_GATEWAY_URL: ${PAYMENTS_GATEWAY_URL}
480485
PAYMENTS_LOGLEVEL: ${PAYMENTS_LOGLEVEL}
481486
PAYMENTS_PASSWORD: ${PAYMENTS_PASSWORD}
482-
PAYMENTS_STRIPE_URL: ${PAYMENTS_STRIPE_URL}
483487
PAYMENTS_STRIPE_API_SECRET: ${PAYMENTS_STRIPE_API_SECRET}
488+
PAYMENTS_STRIPE_URL: ${PAYMENTS_STRIPE_URL}
484489
PAYMENTS_SWAGGER_API_DOC_ENABLED: ${PAYMENTS_SWAGGER_API_DOC_ENABLED}
490+
PAYMENTS_TRACING: ${PAYMENTS_TRACING}
485491
PAYMENTS_USERNAME: ${PAYMENTS_USERNAME}
492+
PAYMENTS_WEBSERVER_RPC_NAMESPACE: ${WEBSERVER_HOST}
486493
POSTGRES_DB: ${POSTGRES_DB}
487494
POSTGRES_HOST: ${POSTGRES_HOST}
488495
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
@@ -495,13 +502,11 @@ services:
495502
RABBIT_USER: ${RABBIT_USER}
496503
RESOURCE_USAGE_TRACKER_HOST: ${RESOURCE_USAGE_TRACKER_HOST}
497504
RESOURCE_USAGE_TRACKER_PORT: ${RESOURCE_USAGE_TRACKER_EXTERNAL_PORT}
498-
PAYMENTS_EMAIL: ${PAYMENTS_EMAIL}
499505
SMTP_HOST: ${SMTP_HOST}
500506
SMTP_PASSWORD: ${SMTP_PASSWORD}
501507
SMTP_PORT: ${SMTP_PORT}
502508
SMTP_PROTOCOL: ${SMTP_PROTOCOL}
503509
SMTP_USERNAME: ${SMTP_USERNAME}
504-
PAYMENTS_TRACING: ${PAYMENTS_TRACING}
505510
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
506511
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
507512

services/payments/src/simcore_service_payments/core/settings.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from common_library.basic_types import DEFAULT_FACTORY
66
from models_library.basic_types import NonNegativeDecimal
7+
from models_library.rabbitmq_basic_types import RPCNamespace
78
from pydantic import (
89
AliasChoices,
910
EmailStr,
@@ -200,3 +201,8 @@ class ApplicationSettings(_BaseApplicationSettings):
200201
description="optional email (see notifier_email service)",
201202
),
202203
]
204+
205+
PAYMENTS_WEBSERVER_RPC_NAMESPACE: Annotated[
206+
RPCNamespace,
207+
Field(description="Namespace to connect to correct webserver's RPC interface"),
208+
]

0 commit comments

Comments
 (0)