Skip to content
Snippets Groups Projects
Commit 1e7ece9c authored by Erik Reid's avatar Erik Reid
Browse files

changed environment variables for startup

moved inventory json config filename from flask settings
to its own independent env variable
parent 7e8731dc
No related branches found
No related tags found
No related merge requests found
......@@ -16,14 +16,32 @@ def create_app():
:return: a new flask app instance
"""
if "SETTINGS_FILENAME" not in os.environ:
assert False, \
"environment variable SETTINGS_FILENAME' must be defined"
required_env_vars = [
'FLASK_SETTINGS_FILENAME', 'INVENTORY_PROVIDER_CONFIG_FILENAME']
assert all([n in os.environ for n in required_env_vars]), \
'environment variables %r must be defined' % required_env_vars
assert os.path.isfile(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']), (
'config file %r not found %r' %
os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
from inventory_provider import config
with open(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) as f:
logging.info(
'loading config from: %r'
% os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
inventory_provider_config = config.load(f)
app = Flask(__name__)
app.secret_key = "super secret session key"
app.secret_key = 'super secret session key'
environment.setup_logging()
logging.info(
'initializing Flask with config from: %r' %
os.environ['FLASK_SETTINGS_FILENAME'])
app.config.from_envvar('FLASK_SETTINGS_FILENAME')
app.config['INVENTORY_PROVIDER_CONFIG'] = inventory_provider_config
from inventory_provider.routes import default
app.register_blueprint(default.routes, url_prefix='/')
......@@ -40,30 +58,13 @@ def create_app():
from inventory_provider.routes import poller
app.register_blueprint(poller.routes, url_prefix='/poller')
logging.info("initializing Flask with config from: %r"
% os.environ["SETTINGS_FILENAME"])
app.config.from_envvar("SETTINGS_FILENAME")
assert "INVENTORY_PROVIDER_CONFIG_FILENAME" in app.config, (
"INVENTORY_PROVIDER_CONFIG_FILENAME not defined in %s"
% os.environ["SETTINGS_FILENAME"])
assert os.path.isfile(app.config["INVENTORY_PROVIDER_CONFIG_FILENAME"]), (
"config file '%s' not found" %
app.config["INVENTORY_PROVIDER_CONFIG_FILENAME"])
if app.config.get('ENABLE_TESTING_ROUTES', False):
from inventory_provider.routes import testing
app.register_blueprint(testing.routes, url_prefix='/testing')
logging.warning('DANGER!!! testing routes enabled')
from inventory_provider import config
with open(app.config["INVENTORY_PROVIDER_CONFIG_FILENAME"]) as f:
# test the config file can be loaded
logging.info("loading config from: %r"
% app.config["INVENTORY_PROVIDER_CONFIG_FILENAME"])
app.config["INVENTORY_PROVIDER_CONFIG"] = config.load(f)
logging.info('Inventory Provider Flask app initialized')
environment.setup_logging()
return app
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment