diff options
Diffstat (limited to 'takahe/settings/production.py')
-rw-r--r-- | takahe/settings/production.py | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/takahe/settings/production.py b/takahe/settings/production.py deleted file mode 100644 index b1034ef..0000000 --- a/takahe/settings/production.py +++ /dev/null @@ -1,96 +0,0 @@ -import os -import sys -from typing import Optional - -from .base import * # noqa - -# Ensure debug features are off -DEBUG = bool(os.environ.get("TAKAHE__SECURITY_HAZARD__DEBUG", False)) - -# TODO: Allow better setting of allowed_hosts, if we need to -ALLOWED_HOSTS = ["*"] - -CONN_MAX_AGE = 60 - -### User-configurable options, pulled from the environment ### - -# Secret key -try: - SECRET_KEY = os.environ["TAKAHE_SECRET_KEY"] -except KeyError: - print("You must specify the TAKAHE_SECRET_KEY environment variable!") - sys.exit(1) - -# SSL proxy header -if "TAKAHE_SECURE_HEADER" in os.environ: - SECURE_PROXY_SSL_HEADER = ( - "HTTP_" + os.environ["TAKAHE_SECURE_HEADER"].replace("-", "_").upper(), - "https", - ) - -# Fallback domain for links -MAIN_DOMAIN = os.environ["TAKAHE_MAIN_DOMAIN"] -if "/" in MAIN_DOMAIN: - print("TAKAHE_MAIN_DOMAIN should be just the domain name - no https:// or path") - sys.exit(1) - -# Email config -if os.environ.get("TAKAHE_EMAIL_CONSOLE_ONLY"): - EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" - SERVER_EMAIL = "test@example.com" -else: - SERVER_EMAIL = os.environ["TAKAHE_EMAIL_FROM"] - if "TAKAHE_EMAIL_SENDGRID_KEY" in os.environ: - EMAIL_HOST = "smtp.sendgrid.net" - EMAIL_PORT = 587 - EMAIL_HOST_USER: Optional[str] = "apikey" - EMAIL_HOST_PASSWORD: Optional[str] = os.environ["TAKAHE_EMAIL_SENDGRID_KEY"] - EMAIL_USE_TLS = True - else: - EMAIL_HOST = os.environ["TAKAHE_EMAIL_HOST"] - EMAIL_PORT = int(os.environ["TAKAHE_EMAIL_PORT"]) - EMAIL_HOST_USER = os.environ.get("TAKAHE_EMAIL_USER") - EMAIL_HOST_PASSWORD = os.environ.get("TAKAHE_EMAIL_PASSWORD") - EMAIL_USE_SSL = EMAIL_PORT == 465 - EMAIL_USE_TLS = EMAIL_PORT == 587 - -AUTO_ADMIN_EMAIL = os.environ.get("TAKAHE_AUTO_ADMIN_EMAIL") - -# Media storage -MEDIA_BACKEND = os.environ.get("TAKAHE_MEDIA_BACKEND", None) -if MEDIA_BACKEND == "local": - # Note that this MUST be a fully qualified URL in production - MEDIA_URL = os.environ.get("TAKAHE_MEDIA_URL", "/media/") - MEDIA_ROOT = os.environ.get("TAKAHE_MEDIA_ROOT", BASE_DIR / "media") -elif MEDIA_BACKEND == "gcs": - DEFAULT_FILE_STORAGE = "storages.backends.gcloud.GoogleCloudStorage" - GS_BUCKET_NAME = os.environ["TAKAHE_MEDIA_BUCKET"] - GS_QUERYSTRING_AUTH = False -elif MEDIA_BACKEND == "s3": - DEFAULT_FILE_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" - AWS_STORAGE_BUCKET_NAME = os.environ["TAKAHE_MEDIA_BUCKET"] -else: - print("Unknown TAKAHE_MEDIA_BACKEND value") - sys.exit(1) - -# Stator secret token -STATOR_TOKEN = os.environ.get("TAKAHE_STATOR_TOKEN") - -# Error email recipients -if "TAKAHE_ERROR_EMAILS" in os.environ: - ADMINS = [("Admin", e) for e in os.environ["TAKAHE_ERROR_EMAILS"].split(",")] - -# Sentry integration -if "SENTRY_DSN" in os.environ: - import sentry_sdk - from sentry_sdk.integrations.django import DjangoIntegration - - sentry_sdk.init( - dsn=os.environ["SENTRY_DSN"], - integrations=[ - DjangoIntegration(), - ], - traces_sample_rate=1.0, - send_default_pii=True, - ) - SENTRY_ENABLED = True |