diff options
Diffstat (limited to 'python/fatcat_web')
| -rw-r--r-- | python/fatcat_web/__init__.py | 3 | ||||
| -rw-r--r-- | python/fatcat_web/web_config.py | 54 | 
2 files changed, 56 insertions, 1 deletions
diff --git a/python/fatcat_web/__init__.py b/python/fatcat_web/__init__.py index 34618076..53947143 100644 --- a/python/fatcat_web/__init__.py +++ b/python/fatcat_web/__init__.py @@ -6,9 +6,10 @@ from flask_login import LoginManager  from authlib.flask.client import OAuth  from loginpass import create_flask_blueprint, Gitlab  from raven.contrib.flask import Sentry -from web_config import Config  import fatcat_client +from fatcat_web.web_config import Config +  toolbar = DebugToolbarExtension()  app = Flask(__name__)  app.config.from_object(Config) diff --git a/python/fatcat_web/web_config.py b/python/fatcat_web/web_config.py new file mode 100644 index 00000000..5713738c --- /dev/null +++ b/python/fatcat_web/web_config.py @@ -0,0 +1,54 @@ + +""" +Default configuration for fatcat web interface (Flask application). + +In production, we currently reconfigure these values using environment +variables, not by (eg) deploying a variant copy of this file. + +This config is *only* for the web interface, *not* for any of the workers or +import scripts. +""" + +import os +import raven +import subprocess + +basedir = os.path.abspath(os.path.dirname(__file__)) + +class Config(object): +    GIT_REVISION = subprocess.check_output(["git", "describe", "--always"]).strip() + +    # This is, effectively, the QA/PROD flag +    FATCAT_DOMAIN = os.environ.get("FATCAT_DOMAIN", default="qa.fatcat.wiki") +    FATCAT_API_AUTH_TOKEN = os.environ.get("FATCAT_API_AUTH_TOKEN", default=None) +    FATCAT_API_HOST = os.environ.get("FATCAT_API_HOST", default="https://{}/v0".format(FATCAT_DOMAIN)) + +    # can set this to https://search.fatcat.wiki for some experimentation +    ELASTICSEARCH_BACKEND = os.environ.get("ELASTICSEARCH_BACKEND", default="http://localhost:9200") +    ELASTICSEARCH_INDEX = os.environ.get("ELASTICSEARCH_INDEX", default="fatcat") + +    # for flask things, like session cookies +    FLASK_SECRET_KEY = os.environ.get("FLASK_SECRET_KEY", default=None) +    SECRET_KEY = FLASK_SECRET_KEY + +    GITLAB_CLIENT_ID = os.environ.get("GITLAB_CLIENT_ID", default="bogus") +    GITLAB_CLIENT_SECRET = os.environ.get("GITLAB_CLIENT_SECRET", default="bogus") + +    try: +        GIT_RELEASE = raven.fetch_git_sha('..') +    except Exception as e: +        print("WARNING: couldn't set sentry git release automatically: " + str(e)) +        GIT_RELEASE = None + +    SENTRY_CONFIG = { +        #'include_paths': ['fatcat_web', 'fatcat_client', 'fatcat_tools'], +        'enable-threads': True, # for uWSGI +        'release': GIT_RELEASE, +        'tags': { +            'fatcat_domain': FATCAT_DOMAIN, +        }, +    } + +    # "Even more verbose" debug options +    #SQLALCHEMY_ECHO = True +    #DEBUG = True  | 
