openedx / openedx/openedx-platform
[DEPR]: MFE runtime config API
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 4.4k
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 42
Description
RFC Start Date
2025-08-27
Target Plan Accepted Date
2025-09-10
Target Transition Unblocked Date
October 2025
Earliest Breaking Changes Unblocked Date
January 2026
Earliest Open edX Named Release with Breaking Changes
Verawood - 2026-04
Rationale
The MFE runtime configuration API was created as an option for Tutor users to expose environment variables (normally configured via .env files in the root of MFE repositories) specific to their deployment without having to rebuild the mfe Docker image. However, we have moved away from .env files and environment variables in favor of more expressive Javascript configuration (such as env.config.jsx or frontend-base's site.config.tsx) which makes frontend plugins possible. The runtime config API, much like .env files, is incapable of supporting frontend plugins and other newer uses of configuration, notably frontend-base's.
Instead of modifying it to support a subset of modern configuration, we propose it be deprecated for removal along with the conversion of MFEs to frontend-base. Frontend-base should be initially modified to support partial runtime configuration via a simpler mechanism of loading JSON from an arbitrary URL, and eventually, via runtime loading of modules, also support full runtime configuration.
Removal
Replacement
Frontend-base should be initially modified to support partial runtime configuration via a simpler mechanism of loading JSON from an arbitrary URL, and eventually, via runtime loading of modules, also support full runtime configuration.
Deprecation
No response
Additional Info
No response
Task List
No response
Task List
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting lms/djangoapps/mfe_config_api and searching the repository for its callers and configuration references. Review the frontend-base replacement direction described in the issue before determining the removal scope. Done means the deprecated API is removed consistently after its remaining uses are addressed, with no unresolved references.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, python
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100