From 671ac7c043de85e69db2e245dd5b2679a585e2be Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Thu, 10 Oct 2024 19:15:52 +0530 Subject: [PATCH] add doc for setting redis sentinel password --- docs/my-website/docs/proxy/caching.md | 2 ++ litellm/_redis.py | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/my-website/docs/proxy/caching.md b/docs/my-website/docs/proxy/caching.md index 4d44a4da0..56acbc4db 100644 --- a/docs/my-website/docs/proxy/caching.md +++ b/docs/my-website/docs/proxy/caching.md @@ -130,6 +130,7 @@ litellm_settings: type: "redis" service_name: "mymaster" sentinel_nodes: [["localhost", 26379]] + sentinel_password: "password" # [OPTIONAL] ``` @@ -143,6 +144,7 @@ You can configure redis sentinel in your .env by setting `REDIS_SENTINEL_NODES` ```env REDIS_SENTINEL_NODES='[["localhost", 26379]]' REDIS_SERVICE_NAME = "mymaster" +REDIS_SENTINEL_PASSWORD = "password" ``` :::note diff --git a/litellm/_redis.py b/litellm/_redis.py index 1adcabcd2..4a750a314 100644 --- a/litellm/_redis.py +++ b/litellm/_redis.py @@ -18,7 +18,7 @@ import redis # type: ignore import redis.asyncio as async_redis # type: ignore import litellm -from litellm import get_secret +from litellm import get_secret, get_secret_str from ._logging import verbose_logger @@ -139,6 +139,13 @@ def _get_redis_client_logic(**env_overrides): if _sentinel_nodes is not None and isinstance(_sentinel_nodes, str): redis_kwargs["sentinel_nodes"] = json.loads(_sentinel_nodes) + _sentinel_password: Optional[str] = redis_kwargs.get( + "sentinel_password", None + ) or get_secret_str("REDIS_SENTINEL_PASSWORD") + + if _sentinel_password is not None: + redis_kwargs["sentinel_password"] = _sentinel_password + _service_name: Optional[str] = redis_kwargs.get("service_name", None) or get_secret( # type: ignore "REDIS_SERVICE_NAME" )