Skip to content

feat: implement maintenance page - #193

Open
Agrendalath wants to merge 1 commit into
eduNEXT:mainfrom
open-craft:agrendalath/maintenance-page
Open

Agrendalath wants to merge 1 commit into
eduNEXT:mainfrom
open-craft:agrendalath/maintenance-page

Conversation

@Agrendalath

@Agrendalath Agrendalath commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

This implements a per-instance maintenance page. Internal teams can use it to run QA while providing learners with a meaningful status page in the meantime.

  1. To enable it, set the DRYDOCK_MAINTENANCE_ENABLED variable in the Tutor config.
  2. To manage allowed IP addresses, use the DRYDOCK_MAINTENANCE_ALLOWED_IPS variable.
  3. You can also define a custom maintenance page with the DRYDOCK_MAINTENANCE_PAGE_DIR variable. See the README for details.

Authors' notes

  1. I wondered where to implement this (Harmony module that modifies the LB, external Terraform module, another Tutor plugin, Django app, etc.), but this plugin lets site operators trigger the maintenance page individually, without applying it to the whole cluster, and makes it trivial to set up.
  2. The maintenance page is intentionally limited to the LMS, CMS, and MFEs, and does not cover the IDAs (e.g., Course Discovery, Enterprise Catalog).
  3. Please note that the maintenance page is for convenience only and should never be treated as a security boundary.
  4. The default page is intentionally very simple. It exists mainly to provide the solution that's working out of the box - without requiring hundreds of lines of config.

Private-ref: BB-11200

@Agrendalath
Agrendalath requested a review from a team as a code owner September 21, 2026 15:44
@Agrendalath
Agrendalath force-pushed the agrendalath/maintenance-page branch from 412c040 to 4551058 Compare September 24, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant