From 69e62af98fb48451f9953f1fc00a66ad6e246543 Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand <benjamin.bertrand@esss.se> Date: Fri, 14 Sep 2018 13:24:16 +0200 Subject: [PATCH] Allow to pass sensitive variables via the environment WARNING! To pass the SECRET_KEY as en env variable, you should use base64 encoding as the key is supposed to be a random string of bytes. --- app/settings.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/settings.py b/app/settings.py index 7cb81e0..c9db033 100644 --- a/app/settings.py +++ b/app/settings.py @@ -9,16 +9,19 @@ This module implements the app default settings. :license: BSD 2-Clause, see LICENSE for more details. """ +import base64 import os import raven from pathlib import Path from datetime import timedelta -SQLALCHEMY_DATABASE_URI = "postgresql://ics:icspwd@postgres/csentry_db" +SQLALCHEMY_DATABASE_URI = os.environ.get( + "SQLALCHEMY_DATABASE_URI", "postgresql://ics:icspwd@postgres/csentry_db" +) SQLALCHEMY_TRACK_MODIFICATIONS = False BOOTSTRAP_SERVE_LOCAL = True SECRET_KEY = ( - os.environ.get("SECRET_KEY") + base64.b64decode(os.environ.get("SECRET_KEY", "")) or b"\x0d\x11{\xd3\x13$\xeeel\xa6\xfb\x1d~\xfd\xb2\x9d\x16\x00\xfb5\xd64\xd4\xe0" ) @@ -37,8 +40,8 @@ LDAP_HOST = "esss.lu.se" LDAP_BASE_DN = "DC=esss,DC=lu,DC=se" LDAP_USER_DN = "OU=ESS Users" LDAP_GROUP_DN = "" -LDAP_BIND_USER_DN = "ldapuser" -LDAP_BIND_USER_PASSWORD = "secret" +LDAP_BIND_USER_DN = os.environ.get("LDAP_BIND_USER_DN", "ldapuser") +LDAP_BIND_USER_PASSWORD = os.environ.get("LDAP_BIND_USER_PASSWORD", "secret") LDAP_USER_RDN_ATTR = "cn" LDAP_USER_LOGIN_ATTR = "sAMAccountName" LDAP_ALWAYS_SEARCH_BIND = True @@ -88,6 +91,6 @@ VIOC_MEMORY_CHOICES = [2, 4, 8] # Sentry integration CSENTRY_RELEASE = raven.fetch_git_sha(Path(__file__).parents[1]) # Leave to empty string to disable sentry integration -SENTRY_DSN = "" +SENTRY_DSN = os.environ.get("SENTRY_DSN", "") SENTRY_USER_ATTRS = ["username"] SENTRY_CONFIG = {"release": CSENTRY_RELEASE} -- GitLab