-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Greenfield prod-ready Django settings without YAML #35146
Comments
fyi @feanil |
I realized that we may also want a standard |
@feanil good pooint. I was imagining that Tutor would take care of overriding settings.py for development, but on second thought, if we want to support bare-metal dev, then we need dev_settings.py as well. One question that raises is whether dev_settings.py would use |
Yea, I'm totally okay with it using a container friendly domain by default. |
Background
Proposal
"Just" start fresh with idiomatic Python-defined Django settings files.
There would be four new settings files:
lms/settings.py
lms/test_settings.py
(derived fromlms/settings.py
)cms/settings.py
(derived fromlms/settings.py
)cms/test_settings.py
(derived fromcms/settings.py
andlms/test_settings.py
)The recommended mechanism for configuring edx-platform would be to define a Django settings module for LMS and for CMS, each based on their respective
settings.py
module, and then setDJANGO_SETTINGS_MODULE
to point to the correct custom module in each environment. This is standard Django practice.Several things would be deprecated:
lms/envs/
cms/envs/
LMS_CFG
andCMS_CFG
Backwards compatibility
Tutor would need to change significantly to adapt to this, but it could certainly be done, and possibly could be done in a way that doesn't break any patch points from the perspective of Tutor plugin devs and users.
Direct deployers of edx-platform would need to adapt. We would leave
lms/envs/
andcms/envs/
in place for 6 months to allow for migration. After they are removed, direct deployers could still use them (and YAML config) by copying the settings modules they need into their private fork and/or deployment pipeline, and setting DJANGO_SETTINGS_MODULE accordingly.The text was updated successfully, but these errors were encountered: