add new config pattern for database URI and overrides
This commit is contained in:
parent
54f2a0dce0
commit
3bd1efcd03
55
atst/app.py
55
atst/app.py
@ -24,6 +24,7 @@ from atst.database import make_db
|
|||||||
|
|
||||||
ENV = os.getenv("TORNADO_ENV", "dev")
|
ENV = os.getenv("TORNADO_ENV", "dev")
|
||||||
|
|
||||||
|
|
||||||
def make_app(config, deps, **kwargs):
|
def make_app(config, deps, **kwargs):
|
||||||
|
|
||||||
routes = [
|
routes = [
|
||||||
@ -31,16 +32,15 @@ def make_app(config, deps, **kwargs):
|
|||||||
url(
|
url(
|
||||||
r"/login-redirect",
|
r"/login-redirect",
|
||||||
LoginRedirect,
|
LoginRedirect,
|
||||||
{"sessions": deps["sessions"], "authnid_client": deps["authnid_client"], "authz_client": deps["authz_client"]},
|
{
|
||||||
|
"sessions": deps["sessions"],
|
||||||
|
"authnid_client": deps["authnid_client"],
|
||||||
|
"authz_client": deps["authz_client"],
|
||||||
|
},
|
||||||
name="login_redirect",
|
name="login_redirect",
|
||||||
),
|
),
|
||||||
url(r"/home", Main, {"page": "home"}, name="home"),
|
url(r"/home", Main, {"page": "home"}, name="home"),
|
||||||
url(
|
url(r"/styleguide", Main, {"page": "styleguide"}, name="styleguide"),
|
||||||
r"/styleguide",
|
|
||||||
Main,
|
|
||||||
{"page": "styleguide"},
|
|
||||||
name="styleguide",
|
|
||||||
),
|
|
||||||
url(
|
url(
|
||||||
r"/workspaces/blank",
|
r"/workspaces/blank",
|
||||||
Main,
|
Main,
|
||||||
@ -100,7 +100,7 @@ def make_app(config, deps, **kwargs):
|
|||||||
r"/request/approval",
|
r"/request/approval",
|
||||||
Main,
|
Main,
|
||||||
{"page": "request_approval"},
|
{"page": "request_approval"},
|
||||||
name="request_approval"
|
name="request_approval",
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r"/requests/verify/(\S+)",
|
r"/requests/verify/(\S+)",
|
||||||
@ -121,7 +121,9 @@ def make_app(config, deps, **kwargs):
|
|||||||
url(r"/users", Main, {"page": "users"}, name="users"),
|
url(r"/users", Main, {"page": "users"}, name="users"),
|
||||||
url(r"/reports", Main, {"page": "reports"}, name="reports"),
|
url(r"/reports", Main, {"page": "reports"}, name="reports"),
|
||||||
url(r"/calculator", Main, {"page": "calculator"}, name="calculator"),
|
url(r"/calculator", Main, {"page": "calculator"}, name="calculator"),
|
||||||
url(r"/workspaces/(\S+)/members", WorkspaceMembers, {}, name="workspace_members"),
|
url(
|
||||||
|
r"/workspaces/(\S+)/members", WorkspaceMembers, {}, name="workspace_members"
|
||||||
|
),
|
||||||
url(r"/workspaces/(\S+)/projects", Workspace, {}, name="workspace_projects"),
|
url(r"/workspaces/(\S+)/projects", Workspace, {}, name="workspace_projects"),
|
||||||
url(r"/workspaces/123456/projects/789/edit", Main, {"page": "project_edit"}, name="project_edit"),
|
url(r"/workspaces/123456/projects/789/edit", Main, {"page": "project_edit"}, name="project_edit"),
|
||||||
url(r"/workspaces/123456/members/789/edit", Main, {"page": "member_edit"}, name="member_edit"),
|
url(r"/workspaces/123456/members/789/edit", Main, {"page": "member_edit"}, name="member_edit"),
|
||||||
@ -132,7 +134,11 @@ def make_app(config, deps, **kwargs):
|
|||||||
url(
|
url(
|
||||||
r"/login-dev",
|
r"/login-dev",
|
||||||
Dev,
|
Dev,
|
||||||
{"action": "login", "sessions": deps["sessions"], "authz_client": deps["authz_client"]},
|
{
|
||||||
|
"action": "login",
|
||||||
|
"sessions": deps["sessions"],
|
||||||
|
"authz_client": deps["authz_client"],
|
||||||
|
},
|
||||||
name="dev-login",
|
name="dev-login",
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -146,7 +152,7 @@ def make_app(config, deps, **kwargs):
|
|||||||
debug=config["default"].getboolean("DEBUG"),
|
debug=config["default"].getboolean("DEBUG"),
|
||||||
ui_modules=ui_modules,
|
ui_modules=ui_modules,
|
||||||
ui_methods=ui_methods,
|
ui_methods=ui_methods,
|
||||||
**kwargs,
|
**kwargs
|
||||||
)
|
)
|
||||||
app.config = config
|
app.config = config
|
||||||
app.sessions = deps["sessions"]
|
app.sessions = deps["sessions"]
|
||||||
@ -173,8 +179,7 @@ def make_deps(config):
|
|||||||
validate_cert=validate_cert,
|
validate_cert=validate_cert,
|
||||||
),
|
),
|
||||||
"fundz_client": ApiClient(
|
"fundz_client": ApiClient(
|
||||||
config["default"]["FUNDZ_BASE_URL"],
|
config["default"]["FUNDZ_BASE_URL"], validate_cert=validate_cert
|
||||||
validate_cert=validate_cert,
|
|
||||||
),
|
),
|
||||||
"requests_client": ApiClient(
|
"requests_client": ApiClient(
|
||||||
config["default"]["REQUESTS_QUEUE_BASE_URL"],
|
config["default"]["REQUESTS_QUEUE_BASE_URL"],
|
||||||
@ -192,8 +197,30 @@ def make_config():
|
|||||||
ENV_CONFIG_FILENAME = os.path.join(
|
ENV_CONFIG_FILENAME = os.path.join(
|
||||||
os.path.dirname(__file__), "../config/", "{}.ini".format(ENV.lower())
|
os.path.dirname(__file__), "../config/", "{}.ini".format(ENV.lower())
|
||||||
)
|
)
|
||||||
|
OVERRIDE_CONFIG_FILENAME = os.getenv("OVERRIDE_CONFIG_FULLPATH")
|
||||||
|
|
||||||
config = ConfigParser()
|
config = ConfigParser()
|
||||||
|
|
||||||
|
config_files = [BASE_CONFIG_FILENAME, ENV_CONFIG_FILENAME]
|
||||||
|
if OVERRIDE_CONFIG_FILENAME:
|
||||||
|
config_files.append(OVERRIDE_CONFIG_FILENAME)
|
||||||
|
|
||||||
# ENV_CONFIG will override values in BASE_CONFIG.
|
# ENV_CONFIG will override values in BASE_CONFIG.
|
||||||
config.read([BASE_CONFIG_FILENAME, ENV_CONFIG_FILENAME])
|
config.read(config_files)
|
||||||
|
|
||||||
|
# Assemble DATABASE_URI value
|
||||||
|
database_uri = (
|
||||||
|
"postgres://"
|
||||||
|
+ config.get("default", "DATABASE_USERNAME")
|
||||||
|
+ ":"
|
||||||
|
+ config.get("default", "DATABASE_PASSWORD")
|
||||||
|
+ "@"
|
||||||
|
+ config.get("default", "DATABASE_HOST")
|
||||||
|
+ ":"
|
||||||
|
+ config.get("default", "DATABASE_PORT")
|
||||||
|
+ "/"
|
||||||
|
+ config.get("default", "DATABASE_NAME")
|
||||||
|
)
|
||||||
|
config.set("default", "DATABASE_URI", database_uri)
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
@ -11,4 +11,8 @@ CAC_URL = https://localhost:8001
|
|||||||
REQUESTS_QUEUE_BASE_URL = http://localhost:8003
|
REQUESTS_QUEUE_BASE_URL = http://localhost:8003
|
||||||
REDIS_URI = redis://localhost:6379
|
REDIS_URI = redis://localhost:6379
|
||||||
SESSION_TTL_SECONDS = 600
|
SESSION_TTL_SECONDS = 600
|
||||||
DATABASE_URI = postgres://postgres:postgres@localhost/atat
|
DATABASE_HOST = localhost
|
||||||
|
DATABASE_PORT = 5432
|
||||||
|
DATABASE_USERNAME = postgres
|
||||||
|
DATABASE_PASSWORD = postgres
|
||||||
|
DATABASE_NAME = atat
|
||||||
|
Loading…
x
Reference in New Issue
Block a user