From 140c34e59ee616c429d501c724bdcb0137ca2e2e Mon Sep 17 00:00:00 2001 From: rkuo-danswer Date: Thu, 12 Sep 2024 21:48:50 -0700 Subject: [PATCH] ephemeral behavior for redis (#2373) * ephemeral behavior for redis * notes for redis command line consistency --- deployment/docker_compose/docker-compose.dev.yml | 7 +++---- deployment/docker_compose/docker-compose.gpu-dev.yml | 7 +++---- .../docker-compose.prod-no-letsencrypt.yml | 7 +++---- deployment/docker_compose/docker-compose.prod.yml | 7 +++---- .../docker_compose/docker-compose.search-testing.yml | 7 +++---- deployment/kubernetes/redis-service-deployment.yaml | 9 ++++++++- 6 files changed, 23 insertions(+), 21 deletions(-) diff --git a/deployment/docker_compose/docker-compose.dev.yml b/deployment/docker_compose/docker-compose.dev.yml index f5604ea2df36..66ece7ed01e7 100644 --- a/deployment/docker_compose/docker-compose.dev.yml +++ b/deployment/docker_compose/docker-compose.dev.yml @@ -346,12 +346,11 @@ services: restart: always ports: - '6379:6379' - command: redis-server - volumes: - - cache_volume:/data + # docker silently mounts /data even without an explicit volume mount, which enables + # persistence. explicitly setting save and appendonly forces ephemeral behavior. + command: redis-server --save "" --appendonly no volumes: - cache_volume: db_volume: vespa_volume: # Created by the container itself diff --git a/deployment/docker_compose/docker-compose.gpu-dev.yml b/deployment/docker_compose/docker-compose.gpu-dev.yml index 570e0a6ed7bd..8937bb903410 100644 --- a/deployment/docker_compose/docker-compose.gpu-dev.yml +++ b/deployment/docker_compose/docker-compose.gpu-dev.yml @@ -358,13 +358,12 @@ services: restart: always ports: - '6379:6379' - command: redis-server - volumes: - - cache_volume:/data + # docker silently mounts /data even without an explicit volume mount, which enables + # persistence. explicitly setting save and appendonly forces ephemeral behavior. + command: redis-server --save "" --appendonly no volumes: - cache_volume: db_volume: vespa_volume: # Created by the container itself diff --git a/deployment/docker_compose/docker-compose.prod-no-letsencrypt.yml b/deployment/docker_compose/docker-compose.prod-no-letsencrypt.yml index 829dac6d53c1..7a56346f0747 100644 --- a/deployment/docker_compose/docker-compose.prod-no-letsencrypt.yml +++ b/deployment/docker_compose/docker-compose.prod-no-letsencrypt.yml @@ -213,13 +213,12 @@ services: restart: always ports: - '6379:6379' - command: redis-server - volumes: - - cache_volume:/data + # docker silently mounts /data even without an explicit volume mount, which enables + # persistence. explicitly setting save and appendonly forces ephemeral behavior. + command: redis-server --save "" --appendonly no volumes: - cache_volume: db_volume: vespa_volume: # Created by the container itself diff --git a/deployment/docker_compose/docker-compose.prod.yml b/deployment/docker_compose/docker-compose.prod.yml index afef6723941a..983881fff7f2 100644 --- a/deployment/docker_compose/docker-compose.prod.yml +++ b/deployment/docker_compose/docker-compose.prod.yml @@ -230,13 +230,12 @@ services: restart: always ports: - '6379:6379' - command: redis-server - volumes: - - cache_volume:/data + # docker silently mounts /data even without an explicit volume mount, which enables + # persistence. explicitly setting save and appendonly forces ephemeral behavior. + command: redis-server --save "" --appendonly no volumes: - cache_volume: db_volume: vespa_volume: # Created by the container itself diff --git a/deployment/docker_compose/docker-compose.search-testing.yml b/deployment/docker_compose/docker-compose.search-testing.yml index e9c2aee66676..a64b30f09d70 100644 --- a/deployment/docker_compose/docker-compose.search-testing.yml +++ b/deployment/docker_compose/docker-compose.search-testing.yml @@ -209,13 +209,12 @@ services: restart: always ports: - '6379:6379' - command: redis-server - volumes: - - cache_volume:/data + # docker silently mounts /data even without an explicit volume mount, which enables + # persistence. explicitly setting save and appendonly forces ephemeral behavior. + command: redis-server --save "" --appendonly no volumes: - cache_volume: db_volume: driver: local driver_opts: diff --git a/deployment/kubernetes/redis-service-deployment.yaml b/deployment/kubernetes/redis-service-deployment.yaml index ab5113e5f496..2744c27157b7 100644 --- a/deployment/kubernetes/redis-service-deployment.yaml +++ b/deployment/kubernetes/redis-service-deployment.yaml @@ -38,4 +38,11 @@ spec: name: danswer-secrets key: redis_password command: ["redis-server"] - args: ["--requirepass", "$(REDIS_PASSWORD)"] + args: + # save and appendonly are not strictly necessary because kubernetes doesn't mount + # /data silently like docker, but add the save and appendonly for consistency + [ + "--requirepass", "$(REDIS_PASSWORD)", + "--save", "", + "--appendonly", "no" + ]