From 1a72bec052b3e524f991928669de8303ddf3f85e Mon Sep 17 00:00:00 2001 From: Fredrik Jonsson <frjo@xdeb.org> Date: Thu, 16 Aug 2018 10:38:32 +0200 Subject: [PATCH] Cleaning upp settings a bit and correcting Mailgun settings. --- opentech/settings/base.py | 9 +--- opentech/settings/production.py | 89 +++++++++++++++++---------------- 2 files changed, 47 insertions(+), 51 deletions(-) diff --git a/opentech/settings/base.py b/opentech/settings/base.py index 4f834ef00..25d6daab0 100644 --- a/opentech/settings/base.py +++ b/opentech/settings/base.py @@ -362,14 +362,7 @@ SLACK_DESTINATION_URL = env.get('SLACK_DESTINATION_URL', None) SLACK_DESTINATION_ROOM = env.get('SLACK_DESTINATION_ROOM', None) -# Email and Celery config -if 'MAILGUN_API_KEY' in env: - MAILGUN_API_KEY = env.get('MAILGUN_API_KEY') - EMAIL_BACKEND = 'anymail.backends.mailgun.EmailBackend' - -if 'ANYMAIL_WEBHOOK_SECRET' in env: - ANYMAIL_WEBHOOK_SECRET = env.get('ANYMAIL_WEBHOOK_SECRET') - +# Celery config if 'REDIS_URL' in env: CELERY_BROKER_URL = env.get('REDIS_URL') else: diff --git a/opentech/settings/production.py b/opentech/settings/production.py index e1b2939cb..1d536d36d 100644 --- a/opentech/settings/production.py +++ b/opentech/settings/production.py @@ -34,12 +34,6 @@ if 'SENTRY_DSN' in env: SENTRY_DSN = env['SENTRY_DSN'] -# On Torchbox servers, many environment variables are prefixed with "CFG_" -for key, value in os.environ.items(): - if key.startswith('CFG_'): - env[key[4:]] = value - - # Basic configuration APP_NAME = env.get('APP_NAME', 'opentech') @@ -59,6 +53,20 @@ if 'ALLOWED_HOSTS' in env: if 'PRIMARY_HOST' in env: BASE_URL = 'https://%s/' % env['PRIMARY_HOST'] +if 'STATIC_URL' in env: + STATIC_URL = env['STATIC_URL'] + +if 'STATIC_DIR' in env: + STATIC_ROOT = env['STATIC_DIR'] + +if 'MEDIA_URL' in env: + MEDIA_URL = env['MEDIA_URL'] + +if 'MEDIA_DIR' in env: + MEDIA_ROOT = env['MEDIA_DIR'] + +# Email config + if 'SERVER_EMAIL' in env: SERVER_EMAIL = env['SERVER_EMAIL'] DEFAULT_FROM_EMAIL = env['SERVER_EMAIL'] @@ -66,8 +74,38 @@ if 'SERVER_EMAIL' in env: if 'EMAIL_HOST' in env: EMAIL_HOST = env['EMAIL_HOST'] -if 'EMAIL_SUBJECT_PREFIX' in env: - EMAIL_SUBJECT_PREFIX = env['EMAIL_SUBJECT_PREFIX'] +if 'MAILGUN_API_KEY' in env: + EMAIL_BACKEND = 'anymail.backends.mailgun.EmailBackend' + ANYMAIL = { + "MAILGUN_API_KEY": env['MAILGUN_API_KEY'], + "MAILGUN_SENDER_DOMAIN": env.get('EMAIL_HOST', None), + "WEBHOOK_SECRET": env.get('ANYMAIL_WEBHOOK_SECRET', None) + } + +# Social Auth + +if 'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY' in env: + SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = env['SOCIAL_AUTH_GOOGLE_OAUTH2_KEY'] + +if 'SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET' in env: + SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = env['SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET'] + +# Basic auth to stop access to other than primary hosts. + +MIDDLEWARE += [ + 'baipw.middleware.BasicAuthIPWhitelistMiddleware' +] + +if 'BASIC_AUTH_LOGIN' in env: + BASIC_AUTH_LOGIN = env['BASIC_AUTH_LOGIN'] + +if 'BASIC_AUTH_PASSWORD' in env: + BASIC_AUTH_PASSWORD = env['BASIC_AUTH_PASSWORD'] + +if 'BASIC_AUTH_WHITELISTED_HTTP_HOSTS' in env: + BASIC_AUTH_WHITELISTED_HTTP_HOSTS = env['BASIC_AUTH_WHITELISTED_HTTP_HOSTS'].split(',') + +# Cloudflare cache if 'CLOUDFLARE_API_TOKEN' in env: INSTALLED_APPS += ('wagtail.contrib.frontend_cache', ) # noqa @@ -80,18 +118,6 @@ if 'CLOUDFLARE_API_TOKEN' in env: }, } -if 'STATIC_URL' in env: - STATIC_URL = env['STATIC_URL'] - -if 'STATIC_DIR' in env: - STATIC_ROOT = env['STATIC_DIR'] - -if 'MEDIA_URL' in env: - MEDIA_URL = env['MEDIA_URL'] - -if 'MEDIA_DIR' in env: - MEDIA_ROOT = env['MEDIA_DIR'] - # Database @@ -146,29 +172,6 @@ if 'LOG_DIR' in env: LOGGING['loggers']['django.request']['handlers'].append('errors_file') LOGGING['loggers']['django.security']['handlers'].append('errors_file') -# Social Auth - -if 'SOCIAL_AUTH_GOOGLE_OAUTH2_KEY' in env: - SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = env['SOCIAL_AUTH_GOOGLE_OAUTH2_KEY'] - -if 'SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET' in env: - SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = env['SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET'] - -# Basic auth to stop access to other than primary hosts. - -MIDDLEWARE += [ - 'baipw.middleware.BasicAuthIPWhitelistMiddleware' -] - -if 'BASIC_AUTH_LOGIN' in env: - BASIC_AUTH_LOGIN = env['BASIC_AUTH_LOGIN'] - -if 'BASIC_AUTH_PASSWORD' in env: - BASIC_AUTH_PASSWORD = env['BASIC_AUTH_PASSWORD'] - -if 'BASIC_AUTH_WHITELISTED_HTTP_HOSTS' in env: - BASIC_AUTH_WHITELISTED_HTTP_HOSTS = env['BASIC_AUTH_WHITELISTED_HTTP_HOSTS'].split(',') - django_heroku.settings(locals()) try: -- GitLab