diff --git a/changelog.d/20250910_165903_sorlanczyk_release.md b/changelog.d/20250910_165903_sorlanczyk_release.md new file mode 100644 index 0000000000..5bf7fa7b43 --- /dev/null +++ b/changelog.d/20250910_165903_sorlanczyk_release.md @@ -0,0 +1 @@ +[Feature] Added a variable `REDIS_TRANSPORT` (defaults to `redis`) that allows to change the redis transport protocol to secure redis (i.e `rediss`). (by @so-jd) \ No newline at end of file diff --git a/docs/configuration.rst b/docs/configuration.rst index 0d4d9ac296..0daa621deb 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -266,6 +266,8 @@ Redis - ``REDIS_PORT`` (default: ``6379``) - ``REDIS_USERNAME`` (default: ``""``) - ``REDIS_PASSWORD`` (default: ``""``) +- ``REDIS_TRANSPORT`` (default: ``redis``) + Note that Redis has replaced Rabbitmq as the Celery message broker since Tutor v11.0.0. diff --git a/tutor/templates/apps/openedx/config/cms.env.yml b/tutor/templates/apps/openedx/config/cms.env.yml index 8eb7b462d8..ef8e65ca16 100644 --- a/tutor/templates/apps/openedx/config/cms.env.yml +++ b/tutor/templates/apps/openedx/config/cms.env.yml @@ -19,7 +19,7 @@ CMS_ROOT_URL: "{{ "https" if ENABLE_HTTPS else "http" }}://{{ CMS_HOST }}" CMS_BASE: "{{ CMS_HOST }}" LMS_BASE: "{{ LMS_HOST }}" CONTACT_EMAIL: "{{ CONTACT_EMAIL }}" -CELERY_BROKER_TRANSPORT: "redis" +CELERY_BROKER_TRANSPORT: "{{ REDIS_TRANSPORT }}" CELERY_BROKER_HOSTNAME: "{{ REDIS_HOST }}:{{ REDIS_PORT }}" CELERY_BROKER_VHOST: "{{ OPENEDX_CELERY_REDIS_DB }}" CELERY_BROKER_USER: "{{ REDIS_USERNAME }}" diff --git a/tutor/templates/apps/openedx/config/lms.env.yml b/tutor/templates/apps/openedx/config/lms.env.yml index bc9927f23c..0c71f0b18d 100644 --- a/tutor/templates/apps/openedx/config/lms.env.yml +++ b/tutor/templates/apps/openedx/config/lms.env.yml @@ -23,7 +23,7 @@ CMS_ROOT_URL: "{{ "https" if ENABLE_HTTPS else "http" }}://{{ CMS_HOST }}" CMS_BASE: "{{ CMS_HOST }}" LMS_BASE: "{{ LMS_HOST }}" CONTACT_EMAIL: "{{ CONTACT_EMAIL }}" -CELERY_BROKER_TRANSPORT: "redis" +CELERY_BROKER_TRANSPORT: "{{ REDIS_TRANSPORT }}" CELERY_BROKER_HOSTNAME: "{{ REDIS_HOST }}:{{ REDIS_PORT }}" CELERY_BROKER_VHOST: "{{ OPENEDX_CELERY_REDIS_DB }}" CELERY_BROKER_USER: "{{ REDIS_USERNAME }}" diff --git a/tutor/templates/apps/openedx/settings/partials/common_all.py b/tutor/templates/apps/openedx/settings/partials/common_all.py index 495861c1ab..19d8049521 100644 --- a/tutor/templates/apps/openedx/settings/partials/common_all.py +++ b/tutor/templates/apps/openedx/settings/partials/common_all.py @@ -42,6 +42,7 @@ MEILISEARCH_API_KEY = "{{ MEILISEARCH_API_KEY }}" MEILISEARCH_MASTER_KEY = "{{ MEILISEARCH_MASTER_KEY }}" SEARCH_ENGINE = "search.meilisearch.MeilisearchEngine" +REDIS_TRANSPORT = "{{ REDIS_TRANSPORT }}" # Common cache config CACHES = { @@ -49,40 +50,40 @@ "KEY_PREFIX": "default", "VERSION": "1", "BACKEND": "django_redis.cache.RedisCache", - "LOCATION": "redis://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", + "LOCATION": "{{ REDIS_TRANSPORT }}://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", }, "general": { "KEY_PREFIX": "general", "BACKEND": "django_redis.cache.RedisCache", - "LOCATION": "redis://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", + "LOCATION": "{{ REDIS_TRANSPORT }}://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", }, "mongo_metadata_inheritance": { "KEY_PREFIX": "mongo_metadata_inheritance", "TIMEOUT": 300, "BACKEND": "django_redis.cache.RedisCache", - "LOCATION": "redis://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", + "LOCATION": "{{ REDIS_TRANSPORT }}://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", }, "configuration": { "KEY_PREFIX": "configuration", "BACKEND": "django_redis.cache.RedisCache", - "LOCATION": "redis://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", + "LOCATION": "{{ REDIS_TRANSPORT }}://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", }, "celery": { "KEY_PREFIX": "celery", "TIMEOUT": 7200, "BACKEND": "django_redis.cache.RedisCache", - "LOCATION": "redis://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", + "LOCATION": "{{ REDIS_TRANSPORT }}://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", }, "course_structure_cache": { "KEY_PREFIX": "course_structure", "TIMEOUT": 604800, # 1 week "BACKEND": "django_redis.cache.RedisCache", - "LOCATION": "redis://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", + "LOCATION": "{{ REDIS_TRANSPORT }}://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", }, "ora2-storage": { "KEY_PREFIX": "ora2-storage", "BACKEND": "django_redis.cache.RedisCache", - "LOCATION": "redis://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", + "LOCATION": "{{ REDIS_TRANSPORT }}://{% if REDIS_USERNAME and REDIS_PASSWORD %}{{ REDIS_USERNAME }}:{{ REDIS_PASSWORD }}{% endif %}@{{ REDIS_HOST }}:{{ REDIS_PORT }}/{{ OPENEDX_CACHE_REDIS_DB }}", } } diff --git a/tutor/templates/config/defaults.yml b/tutor/templates/config/defaults.yml index 6ad300e717..354736354a 100644 --- a/tutor/templates/config/defaults.yml +++ b/tutor/templates/config/defaults.yml @@ -70,6 +70,7 @@ NPM_REGISTRY: "https://registry.npmjs.org/" PLATFORM_NAME: "My Open edX" PREVIEW_LMS_HOST: "preview.{{ LMS_HOST }}" REDIS_HOST: "redis" +REDIS_TRANSPORT: "redis" REDIS_PORT: 6379 REDIS_USERNAME: "" REDIS_PASSWORD: ""