aboutsummaryrefslogtreecommitdiffstats
path: root/python/fatcat_web
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2019-01-04 13:00:38 -0800
committerBryan Newbold <bnewbold@robocracy.org>2019-01-04 13:00:38 -0800
commitbb6840ab32d39240442f32c89ac3c4d0722d8372 (patch)
treea6b6b347a71255f2e5ec320dce7faa37555b1f6d /python/fatcat_web
parent00c0859a7df360380a479eb9dbc79057c0245969 (diff)
downloadfatcat-bb6840ab32d39240442f32c89ac3c4d0722d8372.tar.gz
fatcat-bb6840ab32d39240442f32c89ac3c4d0722d8372.zip
use .env for all config (and document it)
Diffstat (limited to 'python/fatcat_web')
-rw-r--r--python/fatcat_web/__init__.py3
-rw-r--r--python/fatcat_web/web_config.py54
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