From 7edad4eba9b5f58deb9ea1af53faee824a6edc38 Mon Sep 17 00:00:00 2001 From: Alexander Kinneer Date: Fri, 15 Mar 2019 10:35:03 -0500 Subject: [PATCH 1/3] Add support for configuring use of an SSL connection to Redis. Requires a build or release of django-rq containing https://github.com/rq/django-rq/pull/326/commits/44f3fdd7cbd94a4e0331befbb4a57c81e079cdbf --- netbox/extras/apps.py | 1 + netbox/netbox/configuration.example.py | 1 + netbox/netbox/settings.py | 2 ++ 3 files changed, 4 insertions(+) diff --git a/netbox/extras/apps.py b/netbox/extras/apps.py index 2d4517c26..6e6083691 100644 --- a/netbox/extras/apps.py +++ b/netbox/extras/apps.py @@ -22,6 +22,7 @@ class ExtrasConfig(AppConfig): port=settings.REDIS_PORT, db=settings.REDIS_DATABASE, password=settings.REDIS_PASSWORD or None, + ssl=settings.REDIS_SSL, ) rs.ping() except redis.exceptions.ConnectionError: diff --git a/netbox/netbox/configuration.example.py b/netbox/netbox/configuration.example.py index d7a9cf2ed..145ebf0e6 100644 --- a/netbox/netbox/configuration.example.py +++ b/netbox/netbox/configuration.example.py @@ -132,6 +132,7 @@ REDIS = { 'PASSWORD': '', 'DATABASE': 0, 'DEFAULT_TIMEOUT': 300, + 'SSL': False, } # The file path where custom reports will be stored. A trailing slash is not needed. Note that the default value of diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 6b36e2f93..389fead42 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -131,6 +131,7 @@ REDIS_PORT = REDIS.get('PORT', 6379) REDIS_PASSWORD = REDIS.get('PASSWORD', '') REDIS_DATABASE = REDIS.get('DATABASE', 0) REDIS_DEFAULT_TIMEOUT = REDIS.get('DEFAULT_TIMEOUT', 300) +REDIS_SSL = REDIS.get('SSL', False) # Email EMAIL_HOST = EMAIL.get('SERVER') @@ -291,6 +292,7 @@ RQ_QUEUES = { 'DB': REDIS_DATABASE, 'PASSWORD': REDIS_PASSWORD, 'DEFAULT_TIMEOUT': REDIS_DEFAULT_TIMEOUT, + 'SSL': REDIS_SSL, } } From f88099eb3b6632090db3214cdceacd09dc4e3249 Mon Sep 17 00:00:00 2001 From: Alexander Kinneer Date: Mon, 18 Mar 2019 11:15:40 -0500 Subject: [PATCH 2/3] Add documentation for new Redis SSL configuration parameter. --- docs/configuration/optional-settings.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/configuration/optional-settings.md b/docs/configuration/optional-settings.md index 65ac588b6..f8bd70e88 100644 --- a/docs/configuration/optional-settings.md +++ b/docs/configuration/optional-settings.md @@ -283,6 +283,7 @@ REDIS = { 'PASSWORD': '', 'DATABASE': 0, 'DEFAULT_TIMEOUT': 300, + 'SSL': False, } ``` @@ -315,3 +316,9 @@ The TCP port to use when connecting to the Redis server. Default: None The password to use when authenticating to the Redis server (optional). + +### SSL + +Default: False + +Use secure sockets layer to encrypt the connections to the Redis server. From e5447052567427b0f87ef3b1f9926dcd221a85f1 Mon Sep 17 00:00:00 2001 From: Alexander Kinneer Date: Fri, 15 Mar 2019 10:35:03 -0500 Subject: [PATCH 3/3] Add support for configuring use of an SSL connection to Redis. Requires a build or release of django-rq containing https://github.com/rq/django-rq/pull/326/commits/44f3fdd7cbd94a4e0331befbb4a57c81e079cdbf --- docs/configuration/optional-settings.md | 7 +++++++ netbox/extras/apps.py | 1 + netbox/netbox/configuration.example.py | 1 + netbox/netbox/settings.py | 2 ++ 4 files changed, 11 insertions(+) diff --git a/docs/configuration/optional-settings.md b/docs/configuration/optional-settings.md index 65ac588b6..f8bd70e88 100644 --- a/docs/configuration/optional-settings.md +++ b/docs/configuration/optional-settings.md @@ -283,6 +283,7 @@ REDIS = { 'PASSWORD': '', 'DATABASE': 0, 'DEFAULT_TIMEOUT': 300, + 'SSL': False, } ``` @@ -315,3 +316,9 @@ The TCP port to use when connecting to the Redis server. Default: None The password to use when authenticating to the Redis server (optional). + +### SSL + +Default: False + +Use secure sockets layer to encrypt the connections to the Redis server. diff --git a/netbox/extras/apps.py b/netbox/extras/apps.py index 2d4517c26..6e6083691 100644 --- a/netbox/extras/apps.py +++ b/netbox/extras/apps.py @@ -22,6 +22,7 @@ class ExtrasConfig(AppConfig): port=settings.REDIS_PORT, db=settings.REDIS_DATABASE, password=settings.REDIS_PASSWORD or None, + ssl=settings.REDIS_SSL, ) rs.ping() except redis.exceptions.ConnectionError: diff --git a/netbox/netbox/configuration.example.py b/netbox/netbox/configuration.example.py index d7a9cf2ed..145ebf0e6 100644 --- a/netbox/netbox/configuration.example.py +++ b/netbox/netbox/configuration.example.py @@ -132,6 +132,7 @@ REDIS = { 'PASSWORD': '', 'DATABASE': 0, 'DEFAULT_TIMEOUT': 300, + 'SSL': False, } # The file path where custom reports will be stored. A trailing slash is not needed. Note that the default value of diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 6b36e2f93..389fead42 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -131,6 +131,7 @@ REDIS_PORT = REDIS.get('PORT', 6379) REDIS_PASSWORD = REDIS.get('PASSWORD', '') REDIS_DATABASE = REDIS.get('DATABASE', 0) REDIS_DEFAULT_TIMEOUT = REDIS.get('DEFAULT_TIMEOUT', 300) +REDIS_SSL = REDIS.get('SSL', False) # Email EMAIL_HOST = EMAIL.get('SERVER') @@ -291,6 +292,7 @@ RQ_QUEUES = { 'DB': REDIS_DATABASE, 'PASSWORD': REDIS_PASSWORD, 'DEFAULT_TIMEOUT': REDIS_DEFAULT_TIMEOUT, + 'SSL': REDIS_SSL, } }