main.yml 55.7 KB
Newer Older
1
# variables common to the edxapp role, automatically loaded
John Jarvis committed
2
# when the role is included
3
---
4

John Jarvis committed
5 6 7 8 9 10 11 12 13
# 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.
14 15 16 17
#
# Variables set to "None" will be converted to None
# when the edxapp config is written to disk.

18
# Bucket used for xblock file storage
Feanil Patel committed
19 20
EDXAPP_XBLOCK_FS_STORAGE_BUCKET: "None"
EDXAPP_XBLOCK_FS_STORAGE_PREFIX: "None"
21 22 23 24
EDXAPP_DJFS:
  type: 'osfs'
  directory_root: '{{ edxapp_data_dir }}/django-pyfs/static/django-pyfs'
  url_root : '/static/django-pyfs'
Jason Zhu committed
25

26
EDXAPP_LMS_BASE: "{{ EDXAPP_LMS_SITE_NAME }}:{{ EDXAPP_LMS_NGINX_PORT }}"
27
EDXAPP_PREVIEW_LMS_BASE: "preview.{{ EDXAPP_LMS_SITE_NAME }}:{{ EDXAPP_LMS_NGINX_PORT }}"
28
EDXAPP_CMS_BASE: "{{ EDXAPP_CMS_SITE_NAME }}:{{ EDXAPP_CMS_NGINX_PORT }}"
John Jarvis committed
29

30
EDXAPP_LMS_GUNICORN_EXTRA: ""
31 32
EDXAPP_LMS_GUNICORN_EXTRA_CONF: ""

33
EDXAPP_CMS_GUNICORN_EXTRA: ""
34
EDXAPP_CMS_GUNICORN_EXTRA_CONF: ""
35

John Jarvis committed
36 37 38 39 40
# 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
41 42 43 44
# 'None' will be written out as null in
# the configuration on disk
EDXAPP_AWS_ACCESS_KEY_ID:  "None"
EDXAPP_AWS_SECRET_ACCESS_KEY:  "None"
45
EDXAPP_AWS_QUERYSTRING_AUTH: false
46
EDXAPP_AWS_STORAGE_BUCKET_NAME: "SET-ME-PLEASE (ex. bucket-name)"
47 48 49
# 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: ""
50
EDXAPP_AWS_S3_CUSTOM_DOMAIN: "SET-ME-PLEASE (ex. bucket-name.s3.amazonaws.com)"
Omar Khan committed
51 52 53 54 55 56 57 58 59 60
EDXAPP_SWIFT_USERNAME: "None"
EDXAPP_SWIFT_KEY: "None"
EDXAPP_SWIFT_TENANT_ID: "None"
EDXAPP_SWIFT_TENANT_NAME: "None"
EDXAPP_SWIFT_AUTH_URL: "None"
EDXAPP_SWIFT_AUTH_VERSION: "None"
EDXAPP_SWIFT_REGION_NAME: "None"
EDXAPP_SWIFT_USE_TEMP_URLS: false
EDXAPP_SWIFT_TEMP_URL_KEY: "None"
EDXAPP_SWIFT_TEMP_URL_DURATION: 1800  # seconds
61
EDXAPP_DEFAULT_FILE_STORAGE:  "django.core.files.storage.FileSystemStorage"
62
EDXAPP_XQUEUE_BASIC_AUTH: [ "{{ COMMON_HTPASSWD_USER }}", "{{ COMMON_HTPASSWD_PASS }}" ]
63
EDXAPP_XQUEUE_DJANGO_AUTH:
Feanil Patel committed
64 65
  username: 'lms'
  password: 'password'
66
EDXAPP_XQUEUE_URL: 'http://localhost:18040'
Feanil Patel committed
67

68 69 70
# EDXAPP_MONGO_HOSTS must be a comma seperated list of hosts/ips for
# compatibility with pymongo.MongoReplicaSetClient in PyMongo 2.9.1
EDXAPP_MONGO_HOSTS: 'localhost'
71 72
EDXAPP_MONGO_PASSWORD: 'password'
EDXAPP_MONGO_PORT: 27017
e0d committed
73
EDXAPP_MONGO_USER: 'edxapp'
John Jarvis committed
74
EDXAPP_MONGO_DB_NAME: 'edxapp'
75
EDXAPP_MONGO_USE_SSL: False
76 77
EDXAPP_MONGO_REPLICA_SET: ''
EDXAPP_LMS_SPLIT_DOC_STORE_READ_PREFERENCE: 'SECONDARY_PREFERRED'
Feanil Patel committed
78

79
EDXAPP_MYSQL_DB_NAME: 'edxapp'
80
EDXAPP_MYSQL_USER: 'edxapp001'
81
EDXAPP_MYSQL_USER_ADMIN: 'root'
e0d committed
82
EDXAPP_MYSQL_PASSWORD: 'password'
83 84
EDXAPP_MYSQL_PASSWORD_READ_ONLY: 'password'
EDXAPP_MYSQL_PASSWORD_ADMIN: 'password'
85
EDXAPP_MYSQL_OPTIONS: {}
86
EDXAPP_MYSQL_ATOMIC_REQUESTS: True
John Jarvis committed
87 88 89 90 91
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 }}"
92
EDXAPP_MYSQL_REPLICA_OPTIONS: "{{ EDXAPP_MYSQL_OPTIONS }}"
Fred Smith committed
93 94 95 96 97
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 }}"
98
EDXAPP_MYSQL_CSMH_OPTIONS: "{{ EDXAPP_MYSQL_OPTIONS }}"
99

100 101 102
# This is Django's default https://docs.djangoproject.com/en/1.8/ref/settings/#conn-max-age
EDXAPP_MYSQL_CONN_MAX_AGE: 0

103 104
EDXAPP_MYSQL_HOST: 'localhost'
EDXAPP_MYSQL_PORT: '3306'
Feanil Patel committed
105

106
EDXAPP_SEARCH_HOST: 'localhost'
107
EDXAPP_SEARCH_PORT: 9200
108
EDXAPP_SEARCH_USE_SSL: false
109

110 111 112 113
# 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:
114 115
  - host: "{{ EDXAPP_SEARCH_HOST }}"
    port: "{{ EDXAPP_SEARCH_PORT }}"
116
    use_ssl: "{{ EDXAPP_SEARCH_USE_SSL }}"
117

118
EDXAPP_SETTINGS: '{{ COMMON_EDXAPP_SETTINGS }}'
Omar Khan committed
119 120 121

EDXAPP_LMS_ENV: 'lms.envs.{{ EDXAPP_SETTINGS }}'
EDXAPP_CMS_ENV: 'cms.envs.{{ EDXAPP_SETTINGS }}'
122

123
EDXAPP_EMAIL_BACKEND: 'django.core.mail.backends.smtp.EmailBackend'
124 125 126 127 128
EDXAPP_EMAIL_HOST: 'localhost'
EDXAPP_EMAIL_PORT: 25
EDXAPP_EMAIL_USE_TLS: False
EDXAPP_EMAIL_HOST_USER: ''
EDXAPP_EMAIL_HOST_PASSWORD: ''
Feanil Patel committed
129

130
EDXAPP_AWS_SES_REGION_NAME: "us-east-1"
131
EDXAPP_AWS_SES_REGION_ENDPOINT: "email.us-east-1.amazonaws.com"
132

133
EDXAPP_LOG_LEVEL: 'INFO'
Feanil Patel committed
134

135
EDXAPP_MEMCACHE: [ 'localhost:11211' ]
136
EDXAPP_CACHE_COURSE_STRUCTURE_MEMCACHE: "{{ EDXAPP_MEMCACHE }}"
e0d committed
137
EDXAPP_COMMENTS_SERVICE_URL:  'http://localhost:18080'
138
# EDXAPP_COMMENTS_SERVICE_KEY must match FORUM_API_KEY
139
EDXAPP_COMMENTS_SERVICE_KEY:  'password'
Feanil Patel committed
140

141
EDXAPP_EDXAPP_SECRET_KEY: "DUMMY KEY CHANGE BEFORE GOING TO PRODUCTION"
Feanil Patel committed
142

143
EDXAPP_LTI_USER_EMAIL_DOMAIN: "lti.example.com"
144 145
# 900s, or 15 mins
EDXAPP_LTI_AGGREGATE_SCORE_PASSBACK_DELAY: 900
John Jarvis committed
146
EDXAPP_PAYMENT_SUPPORT_EMAIL: "billing@example.com"
Fred Smith committed
147
EDXAPP_YOUTUBE_API_KEY: "PUT_YOUR_API_KEY_HERE"
148 149 150
EDXAPP_ZENDESK_USER: ""
EDXAPP_ZENDESK_URL: ""
EDXAPP_ZENDESK_API_KEY: ""
151
EDXAPP_ZENDESK_CUSTOM_FIELDS: {}
152
EDXAPP_ZENDESK_OAUTH_ACCESS_TOKEN: ""
153
EDXAPP_CELERY_USER: 'celery'
154
EDXAPP_CELERY_PASSWORD: 'celery'
155 156
EDXAPP_CELERY_BROKER_HOSTNAME: "{{ EDXAPP_RABBIT_HOSTNAME }}"
EDXAPP_CELERY_BROKER_TRANSPORT: 'amqp'
157
EDXAPP_CELERY_BROKER_VHOST: ""
158
EDXAPP_CELERY_BROKER_USE_SSL: false
159
EDXAPP_CELERY_EVENT_QUEUE_TTL: "None"
160
EDXAPP_BRANCH_IO_KEY: ""
161

John Jarvis committed
162 163 164
EDXAPP_VIDEO_CDN_URLS:
  EXAMPLE_COUNTRY_CODE: "http://example.com/edx/video?s3_url="

165 166
EDXAPP_CREDIT_HELP_LINK_URL: ""

167 168
EDXAPP_PARTNER_SUPPORT_EMAIL: ''

169 170 171
# ISO-8601 formatted date string, or null
EDXAPP_AUDIT_CERT_CUTOFF_DATE: null

172
EDXAPP_PLATFORM_NAME: 'Your Platform Name Here'
173
EDXAPP_PLATFORM_DESCRIPTION: 'Your Platform Description Here'
174
EDXAPP_STUDIO_NAME: 'Studio'
Cristian Salamea committed
175
EDXAPP_STUDIO_SHORT_NAME: 'Studio'
176
EDXAPP_ANALYTICS_DASHBOARD_NAME: "{{ EDXAPP_PLATFORM_NAME }} Insights"
177

178 179 180 181
EDXAPP_CAS_SERVER_URL: ""
EDXAPP_CAS_EXTRA_LOGIN_PARAMS: ""
EDXAPP_CAS_ATTRIBUTE_CALLBACK: ""
EDXAPP_CAS_ATTRIBUTE_PACKAGE: ""
John Jarvis committed
182 183 184
# Enable an end-point that creates a user and logs them in
# Used for performance testing
EDXAPP_ENABLE_AUTO_AUTH: false
185
# Settings for enabling and configuring third party authorization
186
EDXAPP_ENABLE_THIRD_PARTY_AUTH: true
187
EDXAPP_ENABLE_OAUTH2_PROVIDER: false
John Jarvis committed
188

189 190
EDXAPP_ENABLE_MOBILE_REST_API: false

191 192 193
# Settings for API access management
EDXAPP_API_ACCESS_MANAGER_EMAIL: "api-access@example.com"
EDXAPP_API_ACCESS_FROM_EMAIL: "api-requests@example.com"
194 195
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"
196

197
# Settings for affiliate cookie tracking
198
EDXAPP_AFFILIATE_COOKIE_NAME: 'dev_affiliate_id'
199

Edward Zarecor committed
200 201
EDXAPP_ENABLE_EDXNOTES: false

202
EDXAPP_ENABLE_CREDIT_ELIGIBILITY: false
203 204
EDXAPP_ENABLE_CREDIT_API: false

205 206
EDXAPP_CUSTOM_COURSES_EDX: false

207
EDXAPP_ENABLE_SYSADMIN_DASHBOARD: false
208 209 210 211 212 213
# 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
214

215
EDXAPP_GIT_REPO_DIR: '/edx/var/edxapp/course_repos'
216
EDXAPP_GIT_REPO_EXPORT_DIR: '/edx/var/edxapp/export_course_repos'
217

218 219
EDXAPP_ONLOAD_BEACON_SAMPLE_RATE: 0.0

220 221 222
EDXAPP_FINANCIAL_REPORTS:
  BUCKET: !!null
  ROOT_PATH: "sandbox"
223
  STORAGE_TYPE: "localfs"
224

225 226
#Only address should have newlines
EDXAPP_PDF_RECEIPT_BILLING_ADDRESS: |
David Adams committed
227 228
  Enter your receipt billing
  address here.
229 230

EDXAPP_PDF_RECEIPT_DISCLAIMER_TEXT: >
David Adams committed
231
  ENTER YOUR RECEIPT DISCLAIMER TEXT HERE.
232 233

EDXAPP_PDF_RECEIPT_FOOTER_TEXT: >
David Adams committed
234
  Enter your receipt footer text here.
235 236

EDXAPP_PDF_RECEIPT_TERMS_AND_CONDITIONS: >
David Adams committed
237
  Enter your receipt terms and conditions here.
238 239 240 241 242 243

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: ""

244
EDXAPP_SOCIAL_AUTH_OAUTH_SECRETS: ""
245

246 247
EDXAPP_ACE_CHANNEL_SAILTHRU_API_KEY: ""
EDXAPP_ACE_CHANNEL_SAILTHRU_API_SECRET: ""
248 249 250 251 252
EDXAPP_ACE_ENABLED_CHANNELS: []
EDXAPP_ACE_ENABLED_POLICIES: []
EDXAPP_ACE_CHANNEL_SAILTHRU_DEBUG: True
EDXAPP_ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME: !!null
EDXAPP_ACE_ROUTING_KEY: 'edx.lms.core.low'
253

254 255 256 257 258 259
# 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

260
EDXAPP_FEATURES:
261 262
  AUTH_USE_OPENID_PROVIDER: true
  ENABLE_DISCUSSION_SERVICE: true
263
  ENABLE_INSTRUCTOR_ANALYTICS: false
264
  PREVIEW_LMS_BASE: "{{ EDXAPP_PREVIEW_LMS_BASE }}"
Omar Khan committed
265
  ENABLE_GRADE_DOWNLOADS: true
266 267 268
  ENABLE_MKTG_SITE: "{{ EDXAPP_ENABLE_MKTG_SITE }}"
  AUTOMATIC_AUTH_FOR_TESTING: "{{ EDXAPP_ENABLE_AUTO_AUTH }}"
  ENABLE_THIRD_PARTY_AUTH: "{{ EDXAPP_ENABLE_THIRD_PARTY_AUTH }}"
269
  ENABLE_VIDEO_UPLOAD_PIPELINE: false
270
  ENABLE_DISCUSSION_HOME_PANEL: true
271
  ENABLE_COMBINED_LOGIN_REGISTRATION: true
272
  ENABLE_CORS_HEADERS: false
273
  ENABLE_CROSS_DOMAIN_CSRF_COOKIE: false
arbabnazar committed
274
  ENABLE_COUNTRY_ACCESS: false
275
  ENABLE_VIDEO_BEACON: false
276
  ENABLE_ONLOAD_BEACON: false
277
  ENABLE_EDXNOTES: "{{ EDXAPP_ENABLE_EDXNOTES }}"
278
  ENABLE_CREDIT_API: "{{ EDXAPP_ENABLE_CREDIT_API }}"
279
  ENABLE_CREDIT_ELIGIBILITY: "{{ EDXAPP_ENABLE_CREDIT_ELIGIBILITY }}"
280
  ENABLE_SPECIAL_EXAMS: false
281
  ENABLE_OAUTH2_PROVIDER: "{{ EDXAPP_ENABLE_OAUTH2_PROVIDER }}"
282
  ENABLE_SYSADMIN_DASHBOARD: "{{ EDXAPP_ENABLE_SYSADMIN_DASHBOARD }}"
283
  ENABLE_MOBILE_REST_API: "{{ EDXAPP_ENABLE_MOBILE_REST_API }}"
284
  CUSTOM_COURSES_EDX: "{{ EDXAPP_CUSTOM_COURSES_EDX }}"
285 286
  ENABLE_CSMH_EXTENDED: "{{ EDXAPP_ENABLE_CSMH_EXTENDED }}"
  ENABLE_READING_FROM_MULTIPLE_HISTORY_TABLES: "{{ EDXAPP_ENABLE_READING_FROM_MULTIPLE_HISTORY_TABLES }}"
287 288
  SHOW_HEADER_LANGUAGE_SELECTOR: "{{ EDXAPP_SHOW_HEADER_LANGUAGE_SELECTOR }}"
  SHOW_FOOTER_LANGUAGE_SELECTOR: "{{ EDXAPP_SHOW_FOOTER_LANGUAGE_SELECTOR }}"
289

290 291 292
# This needs to be set to localhost
# if xqueue is run on the same server
# as the lms (it's sent in the request)
293 294
EDXAPP_SITE_NAME: 'localhost'
EDXAPP_LMS_SITE_NAME: "{{ EDXAPP_SITE_NAME }}"
295
EDXAPP_CMS_SITE_NAME: 'localhost'
296
EDXAPP_MEDIA_URL:  "/media"
297
EDXAPP_FEEDBACK_SUBMISSION_EMAIL: ""
298 299
EDXAPP_LOGGING_ENV:  'sandbox'

300
EDXAPP_SYSLOG_SERVER: ""
301
EDXAPP_RABBIT_HOSTNAME: 'localhost'
302

303
EDXAPP_LMS_NGINX_PORT: 18000
John Jarvis committed
304 305
EDXAPP_LMS_SSL_NGINX_PORT: 48000

306
EDXAPP_CMS_NGINX_PORT: 18010
John Jarvis committed
307
EDXAPP_CMS_SSL_NGINX_PORT: 48010
308

309
# NGINX Rate limiting related vars
Feanil Patel committed
310
EDXAPP_ENABLE_RATE_LIMITING: false
311 312
EDXAPP_COURSES_REQUEST_RATE: '5r/s'
EDXAPP_COURSES_REQUEST_BURST_RATE: 10
313
EDXAPP_COURSES_USER_AGENT_BURST_RATE: 5
syed-awais-ali committed
314
EDXAPP_RATE_LIMITED_USER_AGENTS: []
315

John Jarvis committed
316
EDXAPP_LANG: 'en_US.UTF-8'
Jason Zhu committed
317
EDXAPP_LANGUAGE_CODE : 'en'
318
EDXAPP_LANGUAGE_COOKIE: 'openedx-language-preference'
319 320 321
EDXAPP_CERTIFICATE_TEMPLATE_LANGUAGES:
  'en': 'English'
  'es': 'Español'
322 323
EDXAPP_TIME_ZONE: 'America/New_York'

324 325 326
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"
327

Feanil Patel committed
328 329 330 331 332
EDXAPP_TECH_SUPPORT_EMAIL: 'technical@example.com'
EDXAPP_CONTACT_EMAIL: 'info@example.com'
EDXAPP_BUGS_EMAIL: 'bugs@example.com'
EDXAPP_DEFAULT_FROM_EMAIL: 'registration@example.com'
EDXAPP_DEFAULT_FEEDBACK_EMAIL: 'feedback@example.com'
333
EDXAPP_DEFAULT_SERVER_EMAIL: 'devops@example.com'
334
EDXAPP_BULK_EMAIL_DEFAULT_FROM_EMAIL: 'no-reply@example.com'
Edward Zarecor committed
335
EDXAPP_BULK_EMAIL_LOG_SENT_EMAILS: false
336 337
EDXAPP_UNIVERSITY_EMAIL: 'university@example.com'
EDXAPP_PRESS_EMAIL: 'press@example.com'
338
EDXAPP_LMS_ROOT_URL: "{{ EDXAPP_LMS_BASE_SCHEME | default('https') }}://{{ EDXAPP_LMS_BASE }}"
339
EDXAPP_LMS_INTERNAL_ROOT_URL: "{{ EDXAPP_LMS_ROOT_URL }}"
340
EDXAPP_LMS_ISSUER: "{{ COMMON_JWT_ISSUER }}"
341
EDXAPP_JWT_EXPIRATION: 30  # Number of seconds until expiration
342 343
EDXAPP_JWT_AUDIENCE: "{{ COMMON_JWT_AUDIENCE }}"
EDXAPP_JWT_SECRET_KEY: "{{ COMMON_JWT_SECRET_KEY }}"
344

345 346
EDXAPP_PLATFORM_TWITTER_ACCOUNT: '@YourPlatformTwitterAccount'
EDXAPP_PLATFORM_FACEBOOK_ACCOUNT: 'http://www.facebook.com/YourPlatformFacebookAccount'
347 348 349 350
EDXAPP_FACEBOOK_APP_ID: "FACEBOOK_APP_ID"
EDXAPP_FACEBOOK_APP_SECRET: "FACEBOOK_APP_SECRET"
EDXAPP_FACEBOOK_API_VERSION: "v2.1"

351
EDXAPP_CONTACT_MAILING_ADDRESS: 'SET-ME-PLEASE'
352 353

EDXAPP_SOCIAL_MEDIA_FOOTER_URLS: {}
354
EDXAPP_MOBILE_STORE_URLS: {}
355
EDXAPP_FOOTER_ORGANIZATION_IMAGE: "images/logo.png"
356

357 358
EDXAPP_ENV_EXTRA: {}
EDXAPP_AUTH_EXTRA: {}
359 360
EDXAPP_LMS_ENV_EXTRA: "{{ EDXAPP_ENV_EXTRA }}"
EDXAPP_CMS_ENV_EXTRA: "{{ EDXAPP_ENV_EXTRA }}"
361 362
EDXAPP_LMS_AUTH_EXTRA: "{{ EDXAPP_AUTH_EXTRA }}"
EDXAPP_CMS_AUTH_EXTRA: "{{ EDXAPP_AUTH_EXTRA }}"
363
EDXAPP_ENABLE_MKTG_SITE: false
364
EDXAPP_MKTG_URL_LINK_MAP: {}
365
EDXAPP_MKTG_URLS: {}
366
EDXAPP_SUPPORT_SITE_LINK: ''
367
EDXAPP_ACTIVATION_EMAIL_SUPPORT_LINK: ''
368
EDXAPP_PASSWORD_RESET_SUPPORT_LINK: ''
369
EDXAPP_EDXMKTG_USER_INFO_COOKIE_NAME: "edx-user-info"
John Jarvis committed
370 371 372
# Set this sets the url for static files
# Override this var to use a CDN
# Example: xxxxx.cloudfront.net/static/
John Jarvis committed
373
EDXAPP_STATIC_URL_BASE: "/static/"
John Jarvis committed
374

375
# Settings for Grade downloads
Omar Khan committed
376 377 378 379
EDXAPP_GRADE_STORAGE_CLASS: 'django.core.files.storage.FileSystemStorage'
EDXAPP_GRADE_STORAGE_KWARGS:
  location: /tmp/edx-s3/grades

380 381
# Credit card processor
# These are the same defaults set in common.py
382
EDXAPP_CC_PROCESSOR_NAME: "CyberSource2"
383 384
EDXAPP_CC_PROCESSOR:
  CyberSource:
385 386 387
    SHARED_SECRET: ""
    MERCHANT_ID: ""
    SERIAL_NUMBER: ""
388
    ORDERPAGE_VERSION: '7'
389
    PURCHASE_ENDPOINT: ""
390 391 392 393 394
  CyberSource2:
    PURCHASE_ENDPOINT: ""
    SECRET_KEY: ""
    ACCESS_KEY: ""
    PROFILE_ID: ""
395

396 397 398
# does not affect verified students
EDXAPP_PAID_COURSE_REGISTRATION_CURRENCY: ['usd', '$']

399
# Configure paver tasks in edx-platform to skip Python/Ruby/Node installation
400 401
EDXAPP_NO_PREREQ_INSTALL: 1

402
# whether to setup the python codejail or not
403
EDXAPP_PYTHON_SANDBOX: true
404 405 406 407
# 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

e0d committed
408 409 410 411 412 413 414 415
# 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:
416
      - command: "{{ edxapp_venv_bin }}/python {{ edxapp_code_dir }}/manage.py lms showmigrations --settings={{ edxapp_settings }}"
e0d committed
417 418 419
        sudo_user: "edxapp"
    authorized_keys:
      - "SSH authorized key"
420

421
EDXAPP_USE_GIT_IDENTITY: false
422 423 424
# Paste the contents of the git identity
# into this var
EDXAPP_GIT_IDENTITY: !!null
John Jarvis committed
425

426
EDXAPP_UPDATE_STATIC_FILES_KEY: false
427 428 429 430 431
# 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
432

433
EDXAPP_INSTALL_PRIVATE_REQUIREMENTS: false
e0d committed
434

435 436 437 438 439 440 441 442 443 444 445
# 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: []

446 447 448 449 450
# 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: []

451
EDXAPP_GOOGLE_ANALYTICS_ACCOUNT: "None"
e0d committed
452

453
EDXAPP_OPTIMIZELY_PROJECT_ID: "None"
454
EDXAPP_TRACKING_SEGMENTIO_WEBHOOK_SECRET: ""
455 456
EDXAPP_CMS_SEGMENT_KEY: "None"
EDXAPP_LMS_SEGMENT_KEY: "None"
457
EDXAPP_EVENT_TRACKING_SEGMENTIO_EMIT_WHITELIST: []
458

459
EDXAPP_EDX_API_KEY: "PUT_YOUR_API_KEY_HERE"
460 461 462
# This is the default set in common.py
EDXAPP_VERIFY_STUDENT:
  DAYS_GOOD_FOR: 365
tasawernawaz committed
463
  EXPIRING_SOON_WINDOW: 28
John Jarvis committed
464
EDXAPP_GOOGLE_ANALYTICS_LINKEDIN: ""
465
EDXAPP_GOOGLE_ANALYTICS_TRACKING_ID: ""
John Jarvis committed
466
EDXAPP_CONTENTSTORE_ADDITIONAL_OPTS: {}
467 468 469 470
EDXAPP_BULK_EMAIL_EMAILS_PER_TASK: 500
# If using microsites this should point to the microsite repo
EDXAPP_MICROSITE_ROOT_DIR: "{{ edxapp_app_dir }}/edx-microsite"
# this dictionary defines what microsites are configured
John Jarvis committed
471
EDXAPP_MICROSITE_CONFIGURATION: {}
472 473
# Instructor code that will not be run in the code sandbox
EDXAPP_COURSES_WITH_UNSAFE_CODE: []
474
EDXAPP_SESSION_COOKIE_DOMAIN: ""
475
EDXAPP_SESSION_COOKIE_NAME: "sessionid"
John Jarvis committed
476

477 478 479
# Whether to run reindex_course on deploy
EDXAPP_REINDEX_ALL_COURSES: false

480 481 482 483
# XML Course related flags
EDXAPP_XML_FROM_GIT: false
EDXAPP_XML_S3_BUCKET: !!null
EDXAPP_XML_S3_KEY: !!null
484

485 486
EDXAPP_NEWRELIC_LMS_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-edxapp-lms"
EDXAPP_NEWRELIC_CMS_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-edxapp-cms"
487
EDXAPP_NEWRELIC_WORKERS_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-edxapp-workers"
Feanil Patel committed
488

489
EDXAPP_ORA2_FILE_PREFIX: '{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}/ora2'
490
EDXAPP_FILE_UPLOAD_STORAGE_BUCKET_NAME: '{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}'
491 492
EDXAPP_FILE_UPLOAD_STORAGE_PREFIX: 'submissions_attachments'

John Jarvis committed
493
EDXAPP_CODE_JAIL_LIMITS:
John Jarvis committed
494
  # Limit the memory of the jailed process to something high but not
495 496
  # infinite (512MiB in bytes)
  VMEM: 536870912
John Jarvis committed
497
  # Time in seconds that the jailed process has to run.
498
  REALTIME: 3
John Jarvis committed
499 500
  # Needs to be non-zero so that jailed code can use it as their temp directory.(1MiB in bytes)
  FSIZE: 1048576
501
  CPU: 1
502
  PROXY: 0
John Jarvis committed
503

504
EDXAPP_VIRTUAL_UNIVERSITIES: []
505
# Set the number of workers explicitly for lms and cms
506 507 508 509 510
# Should be set to
# EDXAPP_WORKERS:
#   lms: <num workers>
#   cms: <num workers>
EDXAPP_WORKERS: !!null
e0d committed
511 512
# Dashboard URL, assumes that the insights role is installed locally
EDXAPP_ANALYTICS_DASHBOARD_URL: "http://localhost:18110/courses"
513 514

EDXAPP_REGISTRATION_EXTRA_FIELDS:
515
  confirm_email: "hidden"
516 517 518
  level_of_education: "optional"
  gender: "optional"
  year_of_birth: "optional"
519
  mailing_address: "hidden"
520 521
  goals: "optional"
  honor_code: "required"
522
  terms_of_service: "hidden"
523
  city: "hidden"
524
  country: "required"
525

526 527 528
EDXAPP_CELERY_WORKERS:
  - queue: low
    service_variant: cms
529
    concurrency: 1
530
    monitor: True
531 532
  - queue: default
    service_variant: cms
533
    concurrency: 1
534
    monitor: True
535 536 537
  - queue: high
    service_variant: cms
    concurrency: 1
538
    monitor: True
539 540 541
  - queue: low
    service_variant: lms
    concurrency: 1
542
    monitor: True
543 544
  - queue: default
    service_variant: lms
545
    concurrency: 1
546
    monitor: True
547 548
  - queue: high
    service_variant: lms
549
    concurrency: 1
550
    monitor: True
551 552
  - queue: high_mem
    service_variant: lms
553
    concurrency: 1
554
    monitor: False
555
    max_tasks_per_child: 1
556
EDXAPP_RECALCULATE_GRADES_ROUTING_KEY: 'edx.lms.core.default'
557
EDXAPP_POLICY_CHANGE_GRADES_ROUTING_KEY: 'edx.lms.core.default'
558
EDXAPP_BULK_EMAIL_ROUTING_KEY_SMALL_JOBS: 'edx.lms.core.low'
559 560
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 }}"
561

562
EDXAPP_DEFAULT_CACHE_VERSION: "1"
563
EDXAPP_OAUTH_ENFORCE_SECURE: True
564 565
EDXAPP_OAUTH_EXPIRE_CONFIDENTIAL_CLIENT_DAYS: 365
EDXAPP_OAUTH_EXPIRE_PUBLIC_CLIENT_DAYS: 30
566 567
# This turns on deletion of access tokens, refresh tokens, and grants when consumed (not bulk deletions)
EDXAPP_OAUTH_DELETE_EXPIRED: True
568

569 570
# Directory for edxapp application configuration files
EDXAPP_CFG_DIR: "{{ COMMON_CFG_DIR }}/edxapp"
571 572
EDXAPP_DEPRECATED_ADVANCED_COMPONENT_TYPES: []

573 574 575 576 577
# Video Pipeline Settings
EDXAPP_VIDEO_UPLOAD_PIPELINE:
  BUCKET: ''
  ROOT_PATH: ''

578
EDXAPP_CORS_ORIGIN_WHITELIST: []
579
EDXAPP_CORS_ORIGIN_ALLOW_ALL: false
580 581
EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_DOMAIN: ""
EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_NAME: ""
582
EDXAPP_CSRF_COOKIE_SECURE: false
583

584 585
# Video Beacon Settings
CDN_VIDEO_URLS: {}
586 587
PERFORMANCE_GRAPHITE_URL: 'SetPerformanceGraphiteHostName'

588
# E-Commerce Related Settings
589 590
EDXAPP_ECOMMERCE_PUBLIC_URL_ROOT: "http://localhost:8002"
EDXAPP_ECOMMERCE_API_URL: "http://localhost:8002/api/v2"
591 592
# TODO (CCB) Remove this after all references in edx/edx-platform have been removed.
EDXAPP_ECOMMERCE_API_SIGNING_KEY: "{{ EDXAPP_JWT_SECRET_KEY }}"
593
EDXAPP_COURSE_CATALOG_API_URL: "http://localhost:8008/api/v1"
594 595
EDXAPP_CREDENTIALS_INTERNAL_SERVICE_URL: "http://localhost:8005"
EDXAPP_CREDENTIALS_PUBLIC_SERVICE_URL: "http://localhost:8005"
596

597 598 599 600 601
# 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'
602
EDXAPP_DEFAULT_MOBILE_AVAILABLE: false
603

604
# Mailchimp Settings
605
EDXAPP_MAILCHIMP_NEW_USER_LIST_ID: null
606

607 608 609 610 611 612 613 614
# Social Sharing Related Settings
EDXAPP_SOCIAL_SHARING_SETTINGS:
  CUSTOM_COURSE_URLS: false
  DASHBOARD_FACEBOOK: false
  CERTIFICATE_FACEBOOK: false
  CERTIFICATE_TWITTER: false
  DASHBOARD_TWITTER: false

615 616
#To use AWS S3 as your backend, you need different kwargs:
# EDXAPP_PROFILE_IMAGE_BACKEND_CONFIG:
617 618
#   class: storages.backends.s3boto.S3BotoStorage
#   options:
619 620 621 622 623 624 625 626
#     location: /path/to/images
#     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
627
#NB2: custom_domain is REQUIRED. Otherwise, boto will generate a
628 629 630 631 632 633 634 635 636 637 638 639 640
# temporary URL whenever asked for the URL of a specific file.
EDXAPP_PROFILE_IMAGE_BACKEND:
  class: storages.backends.overwrite.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_SECRET_KEY: placeholder_secret_key

# In bytes
641
EDXAPP_PROFILE_IMAGE_MAX_BYTES: 1048576
642 643
EDXAPP_PROFILE_IMAGE_MIN_BYTES: 100

644 645 646 647 648 649
EDXAPP_PROFILE_IMAGE_SIZES_MAP:
  full: 500
  large: 120
  medium: 50
  small: 30

650 651
EDXAPP_PARSE_KEYS: {}

652 653 654 655 656
# 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
657

658 659
EDXAPP_XBLOCK_SETTINGS: {}

660 661 662 663 664 665 666
# 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: {}

667 668 669 670 671 672
# Proctoring configuration (redirct URLs and keys shared between systems)
EDXAPP_PROCTORING_SETTINGS: {}
EDXAPP_PROCTORING_BACKEND_PROVIDER:
  class: 'edx_proctoring.backends.null.NullBackendProvider'
  options: {}

673
# Comprehensive Theming
674
# Deprecated, maintained for backward compatibility
675
EDXAPP_COMPREHENSIVE_THEME_DIR: ""
676

677 678 679 680
# list of paths to the comprehensive theme directories
EDXAPP_COMPREHENSIVE_THEME_DIRS:
  - "{{ EDXAPP_COMPREHENSIVE_THEME_DIR }}"

681 682 683
# list of paths to the comprehensive theme locale directories
EDXAPP_COMPREHENSIVE_THEME_LOCALE_PATHS: []

684 685
# Name of the default site theme
EDXAPP_DEFAULT_SITE_THEME: ""
686
EDXAPP_ENABLE_COMPREHENSIVE_THEMING: false
687

688 689 690 691 692 693
# 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: ""
694

695 696 697 698
# SAML KEYS
EDXAPP_SOCIAL_AUTH_SAML_SP_PRIVATE_KEY: ''
EDXAPP_SOCIAL_AUTH_SAML_SP_PUBLIC_CERT: ''

699 700 701 702
# Session cookie setting
# Only set this to true for client side profiling, never for production
EDXAPP_SESSION_SAVE_EVERY_REQUEST: false

703 704
EDXAPP_SESSION_COOKIE_SECURE: false

705 706 707 708 709 710 711
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
712 713 714 715
  STORAGE_KWARGS:
    location: "{{ edxapp_media_dir }}/"
    base_url: "{{ EDXAPP_MEDIA_URL }}/"
  DIRECTORY_PREFIX: 'video-images/'
716

717 718 719 720 721 722 723 724 725 726
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_media_dir }}/"
    base_url: "{{ EDXAPP_MEDIA_URL }}/"
  DIRECTORY_PREFIX: 'video-transcripts/'

727 728 729 730 731 732 733 734 735 736 737 738 739 740 741
# 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

742
# Configuration settings needed for the LMS to communicate with the Enterprise service.
743
EDXAPP_ENTERPRISE_API_URL: "{{ EDXAPP_LMS_INTERNAL_ROOT_URL }}/enterprise/api/v1"
744

745
EDXAPP_ENTERPRISE_SERVICE_WORKER_EMAIL: "enterprise_worker@example.com"
746 747
EDXAPP_ENTERPRISE_SERVICE_WORKER_USERNAME: "enterprise_worker"

748 749
EDXAPP_ENTERPRISE_COURSE_ENROLLMENT_AUDIT_MODES:
  - audit
750
  - honor
751

752
EDXAPP_ENTERPRISE_ENROLLMENT_API_URL: "{{ EDXAPP_LMS_INTERNAL_ROOT_URL }}/api/enrollment/v1/"
753

754 755 756
# The default value of this needs to be a 16 character string
EDXAPP_ENTERPRISE_REPORTING_SECRET: '0000000000000000'

757 758
EDXAPP_ENTERPRISE_SUPPORT_URL: ''

759 760
EDXAPP_ENTERPRISE_TAGLINE: ''

761 762 763
# The assigned ICP license number for display in the platform footer
EDXAPP_ICP_LICENSE: !!null

764 765 766
# Base Cookie Domain to share cookie across edx domains
EDXAPP_BASE_COOKIE_DOMAIN: "{{ EDXAPP_LMS_SITE_NAME }}"

767 768 769 770
# The minimum and maximum length for the password account field
EDXAPP_PASSWORD_MIN_LENGTH: 2
EDXAPP_PASSWORD_MAX_LENGTH: 75

771 772 773
# The age at which a learner no longer requires parental consent, or None
EDXAPP_PARENTAL_CONSENT_AGE_LIMIT: 13

774
# Scorm Xblock configurations
775 776
EDXAPP_SCORM_PKG_STORAGE_DIR: !!null
EDXAPP_SCORM_PLAYER_LOCAL_STORAGE_ROOT: !!null
777

John Jarvis committed
778 779
#-------- Everything below this line is internal to the role ------------

780 781
#Use YAML references (& and *) and hash merge <<: to factor out shared settings
#see http://atechie.net/2009/07/merging-hashes-in-yaml-conf-files/
782

783 784 785
edxapp_data_dir: "{{ COMMON_DATA_DIR }}/edxapp"
edxapp_app_dir: "{{ COMMON_APP_DIR }}/edxapp"
edxapp_log_dir: "{{ COMMON_LOG_DIR }}/edxapp"
John Jarvis committed
786
edxapp_venvs_dir: "{{ edxapp_app_dir }}/venvs"
John Jarvis committed
787
edxapp_venv_dir: "{{ edxapp_venvs_dir }}/edxapp"
788
edxapp_venv_bin: "{{ edxapp_venv_dir }}/bin"
789
edxapp_nodeenv_dir: "{{ edxapp_app_dir }}/nodeenvs/edxapp"
790
edxapp_nodeenv_bin: "{{ edxapp_nodeenv_dir }}/bin"
791
edxapp_settings: '{{ EDXAPP_SETTINGS }}'
792
edxapp_node_version: "{{ common_node_version }}"
793 794
# This is where node installs modules, not node itself
edxapp_node_bin: "{{ edxapp_code_dir }}/node_modules/.bin"
795
edxapp_user: edxapp
796
edxapp_deploy_path: "{{ edxapp_venv_bin }}:{{ edxapp_code_dir }}/bin:{{ edxapp_node_bin }}:{{ edxapp_nodeenv_bin }}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
797
edxapp_staticfile_dir: "{{ edxapp_data_dir }}/staticfiles"
798
edxapp_media_dir: "{{ edxapp_data_dir }}/media"
799
edxapp_course_static_dir: "{{ edxapp_data_dir }}/course_static"
800 801 802
edxapp_course_data_dir: "{{ edxapp_data_dir }}/data"
edxapp_upload_dir: "{{ edxapp_data_dir }}/uploads"
edxapp_theme_dir: "{{ edxapp_data_dir }}/themes"
803
edxapp_git_identity: "{{ edxapp_app_dir }}/edxapp-git-identity"
John Jarvis committed
804
edxapp_git_ssh: "/tmp/edxapp_git_ssh.sh"
805

806 807 808 809 810 811 812 813 814
edxapp_devstack_logs:
  - "{{ supervisor_log_dir }}/cms-stdout.log"
  - "{{ supervisor_log_dir }}/cms-stderr.log"
  - "{{ supervisor_log_dir }}/lms-stdout.log"
  - "{{ supervisor_log_dir }}/lms-stderr.log"

# Only install packages which are appropriate for this environment
edxapp_npm_production: "yes"

815 816 817
# TODO: This can be removed once VPC-122 is resolved
edxapp_legacy_course_data_dir: "{{ edxapp_app_dir }}/data"

818
edxapp_workers: "{{ EDXAPP_CELERY_WORKERS }}"
819
EDXAPP_WORKER_DEFAULT_STOPWAITSECS: 432000
820

821 822 823 824 825 826 827
# setup for python codejail
edxapp_sandbox_venv_dir:  '{{ edxapp_venvs_dir }}/edxapp-sandbox'
edxapp_sandbox_user: 'sandbox'  # I think something about the codejail requires hardcoding this to sandbox:sandbox

# apparmor command
edxapp_aa_command: "{% if EDXAPP_SANDBOX_ENFORCE %}aa-enforce{% else %}aa-complain{% endif %}"

John Jarvis committed
828
# TODO: old style variable syntax is necessary
829
# for lists and dictionaries
830 831 832 833 834
edxapp_helper_scripts:
    - edxapp-migrate
    - edxapp-runserver
    - edxapp-update-assets
    - edxapp-shell
835

836
edxapp_environment_default:
837 838
  LANG: "{{ EDXAPP_LANG }}"
  NO_PREREQ_INSTALL: "{{ EDXAPP_NO_PREREQ_INSTALL }}"
John Jarvis committed
839
  SKIP_WS_MIGRATIONS: 1
840
  PATH: "{{ edxapp_deploy_path }}"
841
  # the settings module for edxapp, DJANGO_SETTINGS_MODULE
842
  # should be set to {{SERVICE_VARIANT}}.{{EDXAPP_SETTINGS}}
843
  # where SERVICE_VARIANT is lms or cms
Omar Khan committed
844
  EDX_PLATFORM_SETTINGS: "{{ EDXAPP_SETTINGS }}"
845 846 847 848
  # Current set to the app dir for json config, this should
  # be updated to /edx/etc/edxapp when the switch to
  # yaml based configs is complete
  CONFIG_ROOT: "{{ edxapp_app_dir }}"
849
  BOTO_CONFIG: "{{ edxapp_app_dir }}/.boto"
John Jarvis committed
850

851 852 853 854
edxapp_environment_extra: {}

edxapp_environment: "{{ edxapp_environment_default | combine(edxapp_environment_extra) }}"

855 856 857 858 859 860 861 862
edxapp_generic_doc_store_config: &edxapp_generic_default_docstore
  db: "{{ EDXAPP_MONGO_DB_NAME }}"
  host: "{{ EDXAPP_MONGO_HOSTS }}"
  password: "{{ EDXAPP_MONGO_PASSWORD }}"
  port: "{{ EDXAPP_MONGO_PORT }}"
  user: "{{ EDXAPP_MONGO_USER }}"
  collection:  'modulestore'
  ssl: "{{ EDXAPP_MONGO_USE_SSL }}"
863 864 865 866
  # https://api.mongodb.com/python/2.9.1/api/pymongo/mongo_client.html#module-pymongo.mongo_client
  socketTimeoutMS: 3000 # default is never timeout while the connection is open, this means it needs to explicitly close raising pymongo.errors.NetworkTimeout
  connectTimeoutMS: 2000 # default is 20000, I believe raises pymongo.errors.ConnectionFailure
  # Not setting waitQueueTimeoutMS and waitQueueMultiple since pymongo defaults to nobody being allowed to wait
867

868

869
EDXAPP_LMS_DRAFT_DOC_STORE_CONFIG:
870 871
  <<: *edxapp_generic_default_docstore

872
EDXAPP_LMS_SPLIT_DOC_STORE_CONFIG:
873
  <<: *edxapp_generic_default_docstore
874 875
  replicaSet: "{{ EDXAPP_MONGO_REPLICA_SET }}"
  read_preference: "{{ EDXAPP_LMS_SPLIT_DOC_STORE_READ_PREFERENCE }}"
876

877
EDXAPP_CMS_DOC_STORE_CONFIG:
878 879
  <<: *edxapp_generic_default_docstore

880 881 882 883 884 885 886 887 888 889 890
edxapp_databases:
# edxapp's edxapp-migrate scripts and the edxapp_migrate play
# will ensure that any DB not named read_replica will be migrated
# for both the lms and cms.
  read_replica:
    ENGINE: 'django.db.backends.mysql'
    NAME: "{{ EDXAPP_MYSQL_REPLICA_DB_NAME }}"
    USER: "{{ EDXAPP_MYSQL_REPLICA_USER }}"
    PASSWORD: "{{ EDXAPP_MYSQL_REPLICA_PASSWORD }}"
    HOST: "{{ EDXAPP_MYSQL_REPLICA_HOST }}"
    PORT: "{{ EDXAPP_MYSQL_REPLICA_PORT }}"
891
    CONN_MAX_AGE: "{{ EDXAPP_MYSQL_CONN_MAX_AGE }}"
892
    OPTIONS: "{{ EDXAPP_MYSQL_REPLICA_OPTIONS }}"
893 894 895 896 897 898 899
  default:
    ENGINE: 'django.db.backends.mysql'
    NAME: "{{ EDXAPP_MYSQL_DB_NAME }}"
    USER: "{{ EDXAPP_MYSQL_USER }}"
    PASSWORD: "{{ EDXAPP_MYSQL_PASSWORD }}"
    HOST: "{{ EDXAPP_MYSQL_HOST }}"
    PORT: "{{ EDXAPP_MYSQL_PORT }}"
900
    ATOMIC_REQUESTS: "{{ EDXAPP_MYSQL_ATOMIC_REQUESTS }}"
901
    CONN_MAX_AGE: "{{ EDXAPP_MYSQL_CONN_MAX_AGE }}"
902
    OPTIONS: "{{ EDXAPP_MYSQL_OPTIONS }}"
Fred Smith committed
903 904 905 906 907 908 909
  student_module_history:
    ENGINE: 'django.db.backends.mysql'
    NAME: "{{ EDXAPP_MYSQL_CSMH_DB_NAME }}"
    USER: "{{ EDXAPP_MYSQL_CSMH_USER }}"
    PASSWORD: "{{ EDXAPP_MYSQL_CSMH_PASSWORD }}"
    HOST: "{{ EDXAPP_MYSQL_CSMH_HOST }}"
    PORT: "{{ EDXAPP_MYSQL_CSMH_PORT }}"
910
    CONN_MAX_AGE: "{{ EDXAPP_MYSQL_CONN_MAX_AGE }}"
911
    OPTIONS: "{{ EDXAPP_MYSQL_CSMH_OPTIONS }}"
912

913
edxapp_generic_auth_config:  &edxapp_generic_auth
914
  EVENT_TRACKING_SEGMENTIO_EMIT_WHITELIST: "{{ EDXAPP_EVENT_TRACKING_SEGMENTIO_EMIT_WHITELIST }}"
915
  ECOMMERCE_API_SIGNING_KEY: "{{ EDXAPP_ECOMMERCE_API_SIGNING_KEY }}"
916
  DEFAULT_FILE_STORAGE:  "{{ EDXAPP_DEFAULT_FILE_STORAGE }}"
917 918
  AWS_ACCESS_KEY_ID:  "{{ EDXAPP_AWS_ACCESS_KEY_ID }}"
  AWS_SECRET_ACCESS_KEY: "{{ EDXAPP_AWS_SECRET_ACCESS_KEY }}"
919
  AWS_QUERYSTRING_AUTH: "{{ EDXAPP_AWS_QUERYSTRING_AUTH }}"
920 921
  AWS_STORAGE_BUCKET_NAME: "{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}"
  AWS_S3_CUSTOM_DOMAIN: "{{ EDXAPP_AWS_S3_CUSTOM_DOMAIN }}"
Omar Khan committed
922 923 924 925 926 927 928 929 930 931
  SWIFT_USERNAME: "{{ EDXAPP_SWIFT_USERNAME }}"
  SWIFT_KEY: "{{ EDXAPP_SWIFT_KEY }}"
  SWIFT_TENANT_ID: "{{ EDXAPP_SWIFT_TENANT_ID }}"
  SWIFT_TENANT_NAME: "{{ EDXAPP_SWIFT_TENANT_NAME }}"
  SWIFT_AUTH_URL: "{{ EDXAPP_SWIFT_AUTH_URL }}"
  SWIFT_AUTH_VERSION: "{{ EDXAPP_SWIFT_AUTH_VERSION }}"
  SWIFT_REGION_NAME: "{{ EDXAPP_SWIFT_REGION_NAME }}"
  SWIFT_USE_TEMP_URLS: "{{ EDXAPP_SWIFT_USE_TEMP_URLS }}"
  SWIFT_TEMP_URL_KEY: "{{ EDXAPP_SWIFT_TEMP_URL_KEY }}"
  SWIFT_TEMP_URL_DURATION: "{{ EDXAPP_SWIFT_TEMP_URL_DURATION }}"
932
  SECRET_KEY:  "{{ EDXAPP_EDXAPP_SECRET_KEY }}"
933
  DOC_STORE_CONFIG: "{{ edxapp_generic_doc_store_config }}"
934
  XQUEUE_INTERFACE:
935 936 937
    basic_auth: "{{ EDXAPP_XQUEUE_BASIC_AUTH }}"
    django_auth: "{{ EDXAPP_XQUEUE_DJANGO_AUTH }}"
    url: "{{ EDXAPP_XQUEUE_URL }}"
938 939
  CONTENTSTORE:
    ENGINE:  'xmodule.contentstore.mongo.MongoContentStore'
e0d committed
940 941 942 943
    #
    # connection strings are duplicated temporarily for
    # backward compatibility
    #
944
    OPTIONS:
945 946 947
      db: "{{ EDXAPP_MONGO_DB_NAME }}"
      host: "{{ EDXAPP_MONGO_HOSTS }}"
      password: "{{ EDXAPP_MONGO_PASSWORD }}"
948
      port: "{{ EDXAPP_MONGO_PORT }}"
949
      user: "{{ EDXAPP_MONGO_USER }}"
950
      ssl: "{{ EDXAPP_MONGO_USE_SSL }}"
951
    ADDITIONAL_OPTIONS: "{{ EDXAPP_CONTENTSTORE_ADDITIONAL_OPTS }}"
e0d committed
952
    DOC_STORE_CONFIG: *edxapp_generic_default_docstore
953
  DATABASES: "{{ edxapp_databases }}"
954 955
  EMAIL_HOST_USER: "{{ EDXAPP_EMAIL_HOST_USER }}"
  EMAIL_HOST_PASSWORD: "{{ EDXAPP_EMAIL_HOST_PASSWORD }}"
Fred Smith committed
956
  YOUTUBE_API_KEY: "{{ EDXAPP_YOUTUBE_API_KEY }}"
957 958
  ZENDESK_USER: "{{ EDXAPP_ZENDESK_USER }}"
  ZENDESK_API_KEY: "{{ EDXAPP_ZENDESK_API_KEY }}"
959
  ZENDESK_OAUTH_ACCESS_TOKEN: "{{ EDXAPP_ZENDESK_OAUTH_ACCESS_TOKEN }}"
960 961 962
  CELERY_BROKER_USER: "{{ EDXAPP_CELERY_USER }}"
  CELERY_BROKER_PASSWORD: "{{ EDXAPP_CELERY_PASSWORD }}"
  GOOGLE_ANALYTICS_ACCOUNT: "{{ EDXAPP_GOOGLE_ANALYTICS_ACCOUNT }}"
963
  DJFS: "{{ EDXAPP_DJFS }}"
964
  CREDIT_PROVIDER_SECRET_KEYS: "{{ EDXAPP_CREDIT_PROVIDER_SECRET_KEYS }}"
965 966
  SOCIAL_AUTH_SAML_SP_PRIVATE_KEY: "{{ EDXAPP_SOCIAL_AUTH_SAML_SP_PRIVATE_KEY }}"
  SOCIAL_AUTH_SAML_SP_PUBLIC_CERT: "{{ EDXAPP_SOCIAL_AUTH_SAML_SP_PUBLIC_CERT }}"
967 968 969
  FACEBOOK_APP_ID: "{{ EDXAPP_FACEBOOK_APP_ID }}"
  FACEBOOK_APP_SECRET: "{{ EDXAPP_FACEBOOK_APP_SECRET }}"
  FACEBOOK_API_VERSION: "{{ EDXAPP_FACEBOOK_API_VERSION }}"
970
  ENTERPRISE_SERVICE_WORKER_USERNAME: "{{ EDXAPP_ENTERPRISE_SERVICE_WORKER_USERNAME }}"
971
  BRANCH_IO_KEY: "{{ EDXAPP_BRANCH_IO_KEY }}"
972

973 974 975 976
generic_cache_config: &default_generic_cache
  BACKEND:  'django.core.cache.backends.memcached.MemcachedCache'
  KEY_FUNCTION:  'util.memcache.safe_key'

977
generic_env_config:  &edxapp_generic_env
978 979
  CREDENTIALS_INTERNAL_SERVICE_URL: "{{ EDXAPP_CREDENTIALS_INTERNAL_SERVICE_URL }}"
  CREDENTIALS_PUBLIC_SERVICE_URL: "{{ EDXAPP_CREDENTIALS_PUBLIC_SERVICE_URL }}"
980
  ECOMMERCE_PUBLIC_URL_ROOT: "{{ EDXAPP_ECOMMERCE_PUBLIC_URL_ROOT }}"
981
  ECOMMERCE_API_URL: "{{ EDXAPP_ECOMMERCE_API_URL }}"
982
  ENTERPRISE_API_URL: "{{ EDXAPP_ENTERPRISE_API_URL }}"
983
  COURSE_CATALOG_API_URL: "{{ EDXAPP_COURSE_CATALOG_API_URL }}"
984 985
  COURSE_CATALOG_VISIBILITY_PERMISSION: "{{ EDXAPP_COURSE_CATALOG_VISIBILITY_PERMISSION }}"
  COURSE_ABOUT_VISIBILITY_PERMISSION: "{{ EDXAPP_COURSE_ABOUT_VISIBILITY_PERMISSION }}"
986
  DEFAULT_MOBILE_AVAILABLE: "{{ EDXAPP_DEFAULT_MOBILE_AVAILABLE }}"
987
  FINANCIAL_REPORTS: "{{ EDXAPP_FINANCIAL_REPORTS }}"
988
  ONLOAD_BEACON_SAMPLE_RATE: "{{ EDXAPP_ONLOAD_BEACON_SAMPLE_RATE }}"
989
  CORS_ORIGIN_WHITELIST: "{{ EDXAPP_CORS_ORIGIN_WHITELIST }}"
990
  CORS_ORIGIN_ALLOW_ALL: "{{ EDXAPP_CORS_ORIGIN_ALLOW_ALL }}"
991 992
  CROSS_DOMAIN_CSRF_COOKIE_DOMAIN: "{{ EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_DOMAIN }}"
  CROSS_DOMAIN_CSRF_COOKIE_NAME: "{{ EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_NAME }}"
993
  CSRF_COOKIE_SECURE: "{{ EDXAPP_CSRF_COOKIE_SECURE  }}"
994
  VIDEO_UPLOAD_PIPELINE: "{{ EDXAPP_VIDEO_UPLOAD_PIPELINE }}"
995
  DEPRECATED_ADVANCED_COMPONENT_TYPES: "{{ EDXAPP_DEPRECATED_ADVANCED_COMPONENT_TYPES }}"
996
  OAUTH_OIDC_ISSUER: "{{ EDXAPP_LMS_ISSUER }}"
997 998
  XBLOCK_FS_STORAGE_BUCKET: "{{ EDXAPP_XBLOCK_FS_STORAGE_BUCKET }}"
  XBLOCK_FS_STORAGE_PREFIX: "{{ EDXAPP_XBLOCK_FS_STORAGE_PREFIX }}"
e0d committed
999
  ANALYTICS_DASHBOARD_URL: '{{ EDXAPP_ANALYTICS_DASHBOARD_URL }}'
1000
  CELERY_BROKER_VHOST: "{{ EDXAPP_CELERY_BROKER_VHOST }}"
1001
  CELERY_BROKER_USE_SSL: "{{ EDXAPP_CELERY_BROKER_USE_SSL }}"
1002
  CELERY_EVENT_QUEUE_TTL: "{{ EDXAPP_CELERY_EVENT_QUEUE_TTL }}"
1003 1004
  PAYMENT_SUPPORT_EMAIL: "{{ EDXAPP_PAYMENT_SUPPORT_EMAIL }}"
  ZENDESK_URL: "{{ EDXAPP_ZENDESK_URL }}"
1005
  ZENDESK_CUSTOM_FIELDS: "{{ EDXAPP_ZENDESK_CUSTOM_FIELDS }}"
1006
  COURSES_WITH_UNSAFE_CODE: "{{ EDXAPP_COURSES_WITH_UNSAFE_CODE }}"
1007
  BULK_EMAIL_EMAILS_PER_TASK: "{{ EDXAPP_BULK_EMAIL_EMAILS_PER_TASK }}"
1008
  MICROSITE_ROOT_DIR: "{{ EDXAPP_MICROSITE_ROOT_DIR }}"
1009
  MICROSITE_CONFIGURATION: "{{ EDXAPP_MICROSITE_CONFIGURATION }}"
1010
  DEFAULT_FILE_STORAGE:  "{{ EDXAPP_DEFAULT_FILE_STORAGE }}"
1011
  GRADES_DOWNLOAD:
Omar Khan committed
1012 1013 1014 1015 1016
    STORAGE_CLASS: "{{ EDXAPP_GRADE_STORAGE_CLASS | default(None) }}"
    STORAGE_KWARGS: "{{ EDXAPP_GRADE_STORAGE_KWARGS | default(None) }}"
    STORAGE_TYPE: "{{ EDXAPP_GRADE_STORAGE_TYPE | default(None) }}"
    BUCKET: "{{ EDXAPP_GRADE_BUCKET | default(None) }}"
    ROOT_PATH: "{{ EDXAPP_GRADE_ROOT_PATH | default(None) }}"
1017 1018 1019 1020
  STATIC_URL_BASE: "{{ EDXAPP_STATIC_URL_BASE }}"
  STATIC_ROOT_BASE: "{{ edxapp_staticfile_dir }}"
  LMS_BASE: "{{ EDXAPP_LMS_BASE }}"
  CMS_BASE: "{{ EDXAPP_CMS_BASE }}"
1021
  LMS_ROOT_URL: "{{ EDXAPP_LMS_ROOT_URL }}"
1022
  LMS_INTERNAL_ROOT_URL: "{{ EDXAPP_LMS_INTERNAL_ROOT_URL }}"
1023
  PARTNER_SUPPORT_EMAIL: "{{ EDXAPP_PARTNER_SUPPORT_EMAIL }}"
1024
  PLATFORM_NAME: "{{ EDXAPP_PLATFORM_NAME }}"
1025
  PLATFORM_DESCRIPTION: "{{ EDXAPP_PLATFORM_DESCRIPTION }}"
1026
  ANALYTICS_DASHBOARD_NAME: "{{ EDXAPP_ANALYTICS_DASHBOARD_NAME }}"
1027
  STUDIO_NAME: "{{ EDXAPP_STUDIO_NAME }}"
Feanil Patel committed
1028
  STUDIO_SHORT_NAME: "{{ EDXAPP_STUDIO_SHORT_NAME }}"
1029
  CERT_QUEUE:  'certificates'
1030
  LOCAL_LOGLEVEL: "{{ EDXAPP_LOG_LEVEL }}"
1031
  # default email backed set to local SMTP
1032 1033
  EMAIL_BACKEND: "{{ EDXAPP_EMAIL_BACKEND }}"
  EMAIL_HOST: "{{ EDXAPP_EMAIL_HOST }}"
1034 1035
  EMAIL_PORT: "{{ EDXAPP_EMAIL_PORT }}"
  EMAIL_USE_TLS: "{{ EDXAPP_EMAIL_USE_TLS }}"
1036 1037
  AWS_SES_REGION_NAME: "{{ EDXAPP_AWS_SES_REGION_NAME }}"
  AWS_SES_REGION_ENDPOINT: "{{ EDXAPP_AWS_SES_REGION_ENDPOINT }}"
1038
  FEATURES: "{{ EDXAPP_FEATURES }}"
1039
  WIKI_ENABLED: true
1040
  SYSLOG_SERVER:  "{{ EDXAPP_SYSLOG_SERVER }}"
1041
  LOG_DIR:  "{{ COMMON_DATA_DIR }}/logs/edx"
1042
  JWT_ISSUER: "{{ EDXAPP_LMS_ISSUER }}"
1043
  JWT_EXPIRATION: '{{ EDXAPP_JWT_EXPIRATION }}'
1044 1045
  JWT_PRIVATE_SIGNING_KEY: !!null
  JWT_EXPIRED_PRIVATE_SIGNING_KEYS: []
1046 1047 1048 1049
  JWT_AUTH:
    JWT_ISSUER: "{{ EDXAPP_LMS_ISSUER }}"
    JWT_AUDIENCE: "{{ EDXAPP_JWT_AUDIENCE }}"
    JWT_SECRET_KEY: "{{ EDXAPP_JWT_SECRET_KEY }}"
1050

1051 1052 1053 1054
  #must end in slash (https://docs.djangoproject.com/en/1.4/ref/settings/#media-url)
  MEDIA_URL:  "{{ EDXAPP_MEDIA_URL }}/"
  MEDIA_ROOT: "{{ edxapp_media_dir }}/"

1055 1056 1057
  FEEDBACK_SUBMISSION_EMAIL: "{{ EDXAPP_FEEDBACK_SUBMISSION_EMAIL }}"
  TIME_ZONE: "{{ EDXAPP_TIME_ZONE }}"
  LANGUAGE_CODE: "{{ EDXAPP_LANGUAGE_CODE }}"
1058
  LANGUAGE_COOKIE: "{{ EDXAPP_LANGUAGE_COOKIE }}"
1059
  CERTIFICATE_TEMPLATE_LANGUAGES: "{{ EDXAPP_CERTIFICATE_TEMPLATE_LANGUAGES }}"
1060 1061
  MKTG_URL_LINK_MAP: "{{ EDXAPP_MKTG_URL_LINK_MAP }}"
  MKTG_URLS: "{{ EDXAPP_MKTG_URLS }}"
1062
  SUPPORT_SITE_LINK: "{{ EDXAPP_SUPPORT_SITE_LINK }}"
1063
  ACTIVATION_EMAIL_SUPPORT_LINK: "{{ EDXAPP_ACTIVATION_EMAIL_SUPPORT_LINK }}"
1064
  PASSWORD_RESET_SUPPORT_LINK: "{{ EDXAPP_PASSWORD_RESET_SUPPORT_LINK }}"
1065
  CDN_VIDEO_URLS: "{{ CDN_VIDEO_URLS }}"
1066 1067
  PERFORMANCE_GRAPHITE_URL: "{{ PERFORMANCE_GRAPHITE_URL }}"

1068
  # repo root for courses
1069
  GITHUB_REPO_ROOT: "{{ edxapp_course_data_dir }}"
1070
  CACHES:
1071 1072
    default:
      <<: *default_generic_cache
1073
      KEY_PREFIX: 'default'
1074
      LOCATION: "{{ EDXAPP_MEMCACHE }}"
1075
      VERSION: "{{ EDXAPP_DEFAULT_CACHE_VERSION }}"
1076
    general:
1077
      <<: *default_generic_cache
1078
      KEY_PREFIX:  'general'
1079
      LOCATION: "{{ EDXAPP_MEMCACHE }}"
1080
    mongo_metadata_inheritance:
1081
      <<: *default_generic_cache
1082
      KEY_PREFIX:  'mongo_metadata_inheritance'
1083
      TIMEOUT: 300
1084
      LOCATION: "{{ EDXAPP_MEMCACHE }}"
1085
    staticfiles:
1086
      <<: *default_generic_cache
John Jarvis committed
1087
      KEY_PREFIX: "{{ ansible_hostname|default('staticfiles') }}_general"
1088
      LOCATION: "{{ EDXAPP_MEMCACHE }}"
1089 1090 1091
    configuration:
      <<: *default_generic_cache
      KEY_PREFIX: "{{ ansible_hostname|default('configuration') }}"
1092
      LOCATION: "{{ EDXAPP_MEMCACHE }}"
1093
    celery:
1094
      <<: *default_generic_cache
1095
      KEY_PREFIX:  'celery'
1096
      LOCATION: "{{ EDXAPP_MEMCACHE }}"
1097
      TIMEOUT: "7200"
1098 1099 1100
    course_structure_cache:
      <<: *default_generic_cache
      KEY_PREFIX: 'course_structure'
Edward Zarecor committed
1101
      LOCATION: "{{ EDXAPP_CACHE_COURSE_STRUCTURE_MEMCACHE }}"
1102 1103
      # Default to two hours
      TIMEOUT: "7200"
1104 1105
  CELERY_BROKER_TRANSPORT: "{{ EDXAPP_CELERY_BROKER_TRANSPORT }}"
  CELERY_BROKER_HOSTNAME: "{{ EDXAPP_CELERY_BROKER_HOSTNAME }}"
1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117
  COMMENTS_SERVICE_URL: "{{ EDXAPP_COMMENTS_SERVICE_URL }}"
  LOGGING_ENV: "{{ EDXAPP_LOGGING_ENV }}"
  SESSION_COOKIE_DOMAIN:  "{{ EDXAPP_SESSION_COOKIE_DOMAIN }}"
  SESSION_COOKIE_NAME:  "{{ EDXAPP_SESSION_COOKIE_NAME }}"
  COMMENTS_SERVICE_KEY: "{{ EDXAPP_COMMENTS_SERVICE_KEY }}"
  TECH_SUPPORT_EMAIL: "{{ EDXAPP_TECH_SUPPORT_EMAIL }}"
  CONTACT_EMAIL: "{{ EDXAPP_CONTACT_EMAIL }}"
  BUGS_EMAIL: "{{ EDXAPP_BUGS_EMAIL }}"
  DEFAULT_FROM_EMAIL: "{{ EDXAPP_DEFAULT_FROM_EMAIL }}"
  DEFAULT_FEEDBACK_EMAIL: "{{ EDXAPP_DEFAULT_FEEDBACK_EMAIL }}"
  SERVER_EMAIL: "{{ EDXAPP_DEFAULT_SERVER_EMAIL }}"
  BULK_EMAIL_DEFAULT_FROM_EMAIL: "{{ EDXAPP_BULK_EMAIL_DEFAULT_FROM_EMAIL }}"
1118
  BULK_EMAIL_LOG_SENT_EMAILS: "{{ EDXAPP_BULK_EMAIL_LOG_SENT_EMAILS }}"
1119 1120 1121 1122 1123
  CAS_SERVER_URL: "{{ EDXAPP_CAS_SERVER_URL }}"
  CAS_EXTRA_LOGIN_PARAMS: "{{ EDXAPP_CAS_EXTRA_LOGIN_PARAMS }}"
  CAS_ATTRIBUTE_CALLBACK: "{{ EDXAPP_CAS_ATTRIBUTE_CALLBACK }}"
  UNIVERSITY_EMAIL: "{{ EDXAPP_UNIVERSITY_EMAIL }}"
  PRESS_EMAIL: "{{ EDXAPP_PRESS_EMAIL }}"
1124
  SOCIAL_MEDIA_FOOTER_URLS: "{{ EDXAPP_SOCIAL_MEDIA_FOOTER_URLS }}"
1125 1126
  MOBILE_STORE_URLS: "{{ EDXAPP_MOBILE_STORE_URLS }}"
  FOOTER_ORGANIZATION_IMAGE: "{{ EDXAPP_FOOTER_ORGANIZATION_IMAGE }}"
1127 1128 1129 1130 1131
  ORA2_FILE_PREFIX: "{{ EDXAPP_ORA2_FILE_PREFIX }}"
  FILE_UPLOAD_STORAGE_BUCKET_NAME: "{{ EDXAPP_FILE_UPLOAD_STORAGE_BUCKET_NAME }}"
  FILE_UPLOAD_STORAGE_PREFIX: "{{ EDXAPP_FILE_UPLOAD_STORAGE_PREFIX }}"
  VIRTUAL_UNIVERSITIES: "{{ EDXAPP_VIRTUAL_UNIVERSITIES }}"
  REGISTRATION_EXTRA_FIELDS: "{{ EDXAPP_REGISTRATION_EXTRA_FIELDS }}"
1132
  XBLOCK_SETTINGS: "{{ EDXAPP_XBLOCK_SETTINGS }}"
1133
  EDXMKTG_USER_INFO_COOKIE_NAME: "{{ EDXAPP_EDXMKTG_USER_INFO_COOKIE_NAME }}"
1134 1135
  VIDEO_IMAGE_MAX_AGE: "{{ EDXAPP_VIDEO_IMAGE_MAX_AGE }}"
  VIDEO_IMAGE_SETTINGS: "{{ EDXAPP_VIDEO_IMAGE_SETTINGS }}"
1136 1137
  VIDEO_TRANSCRIPTS_MAX_AGE: "{{ EDXAPP_VIDEO_TRANSCRIPTS_MAX_AGE }}"
  VIDEO_TRANSCRIPTS_SETTINGS: "{{ EDXAPP_VIDEO_TRANSCRIPTS_SETTINGS }}"
1138
  BLOCK_STRUCTURES_SETTINGS: "{{ EDXAPP_BLOCK_STRUCTURES_SETTINGS }}"
1139 1140

  # Deprecated, maintained for backward compatibility
1141
  COMPREHENSIVE_THEME_DIR: "{{ EDXAPP_COMPREHENSIVE_THEME_DIR }}"
1142 1143

  COMPREHENSIVE_THEME_DIRS: "{{ EDXAPP_COMPREHENSIVE_THEME_DIRS }}"
1144
  COMPREHENSIVE_THEME_LOCALE_PATHS: "{{ EDXAPP_COMPREHENSIVE_THEME_LOCALE_PATHS }}"
1145
  ENABLE_COMPREHENSIVE_THEMING: "{{ EDXAPP_ENABLE_COMPREHENSIVE_THEMING }}"
1146
  DEFAULT_SITE_THEME: "{{ EDXAPP_DEFAULT_SITE_THEME }}"
1147
  SESSION_SAVE_EVERY_REQUEST: "{{ EDXAPP_SESSION_SAVE_EVERY_REQUEST }}"
1148
  SOCIAL_SHARING_SETTINGS: "{{ EDXAPP_SOCIAL_SHARING_SETTINGS }}"
1149
  SESSION_COOKIE_SECURE: "{{ EDXAPP_SESSION_COOKIE_SECURE }}"
1150 1151 1152 1153 1154
  CODE_JAIL:
    # from https://github.com/edx/codejail/blob/master/codejail/django_integration.py#L24, '' should be same as None
    python_bin: '{% if EDXAPP_PYTHON_SANDBOX %}{{ edxapp_sandbox_venv_dir }}/bin/python{% endif %}'
    limits: "{{ EDXAPP_CODE_JAIL_LIMITS }}"
    user: '{{ edxapp_sandbox_user }}'
1155
  AFFILIATE_COOKIE_NAME: "{{ EDXAPP_AFFILIATE_COOKIE_NAME }}"
1156
  ELASTIC_SEARCH_CONFIG: "{{ EDXAPP_ELASTIC_SEARCH_CONFIG }}"
1157 1158
  PLATFORM_TWITTER_ACCOUNT: "{{ EDXAPP_PLATFORM_TWITTER_ACCOUNT }}"
  PLATFORM_FACEBOOK_ACCOUNT: "{{ EDXAPP_PLATFORM_FACEBOOK_ACCOUNT }}"
1159
  HELP_TOKENS_BOOKS: "{{ EDXAPP_HELP_TOKENS_BOOKS }}"
Edward Zarecor committed
1160
  # License for serving content in China
1161
  ICP_LICENSE: "{{ EDXAPP_ICP_LICENSE }}"
1162 1163
  # Base Cookie Domain to share cookie across edx domains
  BASE_COOKIE_DOMAIN: "{{ EDXAPP_BASE_COOKIE_DOMAIN }}"
1164

Alex Dusenbery committed
1165
  POLICY_CHANGE_GRADES_ROUTING_KEY: "{{ EDXAPP_POLICY_CHANGE_GRADES_ROUTING_KEY }}"
1166
  PROCTORING_SETTINGS: "{{ EDXAPP_PROCTORING_SETTINGS }}"
1167
  EXTRA_MIDDLEWARE_CLASSES: "{{ EDXAPP_EXTRA_MIDDLEWARE_CLASSES }}"
Alex Dusenbery committed
1168

1169 1170
lms_auth_config:
  <<: *edxapp_generic_auth
1171
  SEGMENT_KEY: "{{ EDXAPP_LMS_SEGMENT_KEY }}"
1172 1173 1174 1175
  OPTIMIZELY_PROJECT_ID: "{{ EDXAPP_OPTIMIZELY_PROJECT_ID }}"
  EDX_API_KEY: "{{ EDXAPP_EDX_API_KEY }}"
  VERIFY_STUDENT: "{{ EDXAPP_VERIFY_STUDENT }}"
  GOOGLE_ANALYTICS_LINKEDIN: "{{ EDXAPP_GOOGLE_ANALYTICS_LINKEDIN }}"
1176
  GOOGLE_ANALYTICS_TRACKING_ID: "{{ EDXAPP_GOOGLE_ANALYTICS_TRACKING_ID }}"
1177 1178 1179
  CC_PROCESSOR_NAME: "{{ EDXAPP_CC_PROCESSOR_NAME }}"
  CC_PROCESSOR: "{{ EDXAPP_CC_PROCESSOR }}"
  TRACKING_SEGMENTIO_WEBHOOK_SECRET: "{{ EDXAPP_TRACKING_SEGMENTIO_WEBHOOK_SECRET }}"
1180
  PROFILE_IMAGE_SECRET_KEY: "{{ EDXAPP_PROFILE_IMAGE_SECRET_KEY }}"
1181 1182 1183 1184
  MODULESTORE:
    default:
        ENGINE: 'xmodule.modulestore.mixed.MixedModuleStore'
        OPTIONS:
1185
          mappings: {}
1186 1187 1188
          stores:
            - NAME: 'split'
              ENGINE: 'xmodule.modulestore.split_mongo.split_draft.DraftVersioningModuleStore'
1189
              DOC_STORE_CONFIG: "{{ EDXAPP_LMS_SPLIT_DOC_STORE_CONFIG }}"
1190 1191 1192 1193 1194 1195
              OPTIONS:
                default_class: 'xmodule.hidden_module.HiddenDescriptor'
                fs_root:  "{{ edxapp_course_data_dir }}"
                render_template: 'edxmako.shortcuts.render_to_string'
            - NAME: 'draft'
              ENGINE: 'xmodule.modulestore.mongo.DraftMongoModuleStore'
1196
              DOC_STORE_CONFIG: "{{ EDXAPP_LMS_DRAFT_DOC_STORE_CONFIG }}"
1197 1198 1199 1200
              OPTIONS:
                default_class: 'xmodule.hidden_module.HiddenDescriptor'
                fs_root:  "{{ edxapp_course_data_dir }}"
                render_template: 'edxmako.shortcuts.render_to_string'
1201
  PROCTORING_BACKEND_PROVIDER: "{{ EDXAPP_PROCTORING_BACKEND_PROVIDER }}"
1202
  SOCIAL_AUTH_OAUTH_SECRETS: "{{ EDXAPP_SOCIAL_AUTH_OAUTH_SECRETS }}"
1203 1204
  ACE_CHANNEL_SAILTHRU_API_KEY: "{{ EDXAPP_ACE_CHANNEL_SAILTHRU_API_KEY }}"
  ACE_CHANNEL_SAILTHRU_API_SECRET: "{{ EDXAPP_ACE_CHANNEL_SAILTHRU_API_SECRET }}"
1205
  ENTERPRISE_REPORTING_SECRET: "{{ EDXAPP_ENTERPRISE_REPORTING_SECRET }}"
1206

1207

1208 1209
lms_env_config:
  <<: *edxapp_generic_env
1210
  OAUTH_ENFORCE_SECURE: "{{ EDXAPP_OAUTH_ENFORCE_SECURE }}"
1211 1212
  OAUTH_EXPIRE_CONFIDENTIAL_CLIENT_DAYS: "{{ EDXAPP_OAUTH_EXPIRE_CONFIDENTIAL_CLIENT_DAYS }}"
  OAUTH_EXPIRE_PUBLIC_CLIENT_DAYS: "{{ EDXAPP_OAUTH_EXPIRE_PUBLIC_CLIENT_DAYS }}"
1213
  OAUTH_DELETE_EXPIRED: "{{ EDXAPP_OAUTH_DELETE_EXPIRED }}"
1214
  PAID_COURSE_REGISTRATION_CURRENCY: "{{ EDXAPP_PAID_COURSE_REGISTRATION_CURRENCY }}"
1215
  GIT_REPO_DIR: "{{ EDXAPP_GIT_REPO_DIR }}"
1216 1217
  SITE_NAME:  "{{ EDXAPP_LMS_SITE_NAME }}"
  VIDEO_CDN_URL: "{{ EDXAPP_VIDEO_CDN_URLS }}"
1218 1219 1220 1221 1222 1223
  PDF_RECEIPT_TAX_ID: "{{ EDXAPP_PDF_RECEIPT_TAX_ID }}"
  PDF_RECEIPT_FOOTER_TEXT: "{{ EDXAPP_PDF_RECEIPT_FOOTER_TEXT }}"
  PDF_RECEIPT_DISCLAIMER_TEXT: "{{ EDXAPP_PDF_RECEIPT_DISCLAIMER_TEXT }}"
  PDF_RECEIPT_BILLING_ADDRESS: "{{ EDXAPP_PDF_RECEIPT_BILLING_ADDRESS }}"
  PDF_RECEIPT_TERMS_AND_CONDITIONS: "{{ EDXAPP_PDF_RECEIPT_TERMS_AND_CONDITIONS }}"
  PDF_RECEIPT_TAX_ID_LABEL: "{{ EDXAPP_PDF_RECEIPT_TAX_ID_LABEL }}"
Feanil Patel committed
1224
  PDF_RECEIPT_COBRAND_LOGO_PATH: "{{ EDXAPP_PDF_RECEIPT_COBRAND_LOGO_PATH }}"
1225
  PDF_RECEIPT_LOGO_PATH: "{{ EDXAPP_PDF_RECEIPT_LOGO_PATH }}"
1226
  PROFILE_IMAGE_BACKEND: "{{ EDXAPP_PROFILE_IMAGE_BACKEND }}"
1227 1228
  PROFILE_IMAGE_MIN_BYTES: "{{ EDXAPP_PROFILE_IMAGE_MIN_BYTES }}"
  PROFILE_IMAGE_MAX_BYTES: "{{ EDXAPP_PROFILE_IMAGE_MAX_BYTES }}"
1229
  PROFILE_IMAGE_SIZES_MAP: "{{ EDXAPP_PROFILE_IMAGE_SIZES_MAP }}"
1230 1231
  EDXNOTES_PUBLIC_API: "{{ EDXAPP_EDXNOTES_PUBLIC_API }}"
  EDXNOTES_INTERNAL_API: "{{ EDXAPP_EDXNOTES_INTERNAL_API }}"
1232
  LTI_USER_EMAIL_DOMAIN: "{{ EDXAPP_LTI_USER_EMAIL_DOMAIN }}"
1233
  LTI_AGGREGATE_SCORE_PASSBACK_DELAY: "{{ EDXAPP_LTI_AGGREGATE_SCORE_PASSBACK_DELAY }}"
1234
  CREDIT_HELP_LINK_URL: "{{ EDXAPP_CREDIT_HELP_LINK_URL }}"
1235
  MAILCHIMP_NEW_USER_LIST_ID: "{{ EDXAPP_MAILCHIMP_NEW_USER_LIST_ID }}"
1236
  CONTACT_MAILING_ADDRESS: "{{ EDXAPP_CONTACT_MAILING_ADDRESS }}"
1237
  AUDIT_CERT_CUTOFF_DATE: "{{ EDXAPP_AUDIT_CERT_CUTOFF_DATE }}"
1238 1239
  API_ACCESS_MANAGER_EMAIL: "{{ EDXAPP_API_ACCESS_MANAGER_EMAIL }}"
  API_ACCESS_FROM_EMAIL: "{{ EDXAPP_API_ACCESS_FROM_EMAIL }}"
1240 1241
  API_DOCUMENTATION_URL: "{{ EDXAPP_API_DOCUMENTATION_URL }}"
  AUTH_DOCUMENTATION_URL: "{{ EDXAPP_AUTH_DOCUMENTATION_URL }}"
1242
  RECALCULATE_GRADES_ROUTING_KEY: "{{ EDXAPP_RECALCULATE_GRADES_ROUTING_KEY }}"
1243
  BULK_EMAIL_ROUTING_KEY_SMALL_JOBS: "{{ EDXAPP_BULK_EMAIL_ROUTING_KEY_SMALL_JOBS }}"
1244
  CELERY_QUEUES: "{{ EDXAPP_LMS_CELERY_QUEUES }}"
1245
  ALTERNATE_WORKER_QUEUES: "cms"
1246
  ENTERPRISE_COURSE_ENROLLMENT_AUDIT_MODES: "{{ EDXAPP_ENTERPRISE_COURSE_ENROLLMENT_AUDIT_MODES }}"
1247 1248
  PASSWORD_MIN_LENGTH: "{{ EDXAPP_PASSWORD_MIN_LENGTH }}"
  PASSWORD_MAX_LENGTH: "{{ EDXAPP_PASSWORD_MAX_LENGTH }}"
1249
  ENTERPRISE_ENROLLMENT_API_URL: "{{ EDXAPP_ENTERPRISE_ENROLLMENT_API_URL }}"
1250
  ENTERPRISE_SUPPORT_URL: "{{ EDXAPP_ENTERPRISE_SUPPORT_URL }}"
1251
  PARENTAL_CONSENT_AGE_LIMIT: "{{ EDXAPP_PARENTAL_CONSENT_AGE_LIMIT }}"
1252 1253 1254 1255 1256
  ACE_ENABLED_CHANNELS: "{{ EDXAPP_ACE_ENABLED_CHANNELS }}"
  ACE_ENABLED_POLICIES: "{{ EDXAPP_ACE_ENABLED_POLICIES }}"
  ACE_CHANNEL_SAILTHRU_DEBUG: "{{ EDXAPP_ACE_CHANNEL_SAILTHRU_DEBUG }}"
  ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME: "{{ EDXAPP_ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME }}"
  ACE_ROUTING_KEY: "{{ EDXAPP_ACE_ROUTING_KEY }}"
1257
  ENTERPRISE_TAGLINE: "{{ EDXAPP_ENTERPRISE_TAGLINE }}"
1258

1259 1260
cms_auth_config:
  <<: *edxapp_generic_auth
1261
  SEGMENT_KEY: "{{ EDXAPP_CMS_SEGMENT_KEY }}"
1262 1263 1264
  MODULESTORE:
    default:
        ENGINE: 'xmodule.modulestore.mixed.MixedModuleStore'
John Jarvis committed
1265
        OPTIONS:
1266
          mappings: {}
1267
          stores:
1268 1269
            - NAME: 'split'
              ENGINE: 'xmodule.modulestore.split_mongo.split_draft.DraftVersioningModuleStore'
1270
              DOC_STORE_CONFIG: "{{ EDXAPP_CMS_DOC_STORE_CONFIG }}"
1271 1272 1273 1274 1275 1276
              OPTIONS:
                default_class: 'xmodule.hidden_module.HiddenDescriptor'
                fs_root:  "{{ edxapp_course_data_dir }}"
                render_template: 'edxmako.shortcuts.render_to_string'
            - NAME: 'draft'
              ENGINE: 'xmodule.modulestore.mongo.DraftMongoModuleStore'
1277
              DOC_STORE_CONFIG: "{{ EDXAPP_CMS_DOC_STORE_CONFIG }}"
1278 1279 1280 1281
              OPTIONS:
                default_class: 'xmodule.hidden_module.HiddenDescriptor'
                fs_root:  "{{ edxapp_course_data_dir }}"
                render_template: 'edxmako.shortcuts.render_to_string'
1282
  PARSE_KEYS: "{{ EDXAPP_PARSE_KEYS }}"
1283

1284 1285
cms_env_config:
  <<: *edxapp_generic_env
1286
  SITE_NAME:  "{{ EDXAPP_CMS_SITE_NAME }}"
Nilesh Londhe committed
1287
  GIT_REPO_EXPORT_DIR: "{{ EDXAPP_GIT_REPO_EXPORT_DIR }}"
1288
  CELERY_QUEUES: "{{ EDXAPP_CMS_CELERY_QUEUES }}"
1289
  ALTERNATE_WORKER_QUEUES: "lms"
1290
  COURSE_IMPORT_EXPORT_BUCKET: "{{ EDXAPP_IMPORT_EXPORT_BUCKET }}"
1291

1292
# install dir for the edx-platform repo
1293
edxapp_code_dir: "{{ edxapp_app_dir }}/edx-platform"
1294

1295

1296
# gunicorn ports/hosts, these shouldn't need to be overridden
1297
edxapp_cms_gunicorn_port: 8010
1298
edxapp_cms_gunicorn_host: 127.0.0.1
1299
edxapp_lms_gunicorn_port: 8000
1300
edxapp_lms_gunicorn_host: 127.0.0.1
1301

1302 1303 1304
# These vars are for creating the application json config
# files.  There are two for each service that uses the
# 'edx-platform' code.  Defining them will create the upstart
1305
# job.  It will also enable the corresponding section in the
1306 1307
# 'edxapp' upstart job.

1308
service_variants_enabled:
1309 1310
  - lms
  - cms
1311

hikari-boulders committed
1312
#Number of gunicorn worker processes to spawn, as a multiplier to number of virtual cores
1313 1314 1315 1316
worker_core_mult:
  lms: 4
  cms: 2

1317
# Stanford-style Theming
David Baumgold committed
1318
# Set theme name with edxapp_theme_name
John Jarvis committed
1319 1320
# Stanford, for example, uses edxapp_theme_name: 'stanford'
#
1321
# TODO: change variables to ALL-CAPS, since they are meant to be externally overridden
1322
edxapp_theme_name: ""
1323
edxapp_theme_source_repo: 'https://{{ COMMON_GIT_MIRROR }}/Stanford-Online/edx-theme.git'
1324
edxapp_theme_version: 'master'
1325 1326

# make this the public URL instead of writable
1327
edx_platform_repo: "https://{{ COMMON_GIT_MIRROR }}/edx/edx-platform.git"
1328
# `edx_platform_version` can be anything that git recognizes as a commit
1329
# reference, including a tag, a branch name, or a commit hash
1330
edx_platform_version: 'release'
1331
pre_requirements_file:    "{{ edxapp_code_dir }}/requirements/edx/pre.txt"
1332
github_requirements_file: "{{ edxapp_code_dir }}/requirements/edx/github.txt"
1333
custom_requirements_file:   "{{ edxapp_code_dir }}/requirements/edx/custom.txt"
1334 1335
local_requirements_file:  "{{ edxapp_code_dir }}/requirements/edx/local.txt"
base_requirements_file:   "{{ edxapp_code_dir }}/requirements/edx/base.txt"
1336
django_requirements_file:   "{{ edxapp_code_dir }}/requirements/edx/django.txt"
1337
post_requirements_file:   "{{ edxapp_code_dir }}/requirements/edx/post.txt"
1338
paver_requirements_file:   "{{ edxapp_code_dir }}/requirements/edx/paver.txt"
1339
private_requirements_file:   "{{ edxapp_code_dir }}/requirements/edx/edx-private.txt"
Jason Bau committed
1340

1341 1342 1343
sandbox_base_requirements:  "{{ edxapp_code_dir }}/requirements/edx-sandbox/base.txt"
sandbox_local_requirements: "{{ edxapp_code_dir }}/requirements/edx-sandbox/local.txt"
sandbox_post_requirements:  "{{ edxapp_code_dir }}/requirements/edx-sandbox/post.txt"
1344

1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355
# The Python requirements files in the order they should be installed.  This order should
# match the order of PYTHON_REQ_FILES in edx-platform/pavelib/prereqs.py.  (Also check the
# edx-solutions fork of edx-platform when if you consider reordering this list.)
# private_requirements_file is not included in this list, since it is only installed
# conditionally based on the value of EDXAPP_INSTALL_PRIVATE_REQUIREMENTS.
edxapp_requirements_files:
  - "{{ pre_requirements_file }}"
  - "{{ github_requirements_file }}"
  - "{{ custom_requirements_file }}"
  - "{{ local_requirements_file }}"
  - "{{ base_requirements_file }}"
1356
  - "{{ django_requirements_file }}"
1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374
  - "{{ post_requirements_file }}"
  - "{{ paver_requirements_file }}"

# All edxapp requirements files potentially containing Github URLs.  When using a custom
# Github mirror, occurrences of "github.com" are replaced by the custom mirror in these
# files.
edxapp_requirements_with_github_urls:
  - "{{ pre_requirements_file }}"
  - "{{ github_requirements_file }}"
  - "{{ custom_requirements_file }}"
  - "{{ base_requirements_file }}"
  - "{{ post_requirements_file }}"
  - "{{ paver_requirements_file }}"
  - "{{ private_requirements_file }}"
  - "{{ sandbox_post_requirements }}"
  - "{{ sandbox_local_requirements }}"
  - "{{ sandbox_base_requirements }}"

1375 1376
edxapp_chrislea_ppa: "ppa:chris-lea/node.js"

1377
edxapp_debian_pkgs_default:
John Jarvis committed
1378 1379 1380 1381
  # for compiling the virtualenv
  # (only needed if wheel files aren't available)
  - s3cmd
  - pkg-config
John Jarvis committed
1382 1383 1384
  # for scipy, do not install
  # libopenblas-base, it will cause
  # problems for numpy
John Jarvis committed
1385 1386 1387 1388 1389 1390
  - g++
  # apparmor
  - apparmor-utils
  # misc
  - curl
  - ipython
1391
  - nodejs
1392
  - ntp
Han Su Kim committed
1393 1394
  # matplotlib needs libfreetype6-dev
  - libfreetype6-dev
1395 1396
  # cffi needs libffi-dev
  - libffi-dev
1397 1398
  - python-dev
  - libsqlite3-dev
John Jarvis committed
1399

1400 1401
edxapp_debian_pkgs_extra: []

1402
# Deploy Specific Vars
1403 1404
edxapp_lms_variant: lms
edxapp_cms_variant: cms
1405

1406
# Worker Settings
Omar Khan committed
1407
worker_django_settings_module: '{{ EDXAPP_SETTINGS }}'
1408 1409 1410 1411 1412 1413 1414

# Add default service worker users
SERVICE_WORKER_USERS:
  - email: "{{ EDXAPP_ENTERPRISE_SERVICE_WORKER_EMAIL }}"
    username: "{{ EDXAPP_ENTERPRISE_SERVICE_WORKER_USERNAME }}"
    is_staff: true
    is_superuser: false