forked from openedx-unsupported/configuration
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmain.yml
1918 lines (1673 loc) · 78.8 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# variables common to the edxapp role, automatically loaded
# when the role is included
---
# These are variables that default to a localhost
# setup and are meant to be overwritten for
# different environments.
#
# Variables in all caps are environment specific
# Lowercase variables are internal to the role
#
# Defaults specified here should not contain
# any secrets or host identifying information.
#
EDXAPP_PYTHON_VERSION: "python3.11"
# Bucket used for xblock file storage
EDXAPP_XBLOCK_FS_STORAGE_BUCKET: !!null
EDXAPP_XBLOCK_FS_STORAGE_PREFIX: !!null
EDXAPP_DJFS:
type: 'osfs'
directory_root: '{{ edxapp_data_dir }}/django-pyfs/static/django-pyfs'
url_root : '/static/django-pyfs'
EDXAPP_LMS_BASE: "{{ EDXAPP_LMS_SITE_NAME }}:{{ EDXAPP_LMS_NGINX_PORT }}"
EDXAPP_PREVIEW_LMS_BASE: "preview.{{ EDXAPP_LMS_SITE_NAME }}:{{ EDXAPP_LMS_NGINX_PORT }}"
EDXAPP_CMS_BASE: "{{ EDXAPP_CMS_SITE_NAME }}:{{ EDXAPP_CMS_NGINX_PORT }}"
EDXAPP_LMS_GUNICORN_EXTRA: ""
EDXAPP_LMS_GUNICORN_EXTRA_CONF: ""
EDXAPP_LMS_GUNICORN_TIMEOUT: 300
EDXAPP_CMS_GUNICORN_EXTRA: ""
EDXAPP_CMS_GUNICORN_EXTRA_CONF: ""
EDXAPP_CMS_GUNICORN_TIMEOUT: 300
EDXAPP_USE_GUNICORN_SEPARATE_LOG_FILE: False
# Set this to the maximum number
# of requests for gunicorn for the lms and cms
# gunicorn --max-requests <num>
EDXAPP_LMS_MAX_REQ: !!null
EDXAPP_CMS_MAX_REQ: !!null
# 'None' will be written out as null in
# the configuration on disk
EDXAPP_AWS_ACCESS_KEY_ID: !!null
EDXAPP_AWS_SECRET_ACCESS_KEY: !!null
EDXAPP_AWS_QUERYSTRING_AUTH: false
EDXAPP_AWS_STORAGE_BUCKET_NAME: "SET-ME-PLEASE (ex. bucket-name)"
# An empty string makes the course import/export functionality to use the
# file system for storage. Setting this to a bucket-name will use AWS
EDXAPP_IMPORT_EXPORT_BUCKET: ""
EDXAPP_AWS_S3_CUSTOM_DOMAIN: "SET-ME-PLEASE (ex. bucket-name.s3.amazonaws.com)"
EDXAPP_SWIFT_USERNAME: !!null
EDXAPP_SWIFT_KEY: !!null
EDXAPP_SWIFT_TENANT_ID: !!null
EDXAPP_SWIFT_TENANT_NAME: !!null
EDXAPP_SWIFT_AUTH_URL: !!null
EDXAPP_SWIFT_AUTH_VERSION: !!null
EDXAPP_SWIFT_REGION_NAME: !!null
EDXAPP_SWIFT_USE_TEMP_URLS: false
EDXAPP_SWIFT_TEMP_URL_KEY: !!null
EDXAPP_SWIFT_TEMP_URL_DURATION: 1800 # seconds
EDXAPP_DEFAULT_FILE_STORAGE: "django.core.files.storage.FileSystemStorage"
EDXAPP_XQUEUE_BASIC_AUTH: [ "{{ COMMON_HTPASSWD_USER }}", "{{ COMMON_HTPASSWD_PASS }}" ]
EDXAPP_XQUEUE_DJANGO_AUTH:
username: 'lms'
password: "{{ COMMON_XQUEUE_LMS_PASSWORD }}"
EDXAPP_XQUEUE_URL: 'http://localhost:18040'
# Comma-separated list of hosts/ips
EDXAPP_MONGO_HOSTS: 'localhost'
EDXAPP_MONGO_PASSWORD: 'password'
EDXAPP_MONGO_PORT: 27017
EDXAPP_MONGO_USER: 'edxapp'
EDXAPP_MONGO_DB_NAME: 'edxapp'
EDXAPP_MONGO_USE_SSL: False
EDXAPP_MONGO_REPLICA_SET: null
EDXAPP_MONGO_AUTH_DB: ''
# Used only if EDXAPP_MONGO_REPLICA_SET is provided.
EDXAPP_MONGO_CMS_READ_PREFERENCE: 'PRIMARY'
EDXAPP_MONGO_LMS_READ_PREFERENCE: 'SECONDARY_PREFERRED'
# We use the CMS read_preference here because the draft docstore's view of
# the modulestore should mirror Studio's, so that instructors can check their
# changes in Preview mode.
EDXAPP_LMS_DRAFT_DOC_STORE_READ_PREFERENCE: '{{ EDXAPP_MONGO_CMS_READ_PREFERENCE }}'
EDXAPP_LMS_SPLIT_DOC_STORE_READ_PREFERENCE: '{{ EDXAPP_MONGO_LMS_READ_PREFERENCE }}'
EDXAPP_MYSQL_DB_NAME: 'edxapp'
EDXAPP_MYSQL_USER: 'edxapp001'
EDXAPP_MYSQL_USER_ADMIN: 'root'
EDXAPP_MYSQL_PASSWORD: 'password'
EDXAPP_MYSQL_PASSWORD_READ_ONLY: 'password'
EDXAPP_MYSQL_PASSWORD_ADMIN: 'password'
# From Django 2.0 the default isolation level used for the MySQL database backend is 'read commited'
# (refer to https://github.com/django/django/pull/7978). However, this isolation level is enforced
# from the Django database configuration options to prevent possible inconsistencies or malfunctions.
# Changing the isolation level can lead to unexpected behaviors, so please proceed only if you
# what you're doing. Refer to https://docs.djangoproject.com/en/2.2/ref/databases/#mysql-isolation-level
# to get further information.
EDXAPP_MYSQL_OPTIONS:
isolation_level: "read committed"
EDXAPP_MYSQL_ATOMIC_REQUESTS: True
EDXAPP_MYSQL_REPLICA_DB_NAME: "{{ EDXAPP_MYSQL_DB_NAME }}"
EDXAPP_MYSQL_REPLICA_USER: "{{ EDXAPP_MYSQL_USER }}"
EDXAPP_MYSQL_REPLICA_PASSWORD: "{{ EDXAPP_MYSQL_PASSWORD }}"
EDXAPP_MYSQL_REPLICA_HOST: "{{ EDXAPP_MYSQL_HOST }}"
EDXAPP_MYSQL_REPLICA_PORT: "{{ EDXAPP_MYSQL_PORT }}"
EDXAPP_MYSQL_REPLICA_OPTIONS: "{{ EDXAPP_MYSQL_OPTIONS }}"
EDXAPP_MYSQL_CSMH_DB_NAME: "edxapp_csmh"
EDXAPP_MYSQL_CSMH_USER: "{{ EDXAPP_MYSQL_USER }}"
EDXAPP_MYSQL_CSMH_PASSWORD: "{{ EDXAPP_MYSQL_PASSWORD }}"
EDXAPP_MYSQL_CSMH_HOST: "{{ EDXAPP_MYSQL_HOST }}"
EDXAPP_MYSQL_CSMH_PORT: "{{ EDXAPP_MYSQL_PORT }}"
EDXAPP_MYSQL_CSMH_OPTIONS: "{{ EDXAPP_MYSQL_OPTIONS }}"
# This is Django's default https://docs.djangoproject.com/en/1.8/ref/settings/#conn-max-age
EDXAPP_MYSQL_CONN_MAX_AGE: 0
EDXAPP_MYSQL_HOST: 'localhost'
EDXAPP_MYSQL_PORT: '3306'
EDXAPP_SEARCH_HOST: 'localhost'
EDXAPP_SEARCH_PORT: 9200
EDXAPP_SEARCH_USE_SSL: false
# list of dictionaries of the format
# { 'host': 'hostname', 'port': 'portnumber', 'otherconfigsuchas use_ssl': 'True' }
# http://elasticsearch-py.readthedocs.org/en/master/api.html#elasticsearch
EDXAPP_ELASTIC_SEARCH_CONFIG:
- host: "{{ EDXAPP_SEARCH_HOST }}"
port: "{{ EDXAPP_SEARCH_PORT }}"
use_ssl: "{{ EDXAPP_SEARCH_USE_SSL }}"
EDXAPP_SETTINGS: '{{ COMMON_EDXAPP_SETTINGS }}'
EDXAPP_LMS_ENV: 'lms.envs.{{ EDXAPP_SETTINGS }}'
EDXAPP_CMS_ENV: 'cms.envs.{{ EDXAPP_SETTINGS }}'
EDXAPP_EMAIL_BACKEND: 'django.core.mail.backends.smtp.EmailBackend'
EDXAPP_EMAIL_HOST: 'localhost'
EDXAPP_EMAIL_PORT: 25
EDXAPP_EMAIL_USE_TLS: False
EDXAPP_EMAIL_HOST_USER: ''
EDXAPP_EMAIL_HOST_PASSWORD: ''
EDXAPP_AWS_SES_REGION_NAME: "us-east-1"
EDXAPP_AWS_SES_REGION_ENDPOINT: "email.us-east-1.amazonaws.com"
EDXAPP_LOG_LEVEL: 'INFO'
EDXAPP_MEMCACHE: [ 'localhost:11211' ]
EDXAPP_CACHE_COURSE_STRUCTURE_MEMCACHE: "{{ EDXAPP_MEMCACHE }}"
EDXAPP_CACHE_BACKEND: 'django.core.cache.backends.memcached.PyMemcacheCache'
EDXAPP_COMMENTS_SERVICE_URL: 'http://localhost:18080'
# EDXAPP_COMMENTS_SERVICE_KEY must match FORUM_API_KEY
EDXAPP_COMMENTS_SERVICE_KEY: 'password'
EDXAPP_EDXAPP_SECRET_KEY: "DUMMY KEY CHANGE BEFORE GOING TO PRODUCTION"
EDXAPP_FERNET_KEYS:
- "DUMMY KEY CHANGE BEFORE GOING TO PRODUCTION"
EDXAPP_ENABLE_LTI_PROVIDER: false
EDXAPP_LTI_USER_EMAIL_DOMAIN: "lti.example.com"
# 900s, or 15 mins
EDXAPP_LTI_AGGREGATE_SCORE_PASSBACK_DELAY: 900
EDXAPP_PAYMENT_SUPPORT_EMAIL: "[email protected]"
EDXAPP_YOUTUBE_API_KEY: "PUT_YOUR_API_KEY_HERE"
EDXAPP_ZENDESK_USER: ""
EDXAPP_ZENDESK_URL: ""
EDXAPP_ZENDESK_API_KEY: ""
EDXAPP_ZENDESK_CUSTOM_FIELDS: {}
EDXAPP_ZENDESK_OAUTH_ACCESS_TOKEN: ""
EDXAPP_ZENDESK_GROUP_ID_MAPPING: {}
EDXAPP_CELERY_USER: ''
EDXAPP_CELERY_PASSWORD: ''
EDXAPP_CELERY_BROKER_HOSTNAME: "{{ EDXAPP_REDIS_HOSTNAME }}"
EDXAPP_CELERY_BROKER_TRANSPORT: 'redis'
EDXAPP_CELERY_BROKER_VHOST: ""
EDXAPP_CELERY_BROKER_USE_SSL: false
EDXAPP_CELERY_EVENT_QUEUE_TTL: !!null
EDXAPP_CELERY_TIMEZONE: "UTC"
EDXAPP_CELERYBEAT_SCHEDULER: "celery.beat:PersistentScheduler"
EDXAPP_CELERY_RESULT_BACKEND: "django-cache"
EDXAPP_ENABLE_CELERY_BEAT: false
EDXAPP_SINGLE_BEAT_LOCK_TIME: 60
# EDXAPP_SINGLE_BEAT_HEARTBEAT_INTERVAL must be smaller than EDXAPP_SINGLE_BEAT_LOCK_TIME / 2
EDXAPP_SINGLE_BEAT_HEARTBEAT_INTERVAL: 29
EDXAPP_SINGLE_BEAT_REPO: "https://github.com/akachanov/single-beat.git"
EDXAPP_SINGLE_BEAT_VERSION: "e500ac4b56756cdf96836666883af8060aaef455"
EDXAPP_SINGLE_BEAT_USER: "{{ EDXAPP_CELERY_USER }}"
EDXAPP_SINGLE_BEAT_PASSWORD: "{{ EDXAPP_CELERY_PASSWORD }}"
EDXAPP_SINGLE_BEAT_IDENTIFIER: "celerybeat"
EDXAPP_BRANCH_IO_KEY: ""
EDXAPP_AUTH_USE_OPENID_PROVIDER: true
EDXAPP_ENABLE_COMBINED_LOGIN_REGISTRATION: true
EDXAPP_ENABLE_COUNTRY_ACCESS: false
EDXAPP_ENABLE_CORS_HEADERS: false
EDXAPP_ENABLE_CROSS_DOMAIN_CSRF_COOKIE: false
EDXAPP_ENABLE_DISCUSSION_HOME_PANEL: true
EDXAPP_ENABLE_DISCUSSION_SERVICE: true
EDXAPP_ENABLE_GRADE_DOWNLOADS: true
EDXAPP_ENABLE_SPECIAL_EXAMS: false
EDXAPP_ENABLE_VIDEO_UPLOAD_PIPELINE: false
EDXAPP_VIDEO_CDN_URLS:
EXAMPLE_COUNTRY_CODE: "http://example.com/edx/video?s3_url="
EDXAPP_CREDIT_HELP_LINK_URL: ""
EDXAPP_PARTNER_SUPPORT_EMAIL: ''
EDXAPP_PLATFORM_NAME: 'Your Platform Name Here'
EDXAPP_PLATFORM_DESCRIPTION: 'Your Platform Description Here'
EDXAPP_STUDIO_NAME: 'Studio'
EDXAPP_STUDIO_SHORT_NAME: 'Studio'
EDXAPP_ANALYTICS_DASHBOARD_NAME: "{{ EDXAPP_PLATFORM_NAME }} Insights"
EDXAPP_LMS_ANALYTICS_API_KEY: ''
EDXAPP_LMS_ANALYTICS_API_URL: 'http://localhost:18100'
EDXAPP_CAS_SERVER_URL: ""
EDXAPP_CAS_EXTRA_LOGIN_PARAMS: ""
EDXAPP_CAS_ATTRIBUTE_CALLBACK: ""
EDXAPP_CAS_ATTRIBUTE_PACKAGE: ""
# Enable an end-point that creates a user and logs them in
# Used for performance testing
EDXAPP_ENABLE_AUTO_AUTH: false
# Settings for enabling and configuring third party authorization
EDXAPP_ENABLE_THIRD_PARTY_AUTH: true
EDXAPP_ENABLE_OAUTH2_PROVIDER: false
EDXAPP_THIRD_PARTY_AUTH_BACKENDS:
- social_core.backends.google.GoogleOAuth2
- social_core.backends.linkedin.LinkedinOAuth2
- social_core.backends.facebook.FacebookOAuth2
- social_core.backends.azuread.AzureADOAuth2
- common.djangoapps.third_party_auth.appleid.AppleIdAuth
- common.djangoapps.third_party_auth.identityserver3.IdentityServer3
- common.djangoapps.third_party_auth.saml.SAMLAuthBackend
- common.djangoapps.third_party_auth.lti.LTIAuthBackend
EDXAPP_CMS_SERVICE_NAME: 'edxapp-cms'
EDXAPP_CMS_SOCIAL_AUTH_EDX_OAUTH2_KEY: 'edxapp-cms-sso-key'
EDXAPP_CMS_SOCIAL_AUTH_EDX_OAUTH2_SECRET: 'edxapp-cms-sso-secret'
EDXAPP_CMS_BACKEND_SERVICE_EDX_OAUTH2_KEY: 'edxapp-cms-backend-service-key'
EDXAPP_CMS_BACKEND_SERVICE_EDX_OAUTH2_SECRET: 'edxapp-cms-backend-service-secret'
EDXAPP_ENABLE_MOBILE_REST_API: false
EDXAPP_ENABLE_BULK_ENROLLMENT_VIEW: false
# Settings for API access management
EDXAPP_API_ACCESS_MANAGER_EMAIL: "[email protected]"
EDXAPP_API_ACCESS_FROM_EMAIL: "[email protected]"
EDXAPP_API_DOCUMENTATION_URL: "http://course-catalog-api-guide.readthedocs.io/en/latest/"
EDXAPP_AUTH_DOCUMENTATION_URL: "http://course-catalog-api-guide.readthedocs.io/en/latest/authentication/index.html"
# Settings for affiliate cookie tracking
EDXAPP_AFFILIATE_COOKIE_NAME: 'dev_affiliate_id'
EDXAPP_ENABLE_EDXNOTES: false
EDXAPP_ENABLE_CREDIT_ELIGIBILITY: false
EDXAPP_ENABLE_CREDIT_API: false
EDXAPP_CUSTOM_COURSES_EDX: false
EDXAPP_ENABLE_SYSADMIN_DASHBOARD: false
# This is different from lms/envs/common.py
# We're turning it on in config because it needs a lot more configuration
# support, such as settings.DATABASES and initial database creation which is
# handled in the play.
EDXAPP_ENABLE_CSMH_EXTENDED: True
EDXAPP_ENABLE_READING_FROM_MULTIPLE_HISTORY_TABLES: True
EDXAPP_GIT_REPO_DIR: '/edx/var/edxapp/course_repos'
EDXAPP_GIT_REPO_EXPORT_DIR: '/edx/var/edxapp/export_course_repos'
EDXAPP_ENABLE_EXPORT_GIT: false
EDXAPP_REPOSITORY_GIT_URL: "https://github.com/openedx/edx-platform.git"
EDXAPP_FINANCIAL_REPORTS:
BUCKET: !!null
ROOT_PATH: "sandbox"
STORAGE_TYPE: "localfs"
#Only address should have newlines
EDXAPP_PDF_RECEIPT_BILLING_ADDRESS: |
Enter your receipt billing
address here.
EDXAPP_PDF_RECEIPT_DISCLAIMER_TEXT: >
ENTER YOUR RECEIPT DISCLAIMER TEXT HERE.
EDXAPP_PDF_RECEIPT_FOOTER_TEXT: >
Enter your receipt footer text here.
EDXAPP_PDF_RECEIPT_TERMS_AND_CONDITIONS: >
Enter your receipt terms and conditions here.
EDXAPP_PDF_RECEIPT_TAX_ID: "00-0000000"
EDXAPP_PDF_RECEIPT_TAX_ID_LABEL: "fake Tax ID"
EDXAPP_PDF_RECEIPT_COBRAND_LOGO_PATH: ""
EDXAPP_PDF_RECEIPT_LOGO_PATH: ""
EDXAPP_SOCIAL_AUTH_OAUTH_SECRETS: ""
EDXAPP_ACE_CHANNEL_SAILTHRU_API_KEY: ""
EDXAPP_ACE_CHANNEL_SAILTHRU_API_SECRET: ""
EDXAPP_ACE_ENABLED_CHANNELS: ['django_email']
EDXAPP_ACE_ENABLED_POLICIES: ['bulk_email_optout']
EDXAPP_ACE_CHANNEL_SAILTHRU_DEBUG: True
EDXAPP_ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME: !!null
EDXAPP_ACE_ROUTING_KEY: 'edx.lms.core.default'
EDXAPP_ACE_CHANNEL_DEFAULT_EMAIL: 'django_email'
EDXAPP_ACE_CHANNEL_TRANSACTIONAL_EMAIL: 'django_email'
EDXAPP_ORGANIZATIONS_AUTOCREATE: true
# Display a language selector in the LMS/CMS header.
EDXAPP_SHOW_HEADER_LANGUAGE_SELECTOR: false
# Display a language selector in the LMS footer.
EDXAPP_SHOW_FOOTER_LANGUAGE_SELECTOR: false
# Configure x_frame_options in LMS/CMS
EDXAPP_X_FRAME_OPTIONS: "DENY"
# Reset functionality for master's integration environments
EDXAPP_ENABLE_ENROLLMENT_RESET: false
EDXAPP_FEATURES_DEFAULT:
AUTH_USE_OPENID_PROVIDER: "{{ EDXAPP_AUTH_USE_OPENID_PROVIDER }}"
ENABLE_DISCUSSION_SERVICE: "{{ EDXAPP_ENABLE_DISCUSSION_SERVICE }}"
PREVIEW_LMS_BASE: "{{ EDXAPP_PREVIEW_LMS_BASE }}"
ENABLE_GRADE_DOWNLOADS: "{{ EDXAPP_ENABLE_GRADE_DOWNLOADS }}"
ENABLE_MKTG_SITE: "{{ EDXAPP_ENABLE_MKTG_SITE }}"
ENABLE_PUBLISHER: "{{ EDXAPP_ENABLE_PUBLISHER }}"
AUTOMATIC_AUTH_FOR_TESTING: "{{ EDXAPP_ENABLE_AUTO_AUTH }}"
ENABLE_THIRD_PARTY_AUTH: "{{ EDXAPP_ENABLE_THIRD_PARTY_AUTH }}"
ENABLE_BULK_ENROLLMENT_VIEW: "{{ EDXAPP_ENABLE_BULK_ENROLLMENT_VIEW }}"
ENABLE_VIDEO_UPLOAD_PIPELINE: "{{ EDXAPP_ENABLE_VIDEO_UPLOAD_PIPELINE }}"
ENABLE_DISCUSSION_HOME_PANEL: "{{ EDXAPP_ENABLE_DISCUSSION_HOME_PANEL }}"
ENABLE_COMBINED_LOGIN_REGISTRATION: "{{ EDXAPP_ENABLE_COMBINED_LOGIN_REGISTRATION }}"
ENABLE_CORS_HEADERS: "{{ EDXAPP_ENABLE_CORS_HEADERS }}"
ENABLE_CROSS_DOMAIN_CSRF_COOKIE: "{{ EDXAPP_ENABLE_CROSS_DOMAIN_CSRF_COOKIE }}"
ENABLE_COUNTRY_ACCESS: "{{ EDXAPP_ENABLE_COUNTRY_ACCESS }}"
ENABLE_EDXNOTES: "{{ EDXAPP_ENABLE_EDXNOTES }}"
ENABLE_CREDIT_API: "{{ EDXAPP_ENABLE_CREDIT_API }}"
ENABLE_CREDIT_ELIGIBILITY: "{{ EDXAPP_ENABLE_CREDIT_ELIGIBILITY }}"
ENABLE_LTI_PROVIDER: "{{ EDXAPP_ENABLE_LTI_PROVIDER }}"
ENABLE_SPECIAL_EXAMS: "{{ EDXAPP_ENABLE_SPECIAL_EXAMS }}"
ENABLE_OAUTH2_PROVIDER: "{{ EDXAPP_ENABLE_OAUTH2_PROVIDER }}"
ENABLE_SYSADMIN_DASHBOARD: "{{ EDXAPP_ENABLE_SYSADMIN_DASHBOARD }}"
ENABLE_MOBILE_REST_API: "{{ EDXAPP_ENABLE_MOBILE_REST_API }}"
CUSTOM_COURSES_EDX: "{{ EDXAPP_CUSTOM_COURSES_EDX }}"
ENABLE_CSMH_EXTENDED: "{{ EDXAPP_ENABLE_CSMH_EXTENDED }}"
ENABLE_READING_FROM_MULTIPLE_HISTORY_TABLES: "{{ EDXAPP_ENABLE_READING_FROM_MULTIPLE_HISTORY_TABLES }}"
SHOW_HEADER_LANGUAGE_SELECTOR: "{{ EDXAPP_SHOW_HEADER_LANGUAGE_SELECTOR }}"
SHOW_FOOTER_LANGUAGE_SELECTOR: "{{ EDXAPP_SHOW_FOOTER_LANGUAGE_SELECTOR }}"
ENABLE_ENROLLMENT_RESET: "{{ EDXAPP_ENABLE_ENROLLMENT_RESET }}"
ENABLE_EXPORT_GIT: "{{ EDXAPP_ENABLE_EXPORT_GIT }}"
EDXAPP_FEATURES_EXTRA: {}
EDXAPP_FEATURES: "{{ EDXAPP_FEATURES_DEFAULT | combine(EDXAPP_FEATURES_EXTRA) }}"
# This needs to be set to localhost
# if xqueue is run on the same server
# as the lms (it's sent in the request)
EDXAPP_SITE_NAME: 'localhost'
EDXAPP_LMS_SITE_NAME: "{{ EDXAPP_SITE_NAME }}"
EDXAPP_LMS_HTTPS: 'on'
EDXAPP_CMS_SITE_NAME: 'localhost'
EDXAPP_MEDIA_URL: "/media"
EDXAPP_FEEDBACK_SUBMISSION_EMAIL: ""
EDXAPP_LOGGING_ENV: 'sandbox'
EDXAPP_SYSLOG_SERVER: ""
EDXAPP_RABBIT_HOSTNAME: 'localhost'
EDXAPP_REDIS_HOSTNAME: '{{ EDXAPP_RABBIT_HOSTNAME }}'
EDXAPP_LMS_NGINX_PORT: 18000
EDXAPP_LMS_SSL_NGINX_PORT: 48000
EDXAPP_CMS_NGINX_PORT: 18010
EDXAPP_CMS_SSL_NGINX_PORT: 48010
# NGINX Rate limiting related vars
EDXAPP_ENABLE_RATE_LIMITING: false
EDXAPP_COURSES_REQUEST_RATE: '5r/s'
EDXAPP_COURSES_REQUEST_BURST_RATE: 10
EDXAPP_COURSES_USER_AGENT_BURST_RATE: 5
EDXAPP_RATE_LIMITED_USER_AGENTS: []
# Consumed in the edxapp.yml playbook
# to pass to nginx as nginx_skip_enable_sites
EDXAPP_NGINX_SKIP_ENABLE_SITES: False
# If the LMS and Studio run on the same machine / nginx, it makes sense to have
# a default (usually the LMS). If you run on separate machines, you'll want to mark
# them both as defaults.
EDXAPP_NGINX_DEFAULT_SITES:
- 'lms'
EDXAPP_LANG: 'en_US.UTF-8'
EDXAPP_LANGUAGE_CODE : 'en'
EDXAPP_LANGUAGE_COOKIE: 'openedx-language-preference'
EDXAPP_CERTIFICATE_TEMPLATE_LANGUAGES:
'en': 'English'
'es': 'Español'
EDXAPP_TIME_ZONE: 'America/New_York'
EDXAPP_HELP_TOKENS_BOOKS:
learner: "http://edx.readthedocs.io/projects/open-edx-learner-guide"
course_author: "http://edx.readthedocs.io/projects/open-edx-building-and-running-a-course"
EDXAPP_TECH_SUPPORT_EMAIL: '[email protected]'
EDXAPP_CONTACT_EMAIL: '[email protected]'
EDXAPP_BUGS_EMAIL: '[email protected]'
EDXAPP_DEFAULT_FROM_EMAIL: '[email protected]'
EDXAPP_DEFAULT_FEEDBACK_EMAIL: '[email protected]'
EDXAPP_DEFAULT_SERVER_EMAIL: '[email protected]'
EDXAPP_BULK_EMAIL_DEFAULT_FROM_EMAIL: '[email protected]'
EDXAPP_BULK_EMAIL_LOG_SENT_EMAILS: false
EDXAPP_UNIVERSITY_EMAIL: '[email protected]'
EDXAPP_PRESS_EMAIL: '[email protected]'
EDXAPP_LMS_ROOT_URL: "{{ EDXAPP_LMS_BASE_SCHEME | default('https') }}://{{ EDXAPP_LMS_BASE }}"
EDXAPP_LMS_INTERNAL_ROOT_URL: "{{ EDXAPP_LMS_ROOT_URL }}"
EDXAPP_LMS_ISSUER: "{{ COMMON_JWT_ISSUER }}"
EDXAPP_JWT_EXPIRATION: 30 # Number of seconds until expiration
EDXAPP_JWT_AUDIENCE: "{{ COMMON_JWT_AUDIENCE }}"
EDXAPP_JWT_SECRET_KEY: "{{ COMMON_JWT_SECRET_KEY }}"
EDXAPP_JWT_PUBLIC_SIGNING_JWK_SET: "{{ COMMON_JWT_PUBLIC_SIGNING_JWK_SET|string }}"
EDXAPP_JWT_AUTH_COOKIE_HEADER_PAYLOAD: '{{ COMMON_JWT_AUTH_COOKIE_HEADER_PAYLOAD }}'
EDXAPP_JWT_AUTH_COOKIE_SIGNATURE: '{{ COMMON_JWT_AUTH_COOKIE_SIGNATURE }}'
# See https://github.com/openedx/edx-platform/blob/master/openedx/core/djangoapps/oauth_dispatch/docs/decisions/0008-use-asymmetric-jwts.rst
EDXAPP_JWT_SIGNING_ALGORITHM: !!null
EDXAPP_JWT_PRIVATE_SIGNING_JWK: !!null
EDXAPP_PLATFORM_TWITTER_ACCOUNT: '@YourPlatformTwitterAccount'
EDXAPP_PLATFORM_FACEBOOK_ACCOUNT: 'http://www.facebook.com/YourPlatformFacebookAccount'
EDXAPP_FACEBOOK_APP_ID: "FACEBOOK_APP_ID"
EDXAPP_FACEBOOK_APP_SECRET: "FACEBOOK_APP_SECRET"
EDXAPP_FACEBOOK_API_VERSION: "v2.1"
EDXAPP_CONTACT_MAILING_ADDRESS: 'SET-ME-PLEASE'
EDXAPP_SOCIAL_MEDIA_FOOTER_URLS: {}
EDXAPP_MOBILE_STORE_URLS: {}
EDXAPP_FOOTER_ORGANIZATION_IMAGE: "images/logo.png"
EDXAPP_ENV_EXTRA: {}
EDXAPP_AUTH_EXTRA: {}
EDXAPP_LMS_ENV_EXTRA: "{{ EDXAPP_ENV_EXTRA }}"
EDXAPP_CMS_ENV_EXTRA: "{{ EDXAPP_ENV_EXTRA }}"
EDXAPP_LMS_AUTH_EXTRA: "{{ EDXAPP_AUTH_EXTRA }}"
EDXAPP_CMS_AUTH_EXTRA: "{{ EDXAPP_AUTH_EXTRA }}"
EDXAPP_ENABLE_MKTG_SITE: false
EDXAPP_ENABLE_PUBLISHER: false
EDXAPP_MKTG_URL_LINK_MAP: {}
EDXAPP_MKTG_URLS: {}
EDXAPP_SUPPORT_SITE_LINK: ''
EDXAPP_ID_VERIFICATION_SUPPORT_LINK: ''
EDXAPP_ACTIVATION_EMAIL_SUPPORT_LINK: ''
EDXAPP_PASSWORD_RESET_SUPPORT_LINK: ''
EDXAPP_EDXMKTG_USER_INFO_COOKIE_NAME: "edx-user-info"
# Settings for Grade downloads
EDXAPP_GRADE_STORAGE_CLASS: 'django.core.files.storage.FileSystemStorage'
EDXAPP_GRADE_STORAGE_KWARGS:
location: /tmp/edx-s3/grades
# These set the url for static files
# Override this var to use a CDN
# Example: http://xxxxx.cloudfront.net/static/
# Default variable, likely to be retired since LMS and CMS are being separated
EDXAPP_STATIC_URL_BASE: "/static/"
# If you would like LMS to use a different CDN or path
EDXAPP_LMS_STATIC_URL_BASE: "{{ EDXAPP_STATIC_URL_BASE }}"
# If you would like Studio to use a different CDN or path
EDXAPP_CMS_STATIC_URL_BASE: "{{ EDXAPP_STATIC_URL_BASE }}"
# does not affect verified students
EDXAPP_PAID_COURSE_REGISTRATION_CURRENCY: ['usd', '$']
# whether to setup the python codejail or not
EDXAPP_PYTHON_SANDBOX: true
# this next setting, if true, turns on actual sandbox enforcement. If not true,
# it puts the sandbox in 'complain' mode, for reporting but not enforcement
EDXAPP_SANDBOX_ENFORCE: true
# Vars that are used when the automated role is "mixed-in" via the deploying play
# This data structure specifies all the users with access to run command remotely
# over SSH and the fully qualified command that they can run via sudo to the
# application user
EDXAPP_AUTOMATED_USERS: {}
# automated_user:
# sudo_commands:
# - command: "{{ edxapp_venv_bin }}/python {{ edxapp_code_dir }}/manage.py lms showmigrations --settings={{ edxapp_settings }}"
# sudo_user: "edxapp"
# authorized_keys:
# - "SSH authorized key"
EDXAPP_USE_GIT_IDENTITY: false
# Paste the contents of the git identity
# into this var
EDXAPP_GIT_IDENTITY: !!null
EDXAPP_UPDATE_STATIC_FILES_KEY: false
# Set this to true if you want to install the private pip
# requirements in the edx-platform repo.
# This will use EDXAPP_GIT_IDENTITY, EDXAPP_USE_GIT_IDENTITY
# must be set to true if EDXAPP_INSTALL_PRIVATE_REQUIREMENTS is
# set to true
EDXAPP_INSTALL_PRIVATE_REQUIREMENTS: false
# List of additional python packages that should be installed into the
# edxapp virtual environment.
# `name` (required), `version` (optional), and `extra_args` (optional)
# are supported and correspond to the options of ansible's pip module.
# Example:
# EDXAPP_EXTRA_REQUIREMENTS:
# - name: mypackage
# version: 1.0.1
# - name: git+https://git.myproject.org/MyProject#egg=MyProject
EDXAPP_EXTRA_REQUIREMENTS: []
# List of private requirements that should be installed into the
# edxapp virtual environment.
# `name` (required), 'extra_args' (optional)
# Example:
# EDXAPP_PRIVATE_REQUIREMENTS:
# - name: git+https://git.myproject.org/MyProject#egg=MyProject
# Note: This list contains edx.org specific dependencies, even though this is
# a public repo. The plan is to phase this out along with the rest of this
# repo as part of the DEPR https://github.com/openedx/public-engineering/issues/51.
EDXAPP_PRIVATE_REQUIREMENTS:
# For Harvard courses:
- name: xblock-problem-builder==5.1.3
# Oppia XBlock
- name: git+https://github.com/oppia/xblock.git@1030adb3590ad2d32c93443cc8690db0985d76b6#egg=oppia-xblock
extra_args: -e
# This repository contains schoolyourself-xblock, which is used in
# edX's "AlgebraX" and "GeometryX" courses.
- name: git+https://github.com/openedx/schoolyourself-xblock.git@2093048720cfb36cc05b3143cd6f2585c7c64d85#egg=schoolyourself-xblock
extra_args: -e
# Prototype XBlocks from edX learning sciences limited roll-outs and user testing.
# Concept XBlock, in particular, is nowhere near finished and an early prototype.
# Profile XBlock is there so we can play with XBlock arguments in the platform, but isn't ready for use outside of
# edX.
- name: git+https://github.com/openedx/ConceptXBlock.git@75dd86e5fa4c54ab2f04c95c4fd3389ac1f56174#egg=concept-xblock
extra_args: -e
- name: git+https://github.com/openedx/AudioXBlock.git@20538c6e9bb704801a71ecbb6981f794556dfc45#egg=audio-xblock
extra_args: -e
- name: git+https://github.com/openedx/AnimationXBlock.git@c950ffdda2f69effda93bf03df8646f61d3ffada#egg=animation-xblock
extra_args: -e
# Peer instruction XBlock
- name: git+https://github.com/ubc/[email protected]#egg=ubcpi-xblock
extra_args: -e
# Vector Drawing and ActiveTable XBlocks (Davidson)
- name: git+https://github.com/open-craft/xblock-vectordraw.git@0b931ae5d6314dbda5b58ab6c865aea1bc121267#egg=vectordraw-xblock==0.3.0
extra_args: -e
- name: git+https://github.com/open-craft/xblock-activetable.git@d3fb772435c382b59293e4e688a6a3096c4f6fd7#egg=activetable-xblock
extra_args: -e
# Stanford-developed XBlocks (technically unsupported, but here to ease migration of courses from Lagunita)
- name: xblock-qualtrics-survey==1.3.0
- name: git+https://github.com/openedx/xblock-in-video-quiz.git@a703acd9ef82434fc7ca2bc230496f45a584bb9a#egg=invideoquiz-xblock
extra_args: -e
- name: git+https://github.com/openedx/xblock-free-text-response@83a389e0a4b0a464e5d1e4a4a201678aed5eee9a#egg=xblock-free-text-response
extra_args: -e
- name: xblock-submit-and-compare==1.2.0
- name: xblock-sql-grader==0.4.0
- name: openedx-xblock-image-modal==3.1.0
# XBlocks associated with the LabXchange project
- name: git+https://github.com/open-craft/labxchange-xblocks.git@a0a8a8dad13199014d4bb29cee416289880bde0b#egg=labxchange-xblocks
extra_args: -e
# Caliper and xAPI event routing plugin
- name: edx-event-routing-backends==5.5.6
# List of custom middlewares that should be used in edxapp to process
# incoming HTTP resquests. Should be a list of plain strings that fully
# qualify Python classes or functions that can be used as Django middleware.
EDXAPP_EXTRA_MIDDLEWARE_CLASSES: []
EDXAPP_GOOGLE_ANALYTICS_ACCOUNT: !!null
EDXAPP_GOOGLE_ANALYTICS_LINKEDIN: ""
EDXAPP_GOOGLE_ANALYTICS_TRACKING_ID: ""
EDXAPP_GOOGLE_SITE_VERIFICATION_ID: ""
EDXAPP_OPTIMIZELY_PROJECT_ID: !!null
EDXAPP_TRACKING_SEGMENTIO_WEBHOOK_SECRET: ""
EDXAPP_CMS_SEGMENT_KEY: !!null
EDXAPP_LMS_SEGMENT_KEY: !!null
EDXAPP_EVENT_TRACKING_SEGMENTIO_EMIT_WHITELIST: []
EDXAPP_EDX_API_KEY: "PUT_YOUR_API_KEY_HERE"
# This is the default set in common.py
EDXAPP_VERIFY_STUDENT:
DAYS_GOOD_FOR: 365
EXPIRING_SOON_WINDOW: 28
EDXAPP_CONTENTSTORE_ADDITIONAL_OPTS: {}
EDXAPP_BULK_EMAIL_EMAILS_PER_TASK: 500
# Instructor code that will not be run in the code sandbox
EDXAPP_COURSES_WITH_UNSAFE_CODE: []
EDXAPP_SESSION_COOKIE_DOMAIN: ""
EDXAPP_SESSION_COOKIE_NAME: "sessionid"
# django-session-cookie middleware
EDXAPP_DCS_SESSION_COOKIE_SAMESITE: "{{ 'None' if NGINX_ENABLE_SSL | default(False) else 'Lax' }}"
EDXAPP_DCS_SESSION_COOKIE_SAMESITE_FORCE_ALL: True
# Whether to run reindex_course on deploy
EDXAPP_REINDEX_ALL_COURSES: false
# Whether to run compilejsi18n on deploy
EDXAPP_COMPILE_JSI18N: false
# XML Course related flags
EDXAPP_XML_FROM_GIT: false
EDXAPP_XML_S3_BUCKET: !!null
EDXAPP_XML_S3_KEY: !!null
EDXAPP_DATADOG_ENABLE: "{{COMMON_ENABLE_DATADOG and COMMON_ENABLE_DATADOG_APP}}"
EDXAPP_DATADOG_PROFILING_ENABLE: "{{EDXAPP_DATADOG_ENABLE and COMMON_ENABLE_DATADOG_PROFILING}}"
# Inferred Services allows for unification of service names for all
# spans in the webapp and faceting metrics by service.
# https://docs.datadoghq.com/tracing/guide/inferred-service-opt-in/?tab=python
EDXAPP_DATADOG_INFERRED_SERVICES_ENABLE: true
# ddtrace 2.7.9 contains a fix for a pymongo incompatibility.
# (Same fix is present in 2.8.2 on the 2.8.x release line.)
EDXAPP_DDTRACE_PIP_SPEC: 'ddtrace>=2.7.9'
EDXAPP_ORA2_FILE_PREFIX: '{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}/ora2'
EDXAPP_FILE_UPLOAD_STORAGE_BUCKET_NAME: '{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}'
EDXAPP_FILE_UPLOAD_STORAGE_PREFIX: 'submissions_attachments'
EDXAPP_CODE_JAIL_LIMITS:
# Limit the memory of the jailed process to something high but not
# infinite (512MiB in bytes)
VMEM: 536870912
# Time in seconds that the jailed process has to run.
REALTIME: 3
# Needs to be non-zero so that jailed code can use it as their temp directory.(1MiB in bytes)
FSIZE: 1048576
CPU: 1
PROXY: 0
# Set the number of workers explicitly for lms and cms
# Should be set to
# EDXAPP_WORKERS:
# lms: <num workers>
# cms: <num workers>
EDXAPP_WORKERS: !!null
# Dashboard URL, assumes that the insights role is installed locally
EDXAPP_ANALYTICS_DASHBOARD_URL: "http://localhost:18110/courses"
EDXAPP_REGISTRATION_EXTRA_FIELDS:
confirm_email: "hidden"
level_of_education: "optional"
gender: "optional"
year_of_birth: "optional"
mailing_address: "hidden"
goals: "optional"
honor_code: "required"
terms_of_service: "hidden"
city: "hidden"
country: "required"
EDXAPP_CELERY_WORKERS:
- queue: default
service_variant: cms
concurrency: 1
monitor: True
prefetch_optimization: default
- queue: high
service_variant: cms
concurrency: 1
monitor: True
prefetch_optimization: default
- queue: default
service_variant: lms
concurrency: 1
monitor: True
prefetch_optimization: default
- queue: high
service_variant: lms
concurrency: 1
monitor: True
prefetch_optimization: default
- queue: high_mem
service_variant: lms
concurrency: 1
monitor: False
max_tasks_per_child: 1
prefetch_optimization: default
EDXAPP_RECALCULATE_GRADES_ROUTING_KEY: 'edx.lms.core.default'
EDXAPP_POLICY_CHANGE_GRADES_ROUTING_KEY: 'edx.lms.core.default'
EDXAPP_SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY: 'edx.lms.core.default'
EDXAPP_BULK_EMAIL_ROUTING_KEY_SMALL_JOBS: 'edx.lms.core.default'
EDXAPP_PROGRAM_CERTIFICATES_ROUTING_KEY: 'edx.lms.core.default'
EDXAPP_LMS_CELERY_QUEUES: "{{ edxapp_workers|selectattr('service_variant', 'equalto', 'lms')|map(attribute='queue')|map('regex_replace', '^(.*)$', 'edx.lms.core.\\1')|list }}"
EDXAPP_CMS_CELERY_QUEUES: "{{ edxapp_workers|selectattr('service_variant', 'equalto', 'cms')|map(attribute='queue')|map('regex_replace', '^(.*)$', 'edx.cms.core.\\1')|list }}"
EDXAPP_DEFAULT_CACHE_VERSION: "1"
EDXAPP_OAUTH_ENFORCE_SECURE: True
EDXAPP_OAUTH_EXPIRE_CONFIDENTIAL_CLIENT_DAYS: 365
EDXAPP_OAUTH_EXPIRE_PUBLIC_CLIENT_DAYS: 30
# This turns on deletion of access tokens, refresh tokens, and grants when consumed (not bulk deletions)
EDXAPP_OAUTH_DELETE_EXPIRED: True
# Unused directory for edxapp application yaml configuration files
EDXAPP_CFG_DIR: "{{ COMMON_CFG_DIR }}/edxapp"
EDXAPP_DEPRECATED_ADVANCED_COMPONENT_TYPES: []
# Video Pipeline Settings
EDXAPP_VIDEO_UPLOAD_PIPELINE:
BUCKET: ''
ROOT_PATH: ''
EDXAPP_CORS_ORIGIN_WHITELIST: []
EDXAPP_CORS_ORIGIN_ALLOW_ALL: false
EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_DOMAIN: ""
EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_NAME: ""
EDXAPP_CSRF_COOKIE_SECURE: false
EDXAPP_CSRF_TRUSTED_ORIGINS: []
EDXAPP_LOGIN_REDIRECT_WHITELIST: []
# edx-rbac Related Settings
EDXAPP_SYSTEM_WIDE_ROLE_CLASSES: []
# Setting for enterprise marketing footer query params
EDXAPP_ENTERPRISE_MARKETING_FOOTER_QUERY_PARAMS: {}
# Setting for limiting API calls for integrated channel transmission.
# The setting key maps to the channel code (e.g. 'SAP' for success factors), Channel code is defined as
# part of django model of each integrated channel in edx-enterprise.
# The absence of a key/value pair translates to NO LIMIT on the number of "chunks" transmitted per cycle.
EDXAPP_INTEGRATED_CHANNELS_API_CHUNK_TRANSMISSION_LIMIT:
SAP: 1
# E-Commerce Related Settings
EDXAPP_ECOMMERCE_PUBLIC_URL_ROOT: "http://localhost:8002"
EDXAPP_ECOMMERCE_API_URL: "http://localhost:8002/api/v2"
# TODO (CCB) Remove this after all references in edx/edx-platform have been removed.
EDXAPP_ECOMMERCE_API_SIGNING_KEY: "{{ EDXAPP_JWT_SECRET_KEY }}"
EDXAPP_COURSE_CATALOG_URL_ROOT: "http://localhost:8008"
EDXAPP_COURSE_CATALOG_API_URL: "http://localhost:8008/api/v1"
EDXAPP_CREDENTIALS_INTERNAL_SERVICE_URL: "http://localhost:8005"
EDXAPP_CREDENTIALS_PUBLIC_SERVICE_URL: "http://localhost:8005"
# Learner portal settings
EDXAPP_LEARNER_PORTAL_URL_ROOT: "https://learner-portal-{{ EDXAPP_LMS_BASE }}"
# Blockstore Related Settings
EDXAPP_BLOCKSTORE_PUBLIC_URL_ROOT: "http://localhost:18250"
EDXAPP_BLOCKSTORE_API_URL: "http://localhost:18250/api/v1"
# List of all logout URIs for IDAs which have been converted from using DOP to using DOT.
EDXAPP_IDA_LOGOUT_URI_LIST: []
# which access.py permission name to check in order to determine if a course about page is
# visible. We default this to the legacy permission 'see_exists'.
EDXAPP_COURSE_CATALOG_VISIBILITY_PERMISSION: 'see_exists'
EDXAPP_COURSE_ABOUT_VISIBILITY_PERMISSION: 'see_exists'
EDXAPP_DEFAULT_COURSE_VISIBILITY_IN_CATALOG: 'both'
EDXAPP_DEFAULT_MOBILE_AVAILABLE: false
# Mailchimp Settings
EDXAPP_MAILCHIMP_NEW_USER_LIST_ID: null
# Social Sharing Related Settings
EDXAPP_SOCIAL_SHARING_SETTINGS:
CUSTOM_COURSE_URLS: false
DASHBOARD_FACEBOOK: false
CERTIFICATE_FACEBOOK: false
CERTIFICATE_TWITTER: false
DASHBOARD_TWITTER: false
#To use AWS S3 as your backend, you need different kwargs:
# EDXAPP_PROFILE_IMAGE_BACKEND_CONFIG:
# class: storages.backends.s3boto3.S3Boto3Storage
# options:
# location: path/to/images # Note: The location should not begin with a leading slash.
# bucket: mybucket
# custom_domain: mybucket.s3.amazonaws.com
# access_key: XXXAWS_ACCESS_KEYXXX
# secret_key: XXXAWS_SECRETY_KEYXXX
# headers:
# Cache-Control: max-age-{{ EDXAPP_PROFILE_IMAGE_MAX_AGE }}
#NB: access_key and secret_key are unneccessary if you use IAM roles
EDXAPP_PROFILE_IMAGE_BACKEND:
class: openedx.core.storage.OverwriteStorage
options:
location: "{{ edxapp_media_dir }}/profile-images/"
base_url: "{{ EDXAPP_MEDIA_URL }}/profile-images/"
EDXAPP_PROFILE_IMAGE_MAX_AGE: 31536000
# used to salt hashed usernames for profile image filenames
EDXAPP_PROFILE_IMAGE_HASH_SEED: placeholder_secret_key
# In bytes
EDXAPP_PROFILE_IMAGE_MAX_BYTES: 1048576
EDXAPP_PROFILE_IMAGE_MIN_BYTES: 100
EDXAPP_PROFILE_IMAGE_SIZES_MAP:
full: 500
large: 120
medium: 50
small: 30
EDXAPP_PARSE_KEYS: {}
# In a production environment when using separate clusters, you'll
# want to route requests differently from the LMS (internal api) and
# from JS (public API)
EDXAPP_EDXNOTES_PUBLIC_API: http://localhost:18120/api/v1
EDXAPP_EDXNOTES_INTERNAL_API: http://localhost:18120/api/v1
EDXAPP_XBLOCK_SETTINGS: {}
# Secret keys shared with credit providers.
# Used to digitally sign credit requests (us --> provider)
# and validate responses (provider --> us).
# Each key in the dictionary is a credit provider ID, and
# the value is the 32-character key.
EDXAPP_CREDIT_PROVIDER_SECRET_KEYS: {}
# Proctoring configuration (redirct URLs and keys shared between systems)
EDXAPP_PROCTORING_SETTINGS: {}
EDXAPP_PROCTORING_BACKENDS:
DEFAULT: "null"
# The null key needs to be quoted because
# null is a language independent type in YAML
"null": {}
# Configuration needed for the retirement service
EDXAPP_RETIREMENT_SERVICE_USER_EMAIL: "[email protected]"
EDXAPP_RETIREMENT_SERVICE_USER_NAME: "retirement_worker"
EDXAPP_RETIRED_USERNAME_PREFIX: "retired__user_"
EDXAPP_RETIRED_EMAIL_PREFIX: "retired__user_"
EDXAPP_RETIRED_EMAIL_DOMAIN: "retired.invalid"
EDXAPP_RETIRED_USER_SALTS:
- "OVERRIDE ME WITH A RANDOM VALUE"
- "ROTATE SALTS BY APPENDING NEW VALUES"
# These get loaded into database models per environment via management command
# These are the required states, environmental overrides are in edx-internal.
EDXAPP_RETIREMENT_STATES:
- "PENDING"
- "RETIRING_FORUMS"
- "FORUMS_COMPLETE"
- "RETIRING_SALESFORCE_LEADS"
- "SALESFORCE_LEADS_COMPLETE"
- "RETIRING_SEGMENT"
- "SEGMENT_COMPLETE"
- "RETIRING_HUBSPOT"
- "HUBSPOT_COMPLETE"
- "RETIRING_BRAZE"
- "BRAZE_COMPLETE"
- "RETIRING_ENROLLMENTS"
- "ENROLLMENTS_COMPLETE"
- "RETIRING_NOTES"
- "NOTES_COMPLETE"
- "RETIRING_PROCTORING"
- "PROCTORING_COMPLETE"
- "RETIRING_LICENSE_MANAGER"
- "LICENSE_MANAGER_COMPLETE"
- "RETIRING_LMS_MISC"
- "LMS_MISC_COMPLETE"
- "RETIRING_LMS"
- "LMS_COMPLETE"
- "ADDING_TO_PARTNER_QUEUE"
- "PARTNER_QUEUE_COMPLETE"
- "ERRORED"
- "ABORTED"
- "COMPLETE"
EDXAPP_USERNAME_REPLACEMENT_WORKER: "OVERRIDE THIS WITH A VALID USERNAME"
# Comprehensive Theming
# Deprecated, maintained for backward compatibility
EDXAPP_COMPREHENSIVE_THEME_DIR: ""
# list of paths to the comprehensive theme directories
EDXAPP_COMPREHENSIVE_THEME_DIRS:
- "{{ EDXAPP_COMPREHENSIVE_THEME_DIR }}"
# list of paths to the comprehensive theme locale directories
EDXAPP_COMPREHENSIVE_THEME_LOCALE_PATHS: []
# list of paths to locale directories to load first
EDXAPP_PREPEND_LOCALE_PATHS: []
# Name of the default site theme
EDXAPP_DEFAULT_SITE_THEME: ""
EDXAPP_ENABLE_COMPREHENSIVE_THEMING: false
# Path to directory to load custom resource templates for the studio/lms.
EDXAPP_CUSTOM_RESOURCE_TEMPLATES_DIRECTORY: null
# Git repo for the comprehensive theme (if using a comprehensive theme
# other than the ones bundled with edx/platform)
EDXAPP_COMPREHENSIVE_THEME_SOURCE_REPO: ""
# Git branch, tag, or revision to check out from
# EDXAPP_COMPREHENSIVE_THEME_SOURCE_REPO
EDXAPP_COMPREHENSIVE_THEME_VERSION: ""
# SAML KEYS
EDXAPP_SOCIAL_AUTH_SAML_SP_PRIVATE_KEY: ''
EDXAPP_SOCIAL_AUTH_SAML_SP_PUBLIC_CERT: ''
EDXAPP_SOCIAL_AUTH_SAML_SP_PRIVATE_KEY_DICT: {}
EDXAPP_SOCIAL_AUTH_SAML_SP_PUBLIC_CERT_DICT: {}
# Session cookie setting
# Only set this to true for client side profiling, never for production
EDXAPP_SESSION_SAVE_EVERY_REQUEST: false
EDXAPP_SESSION_COOKIE_SECURE: false
# Optionally add a cron job to run the "clearsessions" management command to delete expired sessions
# Hours and minutes follow cron syntax.
# E.g. "15,19" hours and "0" minutes will run it at 15:00 and 19:00.
# "*" hours and "5" minutes will run it every hour at past 5 minutes.
EDXAPP_CLEARSESSIONS_CRON_ENABLED: false
EDXAPP_CLEARSESSIONS_CRON_HOURS: "14"
EDXAPP_CLEARSESSIONS_CRON_MINUTES: "0"
# Add additional cron jobs from the given list.
# See ansible docs for valid options for these items:
# https://docs.ansible.com/ansible/latest/modules/cron_module.html
EDXAPP_ADDITIONAL_CRON_JOBS: []
EDXAPP_VIDEO_IMAGE_MAX_AGE: 31536000
# This is django storage configuration for Video Image settings.
# You can configure S3 or Swift in lms/envs/common.py
EDXAPP_VIDEO_IMAGE_SETTINGS:
VIDEO_IMAGE_MAX_BYTES : 2097152
VIDEO_IMAGE_MIN_BYTES : 2048
STORAGE_KWARGS:
location: "{{ edxapp_video_storage_location }}/"
base_url: "{{ EDXAPP_MEDIA_URL }}/"
DIRECTORY_PREFIX: 'video-images/'
EDXAPP_VIDEO_TRANSCRIPTS_MAX_AGE: 31536000
# This is django storage configuration for Video Transcripts settings.
EDXAPP_VIDEO_TRANSCRIPTS_SETTINGS:
VIDEO_TRANSCRIPTS_MAX_BYTES : 3145728
STORAGE_KWARGS:
location: "{{ edxapp_video_storage_location }}/"
base_url: "{{ EDXAPP_MEDIA_URL }}/"
DIRECTORY_PREFIX: 'video-transcripts/'
# Course Block Structures
EDXAPP_BLOCK_STRUCTURES_SETTINGS:
# Delay, in seconds, after a new edit of a course is published
# before updating the block structures cache. This is needed
# for a better chance at getting the latest changes when there
# are secondary reads in sharded mongoDB clusters. See TNL-5041
# for more info.
COURSE_PUBLISH_TASK_DELAY: 30
# Delay, in seconds, between retry attempts if a task fails.
TASK_DEFAULT_RETRY_DELAY: 30
# Maximum number of retries per task.
TASK_MAX_RETRIES: 5
PRUNING_ACTIVE: false
# Configuration needed for LMS to communicate with the Discovery service
DISCOVERY_SERVICE_USER_EMAIL: "[email protected]"
DISCOVERY_SERVICE_USER_NAME: "discovery_worker"
# Configuration needed for LMS to communicate with the Ecommerce service
ECOMMERCE_SERVICE_USER_EMAIL: "[email protected]"
ECOMMERCE_SERVICE_USER_NAME: "ecommerce_worker"
# Configuration needed for LMS to communicate with the Studio service
EDXAPP_CMS_SERVICE_USER_EMAIL: "[email protected]"
EDXAPP_CMS_SERVICE_USER_NAME: "edxapp_cms_worker"
# Configuration needed for LMS to communicate with the Credentials service
CREDENTIALS_SERVICE_USER_EMAIL: "[email protected]"
CREDENTIALS_SERVICE_USER_NAME: "credentials_worker"
# Configuration needed for LMS to communicate with the Insights service
INSIGHTS_SERVICE_USER_EMAIL: "[email protected]"