openedx / openedx/openedx-platform

[DEPR]: MFE runtime config API

Open
#37,255 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

depr
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.