From ba4dac051bd988d54ac9de2cad555db43e1ee230 Mon Sep 17 00:00:00 2001 From: Martyn Inglis Date: Mon, 11 Jan 2016 09:32:49 +0000 Subject: [PATCH] Integrated credstash as a live properties setting in the app.py class - initial versions kept it out of this class but updated as lots of duplication and errors as config set up in multiple places and not all picking up credstash. --- app/__init__.py | 9 ++++++++- db.py | 4 +--- wsgi.py | 18 +----------------- 3 files changed, 10 insertions(+), 21 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index 4ce430175..5ad123e1c 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -13,7 +13,7 @@ from app.its_dangerous_session import ItsdangerousSessionInterface import app.proxy_fix from config import configs from utils import logging - +from credstash import getAllSecrets db = SQLAlchemy() login_manager = LoginManager() @@ -76,6 +76,13 @@ def init_app(app): if key in os.environ: app.config[key] = convert_to_boolean(os.environ[key]) + if app.config['NOTIFY_ADMIN_ENVIRONMENT'] == 'live': + secrets = getAllSecrets(region="eu-west-1") + + for key in app.config.keys(): + if key in secrets: + app.config[key] = secrets[key] + @app.context_processor def inject_global_template_variables(): return {'asset_path': '/static/'} diff --git a/db.py b/db.py index 40ed2511c..2b5613df6 100644 --- a/db.py +++ b/db.py @@ -1,5 +1,3 @@ -from app import create_app -import os from credstash import getAllSecrets from flask.ext.script import Manager, Server from flask_migrate import Migrate, MigrateCommand @@ -7,7 +5,7 @@ from app import create_app, db secrets = getAllSecrets(region="eu-west-1") -application = create_app(os.getenv('NOTIFICATIONS_ADMIN_ENVIRONMENT') or 'live') +application = create_app('live') for key in application.config.keys(): if key in secrets: diff --git a/wsgi.py b/wsgi.py index f394112fe..febb098ce 100644 --- a/wsgi.py +++ b/wsgi.py @@ -1,22 +1,6 @@ from app import create_app -import os -from credstash import getAllSecrets -from flask.ext.script import Manager, Server -from flask_migrate import Migrate, MigrateCommand -from app import create_app, db -secrets = getAllSecrets(region="eu-west-1") - -application = create_app(os.getenv('NOTIFICATIONS_ADMIN_ENVIRONMENT') or 'live') - -for key in application.config.keys(): - if key in secrets: - application.config[key] = secrets[key] - - -manager = Manager(application) -migrate = Migrate(application, db) -manager.add_command('db', MigrateCommand) +application = create_app('live') if __name__ == "__main__": application.run()