Skip to content

Commit 11db497

Browse files
committed
✨ Add Redis settings to application configuration and Docker Compose
1 parent 5a7cb97 commit 11db497

File tree

4 files changed

+27
-2
lines changed

4 files changed

+27
-2
lines changed

services/catalog/src/simcore_service_catalog/cli.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from settings_library.http_client_request import ClientRequestSettings
66
from settings_library.postgres import PostgresSettings
77
from settings_library.rabbit import RabbitSettings
8+
from settings_library.redis import RedisSettings
89
from settings_library.utils_cli import (
910
create_settings_command,
1011
create_version_callback,
@@ -80,6 +81,16 @@ def echo_dotenv(ctx: typer.Context, *, minimal: bool = True) -> None:
8081
),
8182
),
8283
),
84+
CATALOG_REDIS=os.environ.get(
85+
"CATALOG_REDIS",
86+
RedisSettings.create_from_envs(
87+
REDIS_HOST=os.environ.get("REDIS_HOST", "replace-with-redis-host"),
88+
REDIS_PORT=os.environ.get("REDIS_PORT", "6379"),
89+
REDIS_PASSWORD=os.environ.get(
90+
"REDIS_PASSWORD", "replace-with-redis-password"
91+
),
92+
),
93+
),
8394
CATALOG_DIRECTOR=DirectorSettings.create_from_envs(
8495
DIRECTOR_HOST=os.environ.get("DIRECTOR_HOST", "fake-director")
8596
),

services/catalog/src/simcore_service_catalog/core/settings.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from settings_library.http_client_request import ClientRequestSettings
2323
from settings_library.postgres import PostgresSettings
2424
from settings_library.rabbit import RabbitSettings
25+
from settings_library.redis import RedisSettings
2526
from settings_library.tracing import TracingSettings
2627
from settings_library.utils_logging import MixinLoggingSettings
2728

@@ -96,6 +97,10 @@ class ApplicationSettings(BaseApplicationSettings, MixinLoggingSettings):
9697
RabbitSettings, Field(json_schema_extra={"auto_default_from_env": True})
9798
]
9899

100+
CATALOG_REDIS: Annotated[
101+
RedisSettings, Field(json_schema_extra={"auto_default_from_env": True})
102+
]
103+
99104
CATALOG_CLIENT_REQUEST: Annotated[
100105
ClientRequestSettings | None,
101106
Field(json_schema_extra={"auto_default_from_env": True}),

services/catalog/tests/unit/test_core_settings.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,6 @@ def test_valid_web_application_settings(app_environment: EnvVarsDict):
2020
assert settings
2121

2222
assert settings == ApplicationSettings.create_from_envs()
23+
24+
assert app_environment["REDIS_HOST"] == settings.CATALOG_REDIS.REDIS_HOST
25+
assert app_environment["POSTGRES_HOST"] == settings.CATALOG_POSTGRES.POSTGRES_HOST

services/docker-compose.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,18 +150,20 @@ services:
150150
init: true
151151
hostname: "cat-{{.Node.Hostname}}-{{.Task.Slot}}"
152152
environment:
153+
153154
CATALOG_BACKGROUND_TASK_REST_TIME: ${CATALOG_BACKGROUND_TASK_REST_TIME}
154155
CATALOG_DEV_FEATURES_ENABLED: ${CATALOG_DEV_FEATURES_ENABLED}
155156
CATALOG_LOGLEVEL: ${CATALOG_LOGLEVEL}
156157
CATALOG_PROFILING: ${CATALOG_PROFILING}
157158
CATALOG_SERVICES_DEFAULT_RESOURCES: ${CATALOG_SERVICES_DEFAULT_RESOURCES}
158159
CATALOG_SERVICES_DEFAULT_SPECIFICATIONS: ${CATALOG_SERVICES_DEFAULT_SPECIFICATIONS}
160+
CATALOG_TRACING: ${CATALOG_TRACING}
159161
DIRECTOR_DEFAULT_MAX_MEMORY: ${DIRECTOR_DEFAULT_MAX_MEMORY}
160162
DIRECTOR_DEFAULT_MAX_NANO_CPUS: ${DIRECTOR_DEFAULT_MAX_NANO_CPUS}
161163
DIRECTOR_HOST: ${DIRECTOR_HOST:-director}
162164
DIRECTOR_PORT: ${DIRECTOR_PORT:-8080}
163-
LOG_FORMAT_LOCAL_DEV_ENABLED: ${LOG_FORMAT_LOCAL_DEV_ENABLED}
164165
LOG_FILTER_MAPPING : ${LOG_FILTER_MAPPING}
166+
LOG_FORMAT_LOCAL_DEV_ENABLED: ${LOG_FORMAT_LOCAL_DEV_ENABLED}
165167
POSTGRES_DB: ${POSTGRES_DB}
166168
POSTGRES_HOST: ${POSTGRES_HOST}
167169
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
@@ -172,7 +174,11 @@ services:
172174
RABBIT_PORT: ${RABBIT_PORT}
173175
RABBIT_SECURE: ${RABBIT_SECURE}
174176
RABBIT_USER: ${RABBIT_USER}
175-
CATALOG_TRACING: ${CATALOG_TRACING}
177+
REDIS_HOST: ${REDIS_HOST}
178+
REDIS_PASSWORD: ${REDIS_PASSWORD}
179+
REDIS_PORT: ${REDIS_PORT}
180+
REDIS_SECURE: ${REDIS_SECURE}
181+
REDIS_USER: ${REDIS_USER}
176182
TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT: ${TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}
177183
TRACING_OPENTELEMETRY_COLLECTOR_PORT: ${TRACING_OPENTELEMETRY_COLLECTOR_PORT}
178184
networks:

0 commit comments

Comments
 (0)