Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
celery-redbeat==2.3.3 # Support for using Redis as the lock for Celery schedules
granian==2.6.0
django-redis==6.0.0
ol-openedx-git-auto-export==0.6.0
ol-openedx-git-auto-export==0.7.0
edx-sysadmin==0.4.0
edx-username-changer==0.5.0
openedx-companion-auth==1.2.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
# -*- mode: yaml -*-
# ALTERNATE_WORKER_QUEUES: lms # Already has a sane default in the code


COURSE_AUTHORING_MICROFRONTEND_URL: /authoring
DISCUSSIONS_INCONTEXT_LEARNMORE_URL: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3470655498/Discussions+upgrade+Sidebar+and+new+topic+structure

GITHUB_ORG_API_URL: {{ key "edxapp/github-auto-export-org-api-url" }}
GIT_REPO_EXPORT_DIR: /openedx/data/export_course_repos
GIT_EXPORT_DEFAULT_IDENT:
name: MITx Online
Expand All @@ -10,10 +14,13 @@ GIT_EXPORT_DEFAULT_IDENT:
PARSE_KEYS: {}
REDBEAT_KEY_PREFIX: redbeat_cms # ADDED - RedBeat key prefix to separate LMS and CMS schedules
SITE_NAME: {{ key "edxapp/studio-domain" }} # MODIFIED

{{ with secret "secret-mitxonline/edxapp" }}
GITHUB_ACCESS_TOKEN: {{ .Data.github_access_token }}
SOCIAL_AUTH_EDX_OAUTH2_KEY: {{ .Data.studio_oauth_client.id }}
SOCIAL_AUTH_EDX_OAUTH2_SECRET: {{ .Data.studio_oauth_client.secret }}
{{ end }}

SOCIAL_AUTH_EDX_OAUTH2_URL_ROOT: https://{{ key "edxapp/lms-domain" }} # possibly same as public LMS root URL
SOCIAL_AUTH_EDX_OAUTH2_PUBLIC_URL_ROOT: https://{{ key "edxapp/lms-domain" }}
SESSION_COOKIE_NAME: {{ env "ENVIRONMENT" }}-edx-studio-sessionid # MODIFIED
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ FEATURES:
ENABLE_ENROLLMENT_RESET: false
ENABLE_EXAM_SETTINGS_HTML_VIEW: true # ADDED KEY
ENABLE_EXPORT_GIT: true # MODIFIED
ENABLE_AUTO_GITHUB_REPO_CREATION: true
ENABLE_FORUM_DAILY_DIGEST: true
ENABLE_GIT_AUTO_EXPORT: true # ADDED KEY
ENABLE_GRADE_DOWNLOADS: true
Expand Down
9 changes: 7 additions & 2 deletions src/bridge/secrets/edxapp/mitxonline.ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,24 @@ studio_oauth_client:
user_retirement_salts:
- ENC[AES256_GCM,data:hQcHuunoj2NaLjFbKcITgziJHzRpgf9b43T5D44uudZk08d957ZkiFLI7g==,iv:/lsiiZYXvJN+HTO9cDm1UTXmpRet2nM2E2OXG/xScMc=,tag:CRIoAnBGf4skrqm5PBKlYA==,type:str]
sysadmin_git_webhook_secret: ENC[AES256_GCM,data:3faJ7pjORmlsGSqn4oYmzN/TznQSzduotNmYgHlQLwJpYY6Z21Zx6OQvsw==,iv:vYrfFB2dG1jK1UaJDn8BF+tST3IFCoyn6houoF5v/6Q=,tag:I1jEniI6SEvexcmtIlF44Q==,type:str]
github_access_token: ENC[AES256_GCM,data:LqL2Z8VdkYE/tVee2xknh1q4zsKXHF/Hk0szhWgVLJQtkGOGJfVZ5w==,iv:90Xn7bCFDuWA+oS3xyqU5fwcbGpz8wkauNXnhc8JClY=,tag:jdaj74j77j7/64pUqIhUxg==,type:str]
sops:
kms:
- arn: arn:aws:kms:us-east-1:610119931565:alias/infrastructure-secrets-ci
created_at: "2025-08-28T20:35:02Z"
enc: AQICAHi3MZ/Pjy2dahB1Qm+zKkKDPV1b9MYPGp7k649HPjmOHAHlqCRlxIfgpLm8bF77GeFQAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM+8/juNZp/oUFKTgaAgEQgDuDSA4KTjEQVCLPa8Txo55rBIDSCzCvas0Kca8QUvtVGQ6IlPtKGiftrQ5UD/VxX56lOqJd04shL814HA==
aws_profile: ""
gcp_kms: []
azure_kv: []
hc_vault:
- vault_address: https://vault-ci.odl.mit.edu
engine_path: infrastructure
key_name: sops
created_at: "2025-08-28T20:35:02Z"
enc: vault:v1:hLtAum4sTZQgTXdhB78kGsXPj2m02TYFy2pu8dVo/akd0tPpmEzN8/ax0iypvf7anxbrMTCXAMNEm2Uv
lastmodified: "2025-08-28T20:35:02Z"
mac: ENC[AES256_GCM,data:jEkqi+ujvIcQOsmXmPURBqWtWhp5KAFbErPWXikLGiyJ2vrfEVFpCYFU9NwIJ4iXB40//u8gK/3TKV7MbWs9GS0FZ8D2dG45LozMQnkGSDJ4HvM4lt1lO3djhXOPDJWu5/LCzu6NjbW+EPQh3ESzkqVILJLCweKLltHus9Hbhbs=,iv:2UILOyoBPduoPFPKjeEKXuUlmioBRKc5f8iFzskCAxk=,tag:ysKjIN+CLRTals2Fq+PXsg==,type:str]
age: []
lastmodified: "2025-11-13T15:26:01Z"
mac: ENC[AES256_GCM,data:Fhbnp/V/sKBIWDrOp5wNJW8r0JYfqLW7L0hy0hfHnWr/voxpZYec9caaS8RU9uFMPII7496+SCFSB5cc9IA6A0/JIEtIoAqTWFSQNT1rwewXwK5RdFaSreZvJxWFaHhIYqp36bmsyJdF3+//6cFjH/4P8Ea1nkZwanWQo7q3zJ4=,iv:SlFYFtpTnNXR1jsJT9kKeFst7fxUFaMy1JMA0/MbtWo=,tag:bbqerzwlRVMWQNTjmuoO6w==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.10.2
9 changes: 7 additions & 2 deletions src/bridge/secrets/edxapp/mitxonline.production.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,24 @@ studio_oauth_client:
user_retirement_salts:
- ENC[AES256_GCM,data:5ls/ESoE0X+ZL3L6w0ujhXMN/8GziE83Xws9x5ColWbA4MtyYwJOLFdpjw==,iv:xFrLPgEM/0/I/6lcypBh01uK3qsaHMJexxgfnPdYZlA=,tag:5CyOpBkGdD7BcEqBIROJeg==,type:str]
sysadmin_git_webhook_secret: ENC[AES256_GCM,data:Fuyd/DtfUKciAxnnnblaOFShf2QtLdR52GAV+NJPKTvXA0+Hp7AbtYPG4Q==,iv:TCF/wa3oL8CDUjIJCKlxUDlUjZBCIq9zHKoZN7Clf/Q=,tag:tMp3H/Z0Vm1Nv2CkruMjBQ==,type:str]
github_access_token: ENC[AES256_GCM,data:IpSYM2aLXm07wLV2n9HOPBT9U7PQeibq5whCtYmSdwP4a4LzKKQc9A==,iv:oq2hYxHs+WBAOD6zDqojtxFDQT/RV3iRnIb6TugbjVY=,tag:Mo99NgZZ3v9UzW0CpNHZkQ==,type:str]
sops:
kms:
- arn: arn:aws:kms:us-east-1:610119931565:alias/infrastructure-secrets-production
created_at: "2025-08-28T20:36:45Z"
enc: AQICAHi3FG4qowC3UzOLWOAA4Y9/RTwqKjovG3wyVVYDxkR+zAESwreODlY1Cryss8WrDyzIAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM54M+6yqf1cGrG8IZAgEQgDutGvIcCiKFmSfgfHds+ul53Z/f6ZCI75bM0txOvD36tG4uyK7aaQMwNX4cb20vRGl3qom06po1FFShWA==
aws_profile: ""
gcp_kms: []
azure_kv: []
hc_vault:
- vault_address: https://vault-production.odl.mit.edu
engine_path: infrastructure
key_name: sops
created_at: "2025-08-28T20:36:45Z"
enc: vault:v1:wySAGYErO7ejAr61t8fYz2kui0WTaV8k5RixzlexIp4qrcwA4Z2Dn0lbLGxS9/ot8LuX+cOZJdw1K3dH
lastmodified: "2025-08-28T20:36:45Z"
mac: ENC[AES256_GCM,data:Dk3/SEd22b7TEX8B9u8x+84B5KPf68JTMuBMDGq41rNrWSKYB9D1f3FAybk3OUTy+l5LobU7x6mUZnX93I6wYDwIwjyAtA4v94qTOPmAwGFZb9YtWoviRdmYun5nUxDmQgz9haImppdmNptXthjncf3h18H+eAtkXuMB4OsHZDw=,iv:O1vJeWrpgtqQFxsHUZ/WlTUlh4KCOs0YZkZonwK+fWo=,tag:6DyXt0Ge+fudn+vs6aQ1IQ==,type:str]
age: []
lastmodified: "2025-11-13T15:26:18Z"
mac: ENC[AES256_GCM,data:M0jxh56tHmK3cfDEsTnbCiL9LPOKpk+TZsucd9p2N0w1FlyzRc/XDjYjxtSCbpkX4gMRBGs63HjRC+d5PfYavgMhSpI4uI2QeiYEKwCVlekTTRJHyNNegTsTTFZiko3XC1DZ689LCWIMocpgiwJHWrcIc9nsPJugRyweFzVeR+4=,iv:Oon53GjlNs+QWoy5ParDMOlYZxqBBFEtencekKO/0y4=,tag:aWMpWXGnK8PhC7iO6UyuAA==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.10.2
9 changes: 7 additions & 2 deletions src/bridge/secrets/edxapp/mitxonline.qa.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,24 @@ studio_oauth_client:
user_retirement_salts:
- ENC[AES256_GCM,data:h44hRp6zDRSlsmM4F0vstHQiBDHZPNPr2kkX8Wc1q4hK9W2bnF1o0194Mw==,iv:aDgMhQYIUDECB+WUXA3VQgCfoggtaf53yN+POC6SHds=,tag:+1aZJmUSJCAX+LeNjgzang==,type:str]
sysadmin_git_webhook_secret: ENC[AES256_GCM,data:PhMN34W7Qo2gOqn6dv+/Ub9js0qkU2md3Xc8nNHMw20av2oASZ9q9pMVT9I=,iv:XNHKK6GBBQAPS9Dvs4IpGKQnITAZsYV6YurI6Gm8bLU=,tag:eT/rGRE5MGfcA8C9QxvG6Q==,type:str]
github_access_token: ENC[AES256_GCM,data:/SSl2vkAokfhMpFOaDqHj0G8foRZnSihRUVZtKxo0PMYVADYRk9ESA==,iv:Y2VeVVH46SzF2N116NzkAZXP7AJMvMLeq7X8R5vAQtY=,tag:fIeTD2q+SCMnCjvS1HcWCA==,type:str]
sops:
kms:
- arn: arn:aws:kms:us-east-1:610119931565:alias/infrastructure-secrets-qa
created_at: "2025-08-28T20:37:22Z"
enc: AQICAHjZAY5LtmRWGljev0oiDGn0jR5cRwD4IVXCn50TW5i0qQECb3uGmATbrEE+B6xsVQT+AAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMft5GBa2P5vK52JQsAgEQgDvS/SL4r/yZtgkDuhb90XnqDrfgpAP1+5FnqhTiVLv9fZ9ifhtSMw5GdHQgv1iyiMyBnofkQejlJQkJ6Q==
aws_profile: ""
gcp_kms: []
azure_kv: []
hc_vault:
- vault_address: https://vault-qa.odl.mit.edu
engine_path: infrastructure
key_name: sops
created_at: "2025-08-28T20:37:22Z"
enc: vault:v1:myA322x4V71XWIYseRNjdHuJMe9sPAKQ3rQrPF95bzQ34WselInLQ4nVNGeBy7HY+4wVTg2vUBnAce4Z
lastmodified: "2025-08-28T20:37:22Z"
mac: ENC[AES256_GCM,data:CKPVduldwZ1rJBm+gPl+W+xYC4KJQymRWER/4w03pBNgiCN/YRfO/D8D59M+IbtPvDZnz34c7yH/l62OyLBmH291b2tMkzH94/xdhiIXdsbykK5Vm03WoOQVoiz+VAVhRJRX6lB8jJU0uGgLL4v+3fFeGdrTLpbm8KPKNFwLjWE=,iv:2U8ZHXuwfASbk1ffvhO0JKBIgtV4s9E+nYeWZxS8GEM=,tag:FQHtwo7znyIoKDW/podV1g==,type:str]
age: []
lastmodified: "2025-11-13T15:26:57Z"
mac: ENC[AES256_GCM,data:KsO32PCfOixHolEQ6NvCcWU4kLmiltB402pmr3lvg+rGjzSDWI6IgFfEhfWRgBO4kCVezQbOyWlS77pHYUokv0tfmGAjB+VpUYgX5lLwosgga3lamDWDdTXEU+ILxSVOHAjOfeQqg55CxNuE1MzIfuUleMDIsbQ2VSw476fOgXI=,iv:5A0bKSSsk8eHCBp2TDgHC3tUKwsiBtGwaLgohRCwQhQ=,tag:aVRv+GXIWEJdnO82Eduwbg==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.10.2
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ config:
gradebook: gradebook
learning: learn
ora_grading: ora-grading
edxapp:github_org_api_url: https://github.mit.edu/api/v3/orgs/mitxonline-rc
edxapp:google_analytics_id: ""
edxapp:elb_healthcheck_interval: '30'
edxapp:mail_domain: edxapp-mail.ci.learn.mit.edu
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ config:
gradebook: gradebook
learning: learn
ora_grading: ora-grading
edxapp:github_org_api_url: https://github.mit.edu/api/v3/orgs/mitxonline
edxapp:google_analytics_id: UA-5145472-48
edxapp:mail_domain: edxapp-mail.learn.mit.edu
edxapp:proctortrack_url: https://testing.verificient.com
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ config:
gradebook: gradebook
learning: learn
ora_grading: ora-grading
edxapp:github_org_api_url: https://github.mit.edu/api/v3/orgs/mitxonline-rc
edxapp:google_analytics_id: UA-5145472-46
edxapp:mail_domain: edxapp-mail.rc.learn.mit.edu
edxapp:proctortrack_url: "https://preproduction.verificient.com"
Expand Down
1 change: 1 addition & 0 deletions src/ol_infrastructure/applications/edxapp/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1167,6 +1167,7 @@ def cloud_init_user_data_func(
"default-module-class": edxapp_config.get("default_module_class")
or "xmodule.hidden_block.HiddenBlock",
"google-analytics-id": edxapp_config.require("google_analytics_id"),
"github-auto-export-org-api-url": edxapp_config.require("github_org_api_url"),
"lms-domain": edxapp_domains["lms"],
"marketing-domain": edxapp_config.get("marketing_domain") or "",
"mitxonline-domain": edxapp_config.get("mitxonline_domain") or "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ FEATURES:
ENABLE_ENROLLMENT_RESET: false
ENABLE_EXAM_SETTINGS_HTML_VIEW: true # ADDED KEY
ENABLE_EXPORT_GIT: true # MODIFIED
ENABLE_AUTO_GITHUB_REPO_CREATION: true
ENABLE_FORUM_DAILY_DIGEST: true
ENABLE_GIT_AUTO_EXPORT: true # ADDED KEY
ENABLE_GRADE_DOWNLOADS: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,7 @@ def create_k8s_configmaps(
SOCIAL_AUTH_EDX_OAUTH2_URL_ROOT: https://{edxapp_config.require_object("domains")["lms"]}
SOCIAL_AUTH_EDX_OAUTH2_PUBLIC_URL_ROOT: https://{edxapp_config.require_object("domains")["lms"]}
SESSION_COOKIE_NAME: {env_name}-edx-studio-sessionid
GITHUB_ORG_API_URL: {edxapp_config.require("github_org_api_url")}
""")
},
opts=ResourceOptions(delete_before_replace=True),
Expand Down
6 changes: 6 additions & 0 deletions src/ol_infrastructure/applications/edxapp/k8s_secrets.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ def _build_general_secrets_template(
SYSADMIN_GITHUB_WEBHOOK_KEY: {{{{ get .Secrets "sysadmin_git_webhook_secret" }}}}"""
]

if stack_info.env_prefix == "mitxonline":
template_parts.append(
"""
GITHUB_ACCESS_TOKEN: {{{{ get .Secrets "github_access_token" }}}}"""
)

# Conditional: xpro-specific email configuration
if stack_info.env_prefix == "xpro":
template_parts.append(
Expand Down