From 9f66c18e71641ca4070770a801af7ec4beb04f8b Mon Sep 17 00:00:00 2001 From: Mathias Petermann Date: Tue, 22 Sep 2020 14:48:40 +0200 Subject: [PATCH 1/4] Add REDIS_HOST and REDIS_PORT to celery configuration documentation --- docs/production/index.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/production/index.rst b/docs/production/index.rst index 67e97dae..1fdd5dde 100644 --- a/docs/production/index.rst +++ b/docs/production/index.rst @@ -390,6 +390,9 @@ Here are the Celery configuration variables that should be set:: CELERY_IMPORTS = ('lemur.common.celery') CELERY_TIMEZONE = 'UTC' + REDIS_HOST="your_redis_url" + REDIS_PORT="6379" + Do not forget to import crontab module in your configuration file:: from celery.task.schedules import crontab From f97e880fa662b308d43d562c729ac6c56ba634a0 Mon Sep 17 00:00:00 2001 From: Mathias Petermann Date: Wed, 23 Sep 2020 11:06:11 +0200 Subject: [PATCH 2/4] REDIS_PORT as integer, add hint about multiple redis databases --- docs/production/index.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/production/index.rst b/docs/production/index.rst index ade54c48..55752a95 100644 --- a/docs/production/index.rst +++ b/docs/production/index.rst @@ -388,12 +388,16 @@ To enable celery support, you must also have configuration values that tell Cele Here are the Celery configuration variables that should be set:: CELERY_RESULT_BACKEND = 'redis://your_redis_url:6379' - CELERY_BROKER_URL = 'redis://your_redis_url:6379' + CELERY_BROKER_URL = 'redis://your_redis_url:6379/0' CELERY_IMPORTS = ('lemur.common.celery') CELERY_TIMEZONE = 'UTC' REDIS_HOST="your_redis_url" - REDIS_PORT="6379" + REDIS_PORT=6379 + REDIS_DB=0 + +Out of the box, every Redis instance supports 16 databases. The default database (`REDIS_DB`) is set to 0, however, you can use any of the databases from 0-15. Via `redis.conf` more databases can be supported. +In the `redis://` url, the database number needs to be added with a slash after the port. Do not forget to import crontab module in your configuration file:: From cad04885a09ff232ad49ed9ac96b2498070151bb Mon Sep 17 00:00:00 2001 From: Mathias Petermann Date: Wed, 23 Sep 2020 13:17:28 +0200 Subject: [PATCH 3/4] Add celery configuration options, to config documentation --- docs/administration.rst | 48 +++++++++++++++++++++++++++++++++++++++ docs/production/index.rst | 1 + 2 files changed, 49 insertions(+) diff --git a/docs/administration.rst b/docs/administration.rst index a3225fc2..0cec16a0 100644 --- a/docs/administration.rst +++ b/docs/administration.rst @@ -328,6 +328,54 @@ Lemur supports sending certification expiration notifications through SES and SM LEMUR_SECURITY_TEAM_EMAIL_INTERVALS = [15, 2] +Celery Options +--------------- +To make use of automated tasks within lemur (e.g. syncing source/destinations, or reissuing ACME certificates), you +need to configure celery. See :ref:`Periodic Tasks ` for more in depth documentation. + +.. data:: CELERY_RESULT_BACKEND + :noindex: + + The url to your redis backend (needs to be in the format `redis://:/`) + +.. data:: CELERY_BROKER_URL + :noindex: + + The url to your redis broker (needs to be in the format `redis://:/`) + +.. data:: CELERY_IMPORTS + :noindex: + + The module that celery needs to import, in our case thats `lemur.common.celery` + +.. data:: CELERY_TIMEZONE + :noindex: + + The timezone for celery to work with + + +.. data:: CELERYBEAT_SCHEDULE + :noindex: + + This defines the schedule, with which the celery beat makes the worker run the specified tasks. + +Since the celery module, relies on the RedisHandler, the following options also need to be set. + +.. data:: REDIS_HOST + :noindex: + + Hostname of your redis instance + +.. data:: REDIS_PORT + :noindex: + + Port on which redis is running (default: 6379) + +.. data:: REDIS_DB + :noindex: + + Which redis database to be used, by default redis offers databases 0-15 (default: 0) + Authentication Options ---------------------- Lemur currently supports Basic Authentication, LDAP Authentication, Ping OAuth2, and Google out of the box. Additional flows can be added relatively easily. diff --git a/docs/production/index.rst b/docs/production/index.rst index 55752a95..e4dd2e84 100644 --- a/docs/production/index.rst +++ b/docs/production/index.rst @@ -315,6 +315,7 @@ It will start a shell from which you can start/stop/restart the service. You can read all errors that might occur from /tmp/lemur.log. +.. _PeriodicTasks: Periodic Tasks ============== From d5557c1533dd94a11c3edfed31562949c87a414e Mon Sep 17 00:00:00 2001 From: Hossein Shafagh Date: Wed, 23 Sep 2020 09:58:28 -0700 Subject: [PATCH 4/4] Update index.rst adding insight about the default db --- docs/production/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/production/index.rst b/docs/production/index.rst index e4dd2e84..9f90c0cc 100644 --- a/docs/production/index.rst +++ b/docs/production/index.rst @@ -398,7 +398,7 @@ Here are the Celery configuration variables that should be set:: REDIS_DB=0 Out of the box, every Redis instance supports 16 databases. The default database (`REDIS_DB`) is set to 0, however, you can use any of the databases from 0-15. Via `redis.conf` more databases can be supported. -In the `redis://` url, the database number needs to be added with a slash after the port. +In the `redis://` url, the database number can be added with a slash after the port. (defaults to 0, if omitted) Do not forget to import crontab module in your configuration file::