Repository navigation
feat(edxapp): provision the Contact us launcher waffle flag for mitxonline - #6696
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Flag-only ConfigMap changes do not reliably rerun the pre-deploy Job, so the intended footer flag state may not be applied across environments.
1 open issue
What changed in this PR
Adds the Contact us launcher waffle flag to mitxonline’s edxapp stack configuration, preparing for the gated footer rollout while keeping Production activation separate.
Changes:
- Configures
ol_openedx_chat.contact_us_enabledwith--create --everyonein CI and QA. - Configures Production with
--create --deactivateto explicitly request an off state.
| File | Description |
|---|---|
src/ol_infrastructure/applications/edxapp/Pulumi.mitxonline.QA.yaml |
Adds the enabled flag configuration for QA. |
src/ol_infrastructure/applications/edxapp/Pulumi.mitxonline.Production.yaml |
Adds the explicitly disabled flag configuration for Production. |
src/ol_infrastructure/applications/edxapp/Pulumi.mitxonline.CI.yaml |
Adds the enabled flag configuration for CI. |
Review effort: Balanced
This was referenced Oct 29, 2026
feoh
approved these changes
Oct 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What are the relevant tickets?
Refs mitodl/hq#14033, under mitodl/hq#13712.
Description (What does it do?)
Adds
ol_openedx_chat.contact_us_enabledtoedxapp:waffle_flagsso the flag rowexists before the launcher ships. With no row the endpoint answers
falseand theclient is fail-closed, so shipping the footer first would remove the launcher instead
of gating it.
--create --everyone--create --deactivateProduction is off on purpose.
--createalone leaves waffle'severyonecolumn null,which reads as "nobody decided" rather than "off";
--deactivatewritesFalseandleaves the row there for whoever turns it on. CI gets
--everyonefor parity with QA,but has no
contact_us_support_api_url, so nothing mounts there.Inert until mitodl/open-edx-plugins#931 merges and publishes — the endpoint that
reads this flag does not exist in
ol-openedx-chat0.6.1.How can this be tested?
pulumi previewwas not run; these stacks point at real AWS and Vault backends.All three files parse with the new entry last:
The flag name matches what the plugin reads:
tests/test_compat.pyinAdd a course waffle flag and endpoint for the Contact us launcher open-edx-plugins#931 asserts
get_contact_us_enabled_flag().name == "ol_openedx_chat.contact_us_enabled".After the openedx image deploy that follows this, on QA:
The flag's behavior was verified against a local Tutor stack in
mitodl/open-edx-plugins#931. No screenshot here — this is config only; the launcher
itself is mitodl/lehrer#363.
Additional Context
Merge this before the openedx image deploy, not after. A waffle-flags-only Pulumi
run rewrites the
waffle-flags-yamlConfigMap and stops: the ConfigMap is absent fromlms_config_hash(k8s_resources.py:883-888) so no Deployment rolls, and the pre-deployJob that reads it carries no config hash (
k8s.py:2198-2204) so Pulumi doesn't replaceit. mitodl/lehrer#363's image bump re-runs the Job, which reads whatever the ConfigMap
says at that moment. Same story for turning Production on later — that one-line PR sits
inert until something else rolls edxapp, so flip it in Django admin for immediate effect
and let the Pulumi value hold.
Order: mitodl/open-edx-plugins#931 published → this → mitodl/lehrer#363's pins and image
→ the
Footer.jsxchange through the MFE pipeline.Only visible on mitxonline QA, the one environment with
contact_us_support_api_urlset(
src/ol_concourse/pipelines/open_edx/mfe/values.py:174).