Permalink
Cannot retrieve contributors at this time
1914 lines (1669 sloc)
79 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
configuration/playbooks/roles/edxapp/defaults/main.yml
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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.8" | |
# 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 | |
# 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: '' | |
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.MemcachedCache' | |
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" # Commented out to ensure secure defaults | |
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: "billing@example.com" | |
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: "api-access@example.com" | |
EDXAPP_API_ACCESS_FROM_EMAIL: "api-requests@example.com" | |
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_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: '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' | |
EDXAPP_DEFAULT_SERVER_EMAIL: 'sre@example.com' | |
EDXAPP_BULK_EMAIL_DEFAULT_FROM_EMAIL: 'no-reply@example.com' | |
EDXAPP_BULK_EMAIL_LOG_SENT_EMAILS: false | |
EDXAPP_UNIVERSITY_EMAIL: 'university@example.com' | |
EDXAPP_PRESS_EMAIL: 'press@example.com' | |
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 }}' | |
EDXAPP_JWT_AUTH_REFRESH_COOKIE: '{{ COMMON_JWT_AUTH_REFRESH_COOKIE }}' | |
# 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', '$'] | |
# Configure paver tasks in edx-platform to skip Python/Ruby/Node installation | |
EDXAPP_NO_PREREQ_INSTALL: 1 | |
# 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 | |
EDXAPP_PRIVATE_REQUIREMENTS: | |
# For Harvard courses: | |
- name: xblock-problem-builder==5.1.0 | |
# 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@a45a6560c92b6d8b62be1f939ff1d00dfff84e70#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/ubcpi.git@1.0.0#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: git+https://github.com/openedx/xblock-qualtrics-survey.git@02d87f567ec2af4579642cf795bb851507d6edf9#egg=xblock_qualtrics_survey | |
extra_args: -e | |
- 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-submit-and-compare@8f0b3279f36e25aff8cce3f0b1793b9f19dc8729#egg=xblock-submit-and-compare | |
extra_args: -e | |
- name: git+https://github.com/openedx/xblock-free-text-response@83a389e0a4b0a464e5d1e4a4a201678aed5eee9a#egg=xblock-free-text-response | |
extra_args: -e | |
- name: git+https://github.com/openedx/xblock-sql-grader@5257b4a1aa07aa572fd3865647d91d0628f0cbd3#egg=xblock-sql-grader | |
extra_args: -e | |
- name: git+https://github.com/openedx/xblock-image-modal@bef91413447e15570863ab08316a04c0b546b268#egg=xblock-image-modal | |
extra_args: -e | |
# XBlocks associated with the LabXchange project | |
- name: git+https://github.com/open-craft/labxchange-xblocks.git@a0a8a8dad13199014d4bb29cee416289880bde0b#egg=labxchange-xblocks | |
extra_args: -e | |
# "Pathways" learning context plugin for the LabXchange project | |
- name: git+https://github.com/open-craft/lx-pathway-plugin.git@ba1d470217cd5908cbd8b56075628bd4eacf7b39#egg=lx-pathway-plugin | |
extra_args: -e | |
# Caliper and xAPI event routing plugin | |
- name: edx-event-routing-backends==4.1.1 | |
# 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_NEWRELIC_LMS_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-edxapp-lms" | |
EDXAPP_NEWRELIC_CMS_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-edxapp-cms" | |
EDXAPP_NEWRELIC_WORKERS_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-edxapp-workers" | |
EDXAPP_LMS_ENABLE_NEWRELIC_DISTRIBUTED_TRACING: false | |
EDXAPP_CMS_ENABLE_NEWRELIC_DISTRIBUTED_TRACING: false | |
EDXAPP_WORKERS_ENABLE_NEWRELIC_DISTRIBUTED_TRACING: false | |
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.s3boto.S3BotoStorage | |
# 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: "retirement_worker@example.com" | |
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_DEMOGRAPHICS" | |
- "DEMOGRAPHICS_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: "discovery_worker@example.com" | |
DISCOVERY_SERVICE_USER_NAME: "discovery_worker" | |
# Configuration needed for LMS to communicate with the Ecommerce service | |
ECOMMERCE_SERVICE_USER_EMAIL: "ecommerce_worker@example.com" | |
ECOMMERCE_SERVICE_USER_NAME: "ecommerce_worker" | |
# Configuration needed for LMS to communicate with the Studio service | |
EDXAPP_CMS_SERVICE_USER_EMAIL: "edxapp_cms_worker@example.com" | |
EDXAPP_CMS_SERVICE_USER_NAME: "edxapp_cms_worker" | |
# Configuration needed for LMS to communicate with the Credentials service | |
CREDENTIALS_SERVICE_USER_EMAIL: "credentials_worker@example.com" | |
CREDENTIALS_SERVICE_USER_NAME: "credentials_worker" | |
# Configuration needed for LMS to communicate with the Insights service | |
INSIGHTS_SERVICE_USER_EMAIL: "insights_worker@example.com" | |
INSIGHTS_SERVICE_USER_NAME: "insights_worker" | |
# Configuration needed for LMS to communicate with the Credentials service | |
REGISTRAR_SERVICE_USER_EMAIL: "registrar_worker@example.com" | |
REGISTRAR_SERVICE_USER_NAME: "registrar_worker" | |
# Configuration needed for LMS to communicate with the Designer service | |
DESIGNER_SERVICE_USER_EMAIL: "designer_worker@example.com" | |
DESIGNER_SERVICE_USER_NAME: "designer_worker" | |
# Configuration needed for LMS to communicate with the License Manager service | |
LICENSE_MANAGER_SERVICE_USER_EMAIL: "license_manager_worker@example.com" | |
LICENSE_MANAGER_SERVICE_USER_NAME: "license_manager_worker" | |
# Configuration needed for LMS to communicate with the Commerce Coordinator service | |
COMMERCE_COORDINATOR_SERVICE_USER_EMAIL: "commerce_coordinator_worker@example.com" | |
COMMERCE_COORDINATOR_SERVICE_USER_NAME: "commerce_coordinator_worker" | |
ENTERPRISE_CATALOG_SERVICE_USER_EMAIL: "enterprise_catalog_worker@example.com" | |
ENTERPRISE_CATALOG_SERVICE_USER_NAME: "enterprise_catalog_worker" | |
# Configuration settings needed for the LMS to communicate with the Enterprise service. | |
EDXAPP_ENTERPRISE_API_URL: "{{ EDXAPP_LMS_INTERNAL_ROOT_URL }}/enterprise/api/v1" | |
EDXAPP_ENTERPRISE_SERVICE_WORKER_EMAIL: "enterprise_worker@example.com" | |
EDXAPP_ENTERPRISE_SERVICE_WORKER_USERNAME: "enterprise_worker" | |
EDXAPP_VEDA_SERVICE_CLIENT_NAME: "veda" | |
EDXAPP_VEDA_SERVICE_API_URL: "{{ EDXAPP_LMS_BASE_SCHEME | default('https') }}://veda-{{ EDXAPP_LMS_BASE }}/api/" | |
EDXAPP_VEDA_SERVICE_USER_EMAIL: "veda_service_user@example.com" | |
EDXAPP_VEDA_SERVICE_USER_NAME: "veda_service_user" | |
EDXAPP_ENTERPRISE_COURSE_ENROLLMENT_AUDIT_MODES: | |
- audit | |
- honor | |
EDXAPP_ENTERPRISE_CUSTOMER_SUCCESS_EMAIL: "customersuccess@edx.org" | |
EDXAPP_ENTERPRISE_INTEGRATIONS_EMAIL: "enterprise-integrations@edx.org" | |
EDXAPP_ENTERPRISE_ENROLLMENT_API_URL: "{{ EDXAPP_LMS_INTERNAL_ROOT_URL }}/api/enrollment/v1/" | |
EDXAPP_ENTERPRISE_SUPPORT_URL: '' | |
EDXAPP_ENTERPRISE_TAGLINE: '' | |
# The assigned ICP license number for display in the platform footer | |
EDXAPP_ICP_LICENSE: !!null | |
EDXAPP_ICP_LICENSE_INFO: {} | |
# Base Cookie Domain to share cookie across edx domains | |
EDXAPP_BASE_COOKIE_DOMAIN: "{{ EDXAPP_LMS_SITE_NAME }}" | |
# Account password configuration | |
EDXAPP_AUTH_PASSWORD_VALIDATORS: | |
- NAME: 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator' | |
- NAME: 'common.djangoapps.util.password_policy_validators.MinimumLengthValidator' | |
OPTIONS: | |
min_length: 2 | |
- NAME: 'common.djangoapps.util.password_policy_validators.MaximumLengthValidator' | |
OPTIONS: | |
max_length: 75 | |
# The age at which a learner no longer requires parental consent, or None | |
EDXAPP_PARENTAL_CONSENT_AGE_LIMIT: 13 | |
# Scorm Xblock configurations | |
EDXAPP_SCORM_PKG_STORAGE_DIR: !!null | |
EDXAPP_SCORM_PLAYER_LOCAL_STORAGE_ROOT: !!null | |
# maintenance banner message (only actually enabled via waffle switch) | |
EDXAPP_MAINTENANCE_BANNER_TEXT: "Sample banner message" | |
EDXAPP_PASSWORD_POLICY_COMPLIANCE_ROLLOUT_CONFIG: | |
ENFORCE_COMPLIANCE_ON_LOGIN: false | |
# Needed to link the LMS instructor dashboard to the writable gradebook micro-frontend | |
EDXAPP_LMS_WRITABLE_GRADEBOOK_URL: null | |
# Needed to link to the new profile micro-frontend. | |
EDXAPP_PROFILE_MICROFRONTEND_URL: null | |
# Needed to link to the new order history micro-frontend. | |
EDXAPP_ORDER_HISTORY_MICROFRONTEND_URL: null | |
# Needed to link to the new account micro-frontend. | |
EDXAPP_ACCOUNT_MICROFRONTEND_URL: null | |
# Needed to link to the program console micro-frontend. | |
EDXAPP_PROGRAM_CONSOLE_MICROFRONTEND_URL: null | |
# Needed to link to the learning micro-frontend. | |
EDXAPP_LEARNING_MICROFRONTEND_URL: null | |
# Needed to link to the course-authoring micro-frontend | |
EDXAPP_COURSE_AUTHORING_MICROFRONTEND_URL: null | |
# Remote config | |
EDXAPP_HERMES_ENABLED: "{{ COMMON_HERMES_ENABLED }}" | |
EDXAPP_ENABLE_LEGACY_JSON_CONFIGS: false | |
EDXAPP_DECRYPT_CONFIG_ENABLED: "{{ COMMON_DECRYPT_CONFIG_ENABLED }}" | |
EDXAPP_COPY_CONFIG_ENABLED: "{{ COMMON_COPY_CONFIG_ENABLED }}" | |
# Dashboard courses default limit | |
EDXAPP_DASHBOARD_COURSE_LIMIT: null | |
# Completion Aggregator URL needed for progress bar | |
EDXAPP_COMPLETION_AGGREGATOR_URL: null | |
#-------- Everything below this line is internal to the role ------------ | |
#Use YAML references (& and *) and hash merge <<: to factor out shared settings | |
#see http://atechie.net/2009/07/merging-hashes-in-yaml-conf-files/ | |
edxapp_data_dir: "{{ COMMON_DATA_DIR }}/edxapp" | |
edxapp_app_dir: "{{ COMMON_APP_DIR }}/edxapp" | |
edxapp_log_dir: "{{ COMMON_LOG_DIR }}/edx" | |
edxapp_venvs_dir: "{{ edxapp_app_dir }}/venvs" | |
edxapp_venv_dir: "{{ edxapp_venvs_dir }}/edxapp" | |
edxapp_venv_bin: "{{ edxapp_venv_dir }}/bin" | |
edxapp_nodeenv_dir: "{{ edxapp_app_dir }}/nodeenvs/edxapp" | |
edxapp_nodeenv_bin: "{{ edxapp_nodeenv_dir }}/bin" | |
edxapp_npm_dir: "{{ edxapp_app_dir }}/.npm" | |
edxapp_npm_bin: "{{ edxapp_npm_dir }}/bin" | |
edxapp_settings: '{{ EDXAPP_SETTINGS }}' | |
EDXAPP_NODE_VERSION: "16" | |
EDXAPP_NPM_VERSION: "8.5.0" | |
# This is where node installs modules, not node itself | |
edxapp_node_bin: "{{ edxapp_code_dir }}/node_modules/.bin" | |
edxapp_user: edxapp | |
edxapp_user_createhome: 'no' | |
edxapp_user_shell: '/bin/false' | |
edxapp_deploy_path: "{{ edxapp_venv_bin }}:{{ edxapp_code_dir }}/bin:{{ edxapp_npm_bin }}:{{ edxapp_node_bin }}:{{ edxapp_nodeenv_bin }}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" | |
edxapp_staticfile_dir: "{{ edxapp_data_dir }}/staticfiles" | |
edxapp_media_dir: "{{ edxapp_data_dir }}/media" | |
edxapp_media_dir_s3: "{{ edxapp_media_dir | regex_replace('^\\/', '') }}" | |
edxapp_video_storage_location: "{% if EDXAPP_DEFAULT_FILE_STORAGE == 'django.core.files.storage.FileSystemStorage' %}{{ edxapp_media_dir }}{% else %}{{ edxapp_media_dir_s3 }}{% endif %}/" | |
edxapp_course_static_dir: "{{ edxapp_data_dir }}/course_static" | |
edxapp_course_data_dir: "{{ edxapp_data_dir }}/data" | |
edxapp_upload_dir: "{{ edxapp_data_dir }}/uploads" | |
edxapp_theme_dir: "{{ edxapp_data_dir }}/themes" | |
edxapp_git_identity: "{{ edxapp_app_dir }}/edxapp-git-identity" | |
edxapp_git_ssh: "/tmp/edxapp_git_ssh.sh" | |
edxapp_studio_cfg: "{{ COMMON_CFG_DIR }}/studio.yml" | |
edxapp_lms_cfg: "{{ COMMON_CFG_DIR }}/lms.yml" | |
edxapp_revision_cfg: "{{ COMMON_CFG_DIR }}/revisions.yml" | |
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" | |
edxapp_workers: "{{ EDXAPP_CELERY_WORKERS }}" | |
EDXAPP_WORKER_DEFAULT_STOPWAITSECS: 432000 | |
# 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 | |
EDXAPP_SANDBOX_PYTHON_VERSION: "{{ EDXAPP_PYTHON_VERSION }}" | |
edxapp_sandbox_python_version: "{{ EDXAPP_SANDBOX_PYTHON_VERSION }}" | |
# apparmor command | |
edxapp_aa_command: "{% if EDXAPP_SANDBOX_ENFORCE %}aa-enforce{% else %}aa-complain{% endif %}" | |
# TODO: old style variable syntax is necessary | |
# for lists and dictionaries | |
edxapp_helper_scripts: | |
- edxapp-migrate | |
- edxapp-runserver | |
- edxapp-shell | |
edxapp_environment_default: | |
LANG: "{{ EDXAPP_LANG }}" | |
NO_PREREQ_INSTALL: "{{ EDXAPP_NO_PREREQ_INSTALL }}" | |
SKIP_WS_MIGRATIONS: 1 | |
PATH: "{{ edxapp_deploy_path }}" | |
# the settings module for edxapp, DJANGO_SETTINGS_MODULE | |
# should be set to {{SERVICE_VARIANT}}.{{EDXAPP_SETTINGS}} | |
# where SERVICE_VARIANT is lms or cms | |
EDX_PLATFORM_SETTINGS: "{{ EDXAPP_SETTINGS }}" | |
# 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 }}" | |
LMS_CFG: "{{ edxapp_lms_cfg }}" | |
STUDIO_CFG: "{{ edxapp_studio_cfg }}" | |
BOTO_CONFIG: "{{ edxapp_app_dir }}/.boto" | |
REVISION_CFG: "{{ edxapp_revision_cfg }}" | |
NODE_PATH: "{{ edxapp_npm_dir }}/lib/modules:/usr/lib/node_modules" | |
MANPATH: "{{ edxapp_npm_dir }}/share/man:$(manpath)" | |
edxapp_environment_extra: {} | |
edxapp_environment: "{{ edxapp_environment_default | combine(edxapp_environment_extra) }}" | |
git_ssh_environment_mixin: | |
GIT_SSH: "{{ edxapp_git_ssh }}" | |
edxapp_generic_contentstore_config: &edxapp_generic_default_contentstore | |
ENGINE: 'xmodule.contentstore.mongo.MongoContentStore' | |
# | |
# connection strings are duplicated temporarily for | |
# backward compatibility | |
# | |
OPTIONS: | |
db: "{{ EDXAPP_MONGO_DB_NAME }}" | |
host: "{{ EDXAPP_MONGO_HOSTS }}" | |
password: "{{ EDXAPP_MONGO_PASSWORD }}" | |
port: "{{ EDXAPP_MONGO_PORT }}" | |
user: "{{ EDXAPP_MONGO_USER }}" | |
ssl: "{{ EDXAPP_MONGO_USE_SSL }}" | |
auth_source: "{{ EDXAPP_MONGO_AUTH_DB }}" | |
edxapp_generic_doc_store_config: &edxapp_generic_default_docstore | |
db: "{{ EDXAPP_MONGO_DB_NAME }}" | |
host: "{{ EDXAPP_MONGO_HOSTS }}" | |
replicaSet: "{{ EDXAPP_MONGO_REPLICA_SET }}" | |
password: "{{ EDXAPP_MONGO_PASSWORD }}" | |
port: "{{ EDXAPP_MONGO_PORT }}" | |
user: "{{ EDXAPP_MONGO_USER }}" | |
collection: 'modulestore' | |
ssl: "{{ EDXAPP_MONGO_USE_SSL }}" | |
# 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 | |
authsource: "{{ EDXAPP_MONGO_AUTH_DB }}" | |
EDXAPP_LMS_DRAFT_DOC_STORE_CONFIG: | |
<<: *edxapp_generic_default_docstore | |
read_preference: "{{ EDXAPP_LMS_DRAFT_DOC_STORE_READ_PREFERENCE }}" | |
EDXAPP_LMS_SPLIT_DOC_STORE_CONFIG: | |
<<: *edxapp_generic_default_docstore | |
read_preference: "{{ EDXAPP_LMS_SPLIT_DOC_STORE_READ_PREFERENCE }}" | |
EDXAPP_CMS_DOC_STORE_CONFIG: | |
<<: *edxapp_generic_default_docstore | |
read_preference: "{{ EDXAPP_MONGO_CMS_READ_PREFERENCE }}" | |
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 }}" | |
CONN_MAX_AGE: "{{ EDXAPP_MYSQL_CONN_MAX_AGE }}" | |
OPTIONS: "{{ EDXAPP_MYSQL_REPLICA_OPTIONS }}" | |
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 }}" | |
ATOMIC_REQUESTS: "{{ EDXAPP_MYSQL_ATOMIC_REQUESTS }}" | |
CONN_MAX_AGE: "{{ EDXAPP_MYSQL_CONN_MAX_AGE }}" | |
OPTIONS: "{{ EDXAPP_MYSQL_OPTIONS }}" | |
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 }}" | |
CONN_MAX_AGE: "{{ EDXAPP_MYSQL_CONN_MAX_AGE }}" | |
OPTIONS: "{{ EDXAPP_MYSQL_CSMH_OPTIONS }}" | |
edxapp_generic_auth_config: &edxapp_generic_auth | |
EVENT_TRACKING_SEGMENTIO_EMIT_WHITELIST: "{{ EDXAPP_EVENT_TRACKING_SEGMENTIO_EMIT_WHITELIST }}" | |
ECOMMERCE_API_SIGNING_KEY: "{{ EDXAPP_ECOMMERCE_API_SIGNING_KEY }}" | |
DEFAULT_FILE_STORAGE: "{{ EDXAPP_DEFAULT_FILE_STORAGE }}" | |
AWS_ACCESS_KEY_ID: "{{ EDXAPP_AWS_ACCESS_KEY_ID }}" | |
AWS_SECRET_ACCESS_KEY: "{{ EDXAPP_AWS_SECRET_ACCESS_KEY }}" | |
AWS_QUERYSTRING_AUTH: "{{ EDXAPP_AWS_QUERYSTRING_AUTH }}" | |
AWS_STORAGE_BUCKET_NAME: "{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}" | |
AWS_S3_CUSTOM_DOMAIN: "{{ EDXAPP_AWS_S3_CUSTOM_DOMAIN }}" | |
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 }}" | |
SECRET_KEY: "{{ EDXAPP_EDXAPP_SECRET_KEY }}" | |
XQUEUE_INTERFACE: | |
basic_auth: "{{ EDXAPP_XQUEUE_BASIC_AUTH }}" | |
django_auth: "{{ EDXAPP_XQUEUE_DJANGO_AUTH }}" | |
url: "{{ EDXAPP_XQUEUE_URL }}" | |
DATABASES: "{{ edxapp_databases }}" | |
EMAIL_HOST_USER: "{{ EDXAPP_EMAIL_HOST_USER }}" | |
EMAIL_HOST_PASSWORD: "{{ EDXAPP_EMAIL_HOST_PASSWORD }}" | |
YOUTUBE_API_KEY: "{{ EDXAPP_YOUTUBE_API_KEY }}" | |
ZENDESK_USER: "{{ EDXAPP_ZENDESK_USER }}" | |
ZENDESK_API_KEY: "{{ EDXAPP_ZENDESK_API_KEY }}" | |
ZENDESK_OAUTH_ACCESS_TOKEN: "{{ EDXAPP_ZENDESK_OAUTH_ACCESS_TOKEN }}" | |
ZENDESK_GROUP_ID_MAPPING: "{{ EDXAPP_ZENDESK_GROUP_ID_MAPPING }}" | |
CELERY_BROKER_USER: "{{ EDXAPP_CELERY_USER }}" | |
CELERY_BROKER_PASSWORD: "{{ EDXAPP_CELERY_PASSWORD }}" | |
CELERY_TIMEZONE: "{{ EDXAPP_CELERY_TIMEZONE }}" | |
GOOGLE_ANALYTICS_ACCOUNT: "{{ EDXAPP_GOOGLE_ANALYTICS_ACCOUNT }}" | |
DJFS: "{{ EDXAPP_DJFS }}" | |
CREDIT_PROVIDER_SECRET_KEYS: "{{ EDXAPP_CREDIT_PROVIDER_SECRET_KEYS }}" | |
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 }}" | |
SOCIAL_AUTH_SAML_SP_PRIVATE_KEY_DICT: "{{ EDXAPP_SOCIAL_AUTH_SAML_SP_PRIVATE_KEY_DICT }}" | |
SOCIAL_AUTH_SAML_SP_PUBLIC_CERT_DICT: "{{ EDXAPP_SOCIAL_AUTH_SAML_SP_PUBLIC_CERT_DICT }}" | |
FACEBOOK_APP_ID: "{{ EDXAPP_FACEBOOK_APP_ID }}" | |
FACEBOOK_APP_SECRET: "{{ EDXAPP_FACEBOOK_APP_SECRET }}" | |
FACEBOOK_API_VERSION: "{{ EDXAPP_FACEBOOK_API_VERSION }}" | |
ENTERPRISE_SERVICE_WORKER_USERNAME: "{{ EDXAPP_ENTERPRISE_SERVICE_WORKER_USERNAME }}" | |
BRANCH_IO_KEY: "{{ EDXAPP_BRANCH_IO_KEY }}" | |
PROCTORING_BACKENDS: "{{ EDXAPP_PROCTORING_BACKENDS }}" | |
generic_cache_config: &default_generic_cache | |
BACKEND: "{{ EDXAPP_CACHE_BACKEND }}" | |
KEY_FUNCTION: 'common.djangoapps.util.memcache.safe_key' | |
edxapp_revisions_config: | |
EDX_PLATFORM_REVISION: "{{ EDX_PLATFORM_VERSION }}" | |
generic_env_config: &edxapp_generic_env | |
IDA_LOGOUT_URI_LIST: "{{ EDXAPP_IDA_LOGOUT_URI_LIST }}" | |
CREDENTIALS_INTERNAL_SERVICE_URL: "{{ EDXAPP_CREDENTIALS_INTERNAL_SERVICE_URL }}" | |
CREDENTIALS_PUBLIC_SERVICE_URL: "{{ EDXAPP_CREDENTIALS_PUBLIC_SERVICE_URL }}" | |
ECOMMERCE_PUBLIC_URL_ROOT: "{{ EDXAPP_ECOMMERCE_PUBLIC_URL_ROOT }}" | |
ECOMMERCE_API_URL: "{{ EDXAPP_ECOMMERCE_API_URL }}" | |
BLOCKSTORE_PUBLIC_URL_ROOT: "{{ EDXAPP_BLOCKSTORE_PUBLIC_URL_ROOT }}" | |
BLOCKSTORE_API_URL: "{{ EDXAPP_BLOCKSTORE_API_URL }}" | |
LEARNER_PORTAL_URL_ROOT: "{{ EDXAPP_LEARNER_PORTAL_URL_ROOT }}" | |
EDX_PLATFORM_REVISION: "{{ EDX_PLATFORM_VERSION }}" | |
ENTERPRISE_API_URL: "{{ EDXAPP_ENTERPRISE_API_URL }}" | |
COURSE_CATALOG_URL_ROOT: "{{ EDXAPP_COURSE_CATALOG_URL_ROOT }}" | |
COURSE_CATALOG_API_URL: "{{ EDXAPP_COURSE_CATALOG_API_URL }}" | |
COURSE_CATALOG_VISIBILITY_PERMISSION: "{{ EDXAPP_COURSE_CATALOG_VISIBILITY_PERMISSION }}" | |
COURSE_ABOUT_VISIBILITY_PERMISSION: "{{ EDXAPP_COURSE_ABOUT_VISIBILITY_PERMISSION }}" | |
DEFAULT_COURSE_VISIBILITY_IN_CATALOG: "{{ EDXAPP_DEFAULT_COURSE_VISIBILITY_IN_CATALOG }}" | |
DEFAULT_MOBILE_AVAILABLE: "{{ EDXAPP_DEFAULT_MOBILE_AVAILABLE }}" | |
FINANCIAL_REPORTS: "{{ EDXAPP_FINANCIAL_REPORTS }}" | |
CORS_ORIGIN_WHITELIST: "{{ EDXAPP_CORS_ORIGIN_WHITELIST }}" | |
CORS_ORIGIN_ALLOW_ALL: "{{ EDXAPP_CORS_ORIGIN_ALLOW_ALL }}" | |
LOGIN_REDIRECT_WHITELIST: "{{ EDXAPP_LOGIN_REDIRECT_WHITELIST }}" | |
CROSS_DOMAIN_CSRF_COOKIE_DOMAIN: "{{ EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_DOMAIN }}" | |
CROSS_DOMAIN_CSRF_COOKIE_NAME: "{{ EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_NAME }}" | |
CSRF_COOKIE_SECURE: "{{ EDXAPP_CSRF_COOKIE_SECURE }}" | |
CSRF_TRUSTED_ORIGINS: "{{ EDXAPP_CSRF_TRUSTED_ORIGINS }}" | |
VIDEO_UPLOAD_PIPELINE: "{{ EDXAPP_VIDEO_UPLOAD_PIPELINE }}" | |
DEPRECATED_ADVANCED_COMPONENT_TYPES: "{{ EDXAPP_DEPRECATED_ADVANCED_COMPONENT_TYPES }}" | |
XBLOCK_FS_STORAGE_BUCKET: "{{ EDXAPP_XBLOCK_FS_STORAGE_BUCKET }}" | |
XBLOCK_FS_STORAGE_PREFIX: "{{ EDXAPP_XBLOCK_FS_STORAGE_PREFIX }}" | |
ANALYTICS_DASHBOARD_URL: '{{ EDXAPP_ANALYTICS_DASHBOARD_URL }}' | |
CELERY_BROKER_VHOST: "{{ EDXAPP_CELERY_BROKER_VHOST }}" | |
CELERY_BROKER_USE_SSL: "{{ EDXAPP_CELERY_BROKER_USE_SSL }}" | |
CELERY_EVENT_QUEUE_TTL: "{{ EDXAPP_CELERY_EVENT_QUEUE_TTL }}" | |
CELERY_RESULT_BACKEND: "{{ EDXAPP_CELERY_RESULT_BACKEND }}" | |
PAYMENT_SUPPORT_EMAIL: "{{ EDXAPP_PAYMENT_SUPPORT_EMAIL }}" | |
ZENDESK_URL: "{{ EDXAPP_ZENDESK_URL }}" | |
ZENDESK_CUSTOM_FIELDS: "{{ EDXAPP_ZENDESK_CUSTOM_FIELDS }}" | |
COURSES_WITH_UNSAFE_CODE: "{{ EDXAPP_COURSES_WITH_UNSAFE_CODE }}" | |
BULK_EMAIL_EMAILS_PER_TASK: "{{ EDXAPP_BULK_EMAIL_EMAILS_PER_TASK }}" | |
DEFAULT_FILE_STORAGE: "{{ EDXAPP_DEFAULT_FILE_STORAGE }}" | |
GRADES_DOWNLOAD: | |
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) }}" | |
STATIC_ROOT_BASE: "{{ edxapp_staticfile_dir }}" | |
LMS_BASE: "{{ EDXAPP_LMS_BASE }}" | |
CMS_BASE: "{{ EDXAPP_CMS_BASE }}" | |
LMS_ROOT_URL: "{{ EDXAPP_LMS_ROOT_URL }}" | |
LMS_INTERNAL_ROOT_URL: "{{ EDXAPP_LMS_INTERNAL_ROOT_URL }}" | |
PARTNER_SUPPORT_EMAIL: "{{ EDXAPP_PARTNER_SUPPORT_EMAIL }}" | |
PLATFORM_NAME: "{{ EDXAPP_PLATFORM_NAME }}" | |
PLATFORM_DESCRIPTION: "{{ EDXAPP_PLATFORM_DESCRIPTION }}" | |
ANALYTICS_DASHBOARD_NAME: "{{ EDXAPP_ANALYTICS_DASHBOARD_NAME }}" | |
STUDIO_NAME: "{{ EDXAPP_STUDIO_NAME }}" | |
STUDIO_SHORT_NAME: "{{ EDXAPP_STUDIO_SHORT_NAME }}" | |
CERT_QUEUE: 'certificates' | |
LOCAL_LOGLEVEL: "{{ EDXAPP_LOG_LEVEL }}" | |
# default email backed set to local SMTP | |
EMAIL_BACKEND: "{{ EDXAPP_EMAIL_BACKEND }}" | |
EMAIL_HOST: "{{ EDXAPP_EMAIL_HOST }}" | |
EMAIL_PORT: "{{ EDXAPP_EMAIL_PORT }}" | |
EMAIL_USE_TLS: "{{ EDXAPP_EMAIL_USE_TLS }}" | |
AWS_SES_REGION_NAME: "{{ EDXAPP_AWS_SES_REGION_NAME }}" | |
AWS_SES_REGION_ENDPOINT: "{{ EDXAPP_AWS_SES_REGION_ENDPOINT }}" | |
FEATURES: "{{ EDXAPP_FEATURES }}" | |
WIKI_ENABLED: true | |
SYSLOG_SERVER: "{{ EDXAPP_SYSLOG_SERVER }}" | |
LOG_DIR: "{{ edxapp_log_dir }}" | |
DATA_DIR: "{{ edxapp_data_dir }}" | |
JWT_ISSUER: "{{ EDXAPP_LMS_ISSUER }}" | |
DEFAULT_JWT_ISSUER: | |
ISSUER: "{{ EDXAPP_LMS_ISSUER }}" | |
AUDIENCE: "{{ EDXAPP_JWT_AUDIENCE }}" | |
SECRET_KEY: "{{ EDXAPP_JWT_SECRET_KEY }}" | |
JWT_EXPIRATION: '{{ EDXAPP_JWT_EXPIRATION }}' | |
JWT_PRIVATE_SIGNING_KEY: !!null | |
JWT_AUTH: | |
JWT_ISSUER: "{{ EDXAPP_LMS_ISSUER }}" | |
JWT_AUDIENCE: "{{ EDXAPP_JWT_AUDIENCE }}" | |
JWT_SECRET_KEY: "{{ EDXAPP_JWT_SECRET_KEY }}" | |
JWT_ISSUERS: | |
- ISSUER: "{{ EDXAPP_LMS_ISSUER }}" | |
AUDIENCE: "{{ EDXAPP_JWT_AUDIENCE }}" | |
SECRET_KEY: "{{ EDXAPP_JWT_SECRET_KEY }}" | |
JWT_PUBLIC_SIGNING_JWK_SET: "{{ EDXAPP_JWT_PUBLIC_SIGNING_JWK_SET|string }}" | |
JWT_SIGNING_ALGORITHM: "{{ EDXAPP_JWT_SIGNING_ALGORITHM }}" | |
JWT_PRIVATE_SIGNING_JWK: "{{ EDXAPP_JWT_PRIVATE_SIGNING_JWK|string }}" | |
JWT_AUTH_COOKIE_HEADER_PAYLOAD: "{{ EDXAPP_JWT_AUTH_COOKIE_HEADER_PAYLOAD }}" | |
JWT_AUTH_COOKIE_SIGNATURE: "{{ EDXAPP_JWT_AUTH_COOKIE_SIGNATURE }}" | |
JWT_AUTH_REFRESH_COOKIE: "{{ EDXAPP_JWT_AUTH_REFRESH_COOKIE }}" | |
# edx-rbac Setting | |
SYSTEM_WIDE_ROLE_CLASSES: "{{ EDXAPP_SYSTEM_WIDE_ROLE_CLASSES }}" | |
ENTERPRISE_MARKETING_FOOTER_QUERY_PARAMS: "{{ EDXAPP_ENTERPRISE_MARKETING_FOOTER_QUERY_PARAMS }}" | |
INTEGRATED_CHANNELS_API_CHUNK_TRANSMISSION_LIMIT: "{{ EDXAPP_INTEGRATED_CHANNELS_API_CHUNK_TRANSMISSION_LIMIT }}" | |
#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 }}/" | |
FEEDBACK_SUBMISSION_EMAIL: "{{ EDXAPP_FEEDBACK_SUBMISSION_EMAIL }}" | |
TIME_ZONE: "{{ EDXAPP_TIME_ZONE }}" | |
LANGUAGE_CODE: "{{ EDXAPP_LANGUAGE_CODE }}" | |
LANGUAGE_COOKIE: "{{ EDXAPP_LANGUAGE_COOKIE }}" | |
CERTIFICATE_TEMPLATE_LANGUAGES: "{{ EDXAPP_CERTIFICATE_TEMPLATE_LANGUAGES }}" | |
MKTG_URL_LINK_MAP: "{{ EDXAPP_MKTG_URL_LINK_MAP }}" | |
MKTG_URLS: "{{ EDXAPP_MKTG_URLS }}" | |
SUPPORT_SITE_LINK: "{{ EDXAPP_SUPPORT_SITE_LINK }}" | |
ID_VERIFICATION_SUPPORT_LINK: "{{ EDXAPP_ID_VERIFICATION_SUPPORT_LINK }}" | |
ACTIVATION_EMAIL_SUPPORT_LINK: "{{ EDXAPP_ACTIVATION_EMAIL_SUPPORT_LINK }}" | |
PASSWORD_RESET_SUPPORT_LINK: "{{ EDXAPP_PASSWORD_RESET_SUPPORT_LINK }}" | |
# repo root for courses | |
GITHUB_REPO_ROOT: "{{ edxapp_course_data_dir }}" | |
CACHES: | |
default: | |
<<: *default_generic_cache | |
KEY_PREFIX: 'default' | |
LOCATION: "{{ EDXAPP_MEMCACHE }}" | |
VERSION: "{{ EDXAPP_DEFAULT_CACHE_VERSION }}" | |
general: | |
<<: *default_generic_cache | |
KEY_PREFIX: 'general' | |
LOCATION: "{{ EDXAPP_MEMCACHE }}" | |
mongo_metadata_inheritance: | |
<<: *default_generic_cache | |
KEY_PREFIX: 'mongo_metadata_inheritance' | |
TIMEOUT: 300 | |
LOCATION: "{{ EDXAPP_MEMCACHE }}" | |
staticfiles: | |
<<: *default_generic_cache | |
KEY_PREFIX: "{{ ansible_hostname|default('staticfiles') }}_general" | |
LOCATION: "{{ EDXAPP_MEMCACHE }}" | |
configuration: | |
<<: *default_generic_cache | |
KEY_PREFIX: "{{ ansible_hostname|default('configuration') }}" | |
LOCATION: "{{ EDXAPP_MEMCACHE }}" | |
celery: | |
<<: *default_generic_cache | |
KEY_PREFIX: 'celery' | |
LOCATION: "{{ EDXAPP_MEMCACHE }}" | |
TIMEOUT: "7200" | |
course_structure_cache: | |
<<: *default_generic_cache | |
KEY_PREFIX: 'course_structure' | |
LOCATION: "{{ EDXAPP_CACHE_COURSE_STRUCTURE_MEMCACHE }}" | |
# Default to two hours | |
TIMEOUT: "7200" | |
CELERYBEAT_SCHEDULER: "{{ EDXAPP_CELERYBEAT_SCHEDULER }}" | |
CELERY_BROKER_TRANSPORT: "{{ EDXAPP_CELERY_BROKER_TRANSPORT }}" | |
CELERY_BROKER_HOSTNAME: "{{ EDXAPP_CELERY_BROKER_HOSTNAME }}" | |
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 }}" | |
BULK_EMAIL_LOG_SENT_EMAILS: "{{ EDXAPP_BULK_EMAIL_LOG_SENT_EMAILS }}" | |
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 }}" | |
SOCIAL_MEDIA_FOOTER_URLS: "{{ EDXAPP_SOCIAL_MEDIA_FOOTER_URLS }}" | |
MOBILE_STORE_URLS: "{{ EDXAPP_MOBILE_STORE_URLS }}" | |
FOOTER_ORGANIZATION_IMAGE: "{{ EDXAPP_FOOTER_ORGANIZATION_IMAGE }}" | |
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 }}" | |
REGISTRATION_EXTRA_FIELDS: "{{ EDXAPP_REGISTRATION_EXTRA_FIELDS }}" | |
XBLOCK_SETTINGS: "{{ EDXAPP_XBLOCK_SETTINGS }}" | |
EDXMKTG_USER_INFO_COOKIE_NAME: "{{ EDXAPP_EDXMKTG_USER_INFO_COOKIE_NAME }}" | |
VIDEO_IMAGE_MAX_AGE: "{{ EDXAPP_VIDEO_IMAGE_MAX_AGE }}" | |
VIDEO_IMAGE_SETTINGS: "{{ EDXAPP_VIDEO_IMAGE_SETTINGS }}" | |
VIDEO_TRANSCRIPTS_MAX_AGE: "{{ EDXAPP_VIDEO_TRANSCRIPTS_MAX_AGE }}" | |
VIDEO_TRANSCRIPTS_SETTINGS: "{{ EDXAPP_VIDEO_TRANSCRIPTS_SETTINGS }}" | |
BLOCK_STRUCTURES_SETTINGS: "{{ EDXAPP_BLOCK_STRUCTURES_SETTINGS }}" | |
COMPREHENSIVE_THEME_DIRS: "{{ EDXAPP_COMPREHENSIVE_THEME_DIRS }}" | |
COMPREHENSIVE_THEME_LOCALE_PATHS: "{{ EDXAPP_COMPREHENSIVE_THEME_LOCALE_PATHS }}" | |
PREPEND_LOCALE_PATHS: "{{ EDXAPP_PREPEND_LOCALE_PATHS }}" | |
ENABLE_COMPREHENSIVE_THEMING: "{{ EDXAPP_ENABLE_COMPREHENSIVE_THEMING }}" | |
CUSTOM_RESOURCE_TEMPLATES_DIRECTORY: "{{ EDXAPP_CUSTOM_RESOURCE_TEMPLATES_DIRECTORY }}" | |
DEFAULT_SITE_THEME: "{{ EDXAPP_DEFAULT_SITE_THEME }}" | |
SESSION_SAVE_EVERY_REQUEST: "{{ EDXAPP_SESSION_SAVE_EVERY_REQUEST }}" | |
SOCIAL_SHARING_SETTINGS: "{{ EDXAPP_SOCIAL_SHARING_SETTINGS }}" | |
SESSION_COOKIE_SECURE: "{{ EDXAPP_SESSION_COOKIE_SECURE }}" | |
CODE_JAIL: | |
# from https://github.com/openedx/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 }}' | |
AFFILIATE_COOKIE_NAME: "{{ EDXAPP_AFFILIATE_COOKIE_NAME }}" | |
ELASTIC_SEARCH_CONFIG: "{{ EDXAPP_ELASTIC_SEARCH_CONFIG }}" | |
PLATFORM_TWITTER_ACCOUNT: "{{ EDXAPP_PLATFORM_TWITTER_ACCOUNT }}" | |
PLATFORM_FACEBOOK_ACCOUNT: "{{ EDXAPP_PLATFORM_FACEBOOK_ACCOUNT }}" | |
HELP_TOKENS_BOOKS: "{{ EDXAPP_HELP_TOKENS_BOOKS }}" | |
# License for serving content in China | |
ICP_LICENSE: "{{ EDXAPP_ICP_LICENSE }}" | |
ICP_LICENSE_INFO: "{{ EDXAPP_ICP_LICENSE_INFO }}" | |
# Base Cookie Domain to share cookie across edx domains | |
BASE_COOKIE_DOMAIN: "{{ EDXAPP_BASE_COOKIE_DOMAIN }}" | |
POLICY_CHANGE_GRADES_ROUTING_KEY: "{{ EDXAPP_POLICY_CHANGE_GRADES_ROUTING_KEY }}" | |
SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY: "{{ EDXAPP_SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY }}" | |
PROCTORING_SETTINGS: "{{ EDXAPP_PROCTORING_SETTINGS }}" | |
EXTRA_MIDDLEWARE_CLASSES: "{{ EDXAPP_EXTRA_MIDDLEWARE_CLASSES }}" | |
MAINTENANCE_BANNER_TEXT: "{{ EDXAPP_MAINTENANCE_BANNER_TEXT }}" | |
RETIRED_USERNAME_PREFIX: "{{ EDXAPP_RETIRED_USERNAME_PREFIX }}" | |
RETIRED_EMAIL_PREFIX: "{{ EDXAPP_RETIRED_EMAIL_PREFIX }}" | |
RETIRED_EMAIL_DOMAIN: "{{ EDXAPP_RETIRED_EMAIL_DOMAIN }}" | |
RETIRED_USER_SALTS: "{{ EDXAPP_RETIRED_USER_SALTS }}" | |
RETIREMENT_SERVICE_WORKER_USERNAME: "{{ EDXAPP_RETIREMENT_SERVICE_USER_NAME }}" | |
RETIREMENT_STATES: "{{ EDXAPP_RETIREMENT_STATES }}" | |
USERNAME_REPLACEMENT_WORKER: "{{ EDXAPP_USERNAME_REPLACEMENT_WORKER }}" | |
AUTH_PASSWORD_VALIDATORS: "{{ EDXAPP_AUTH_PASSWORD_VALIDATORS }}" | |
PASSWORD_POLICY_COMPLIANCE_ROLLOUT_CONFIG: "{{ EDXAPP_PASSWORD_POLICY_COMPLIANCE_ROLLOUT_CONFIG }}" | |
# Dashboard courses default limit | |
DASHBOARD_COURSE_LIMIT: "{{ EDXAPP_DASHBOARD_COURSE_LIMIT }}" | |
COMPLETION_AGGREGATOR_URL: "{{ EDXAPP_COMPLETION_AGGREGATOR_URL }}" | |
lms_auth_config: | |
<<: *edxapp_generic_auth | |
CONTENTSTORE: | |
<<: *edxapp_generic_default_contentstore | |
ADDITIONAL_OPTIONS: "{{ EDXAPP_CONTENTSTORE_ADDITIONAL_OPTS }}" | |
DOC_STORE_CONFIG: "{{ EDXAPP_LMS_SPLIT_DOC_STORE_CONFIG }}" | |
DOC_STORE_CONFIG: "{{ EDXAPP_LMS_SPLIT_DOC_STORE_CONFIG }}" | |
SEGMENT_KEY: "{{ EDXAPP_LMS_SEGMENT_KEY }}" | |
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 }}" | |
GOOGLE_ANALYTICS_TRACKING_ID: "{{ EDXAPP_GOOGLE_ANALYTICS_TRACKING_ID }}" | |
TRACKING_SEGMENTIO_WEBHOOK_SECRET: "{{ EDXAPP_TRACKING_SEGMENTIO_WEBHOOK_SECRET }}" | |
PROFILE_IMAGE_HASH_SEED: "{{ EDXAPP_PROFILE_IMAGE_HASH_SEED }}" | |
MODULESTORE: | |
default: | |
ENGINE: 'xmodule.modulestore.mixed.MixedModuleStore' | |
OPTIONS: | |
mappings: {} | |
stores: | |
- NAME: 'split' | |
ENGINE: 'xmodule.modulestore.split_mongo.split_draft.DraftVersioningModuleStore' | |
DOC_STORE_CONFIG: "{{ EDXAPP_LMS_SPLIT_DOC_STORE_CONFIG }}" | |
OPTIONS: | |
default_class: 'xmodule.hidden_block.HiddenBlock' | |
fs_root: "{{ edxapp_course_data_dir }}" | |
render_template: 'common.djangoapps.edxmako.shortcuts.render_to_string' | |
- NAME: 'draft' | |
ENGINE: 'xmodule.modulestore.mongo.DraftMongoModuleStore' | |
DOC_STORE_CONFIG: "{{ EDXAPP_LMS_DRAFT_DOC_STORE_CONFIG }}" | |
OPTIONS: | |
default_class: 'xmodule.hidden_block.HiddenBlock' | |
fs_root: "{{ edxapp_course_data_dir }}" | |
render_template: 'common.djangoapps.edxmako.shortcuts.render_to_string' | |
SOCIAL_AUTH_OAUTH_SECRETS: "{{ EDXAPP_SOCIAL_AUTH_OAUTH_SECRETS }}" | |
ACE_CHANNEL_SAILTHRU_API_KEY: "{{ EDXAPP_ACE_CHANNEL_SAILTHRU_API_KEY }}" | |
ACE_CHANNEL_SAILTHRU_API_SECRET: "{{ EDXAPP_ACE_CHANNEL_SAILTHRU_API_SECRET }}" | |
ANALYTICS_API_KEY: "{{ EDXAPP_LMS_ANALYTICS_API_KEY }}" | |
FERNET_KEYS: "{{ EDXAPP_FERNET_KEYS }}" | |
lms_env_config: | |
<<: *edxapp_generic_env | |
OAUTH_ENFORCE_SECURE: "{{ EDXAPP_OAUTH_ENFORCE_SECURE }}" | |
OAUTH_EXPIRE_CONFIDENTIAL_CLIENT_DAYS: "{{ EDXAPP_OAUTH_EXPIRE_CONFIDENTIAL_CLIENT_DAYS }}" | |
OAUTH_EXPIRE_PUBLIC_CLIENT_DAYS: "{{ EDXAPP_OAUTH_EXPIRE_PUBLIC_CLIENT_DAYS }}" | |
OAUTH_DELETE_EXPIRED: "{{ EDXAPP_OAUTH_DELETE_EXPIRED }}" | |
PAID_COURSE_REGISTRATION_CURRENCY: "{{ EDXAPP_PAID_COURSE_REGISTRATION_CURRENCY }}" | |
THIRD_PARTY_AUTH_BACKENDS: "{{ EDXAPP_THIRD_PARTY_AUTH_BACKENDS }}" | |
GIT_REPO_DIR: "{{ EDXAPP_GIT_REPO_DIR }}" | |
SITE_NAME: "{{ EDXAPP_LMS_SITE_NAME }}" | |
HTTPS: "{{ EDXAPP_LMS_HTTPS }}" | |
VIDEO_CDN_URL: "{{ EDXAPP_VIDEO_CDN_URLS }}" | |
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 }}" | |
PDF_RECEIPT_COBRAND_LOGO_PATH: "{{ EDXAPP_PDF_RECEIPT_COBRAND_LOGO_PATH }}" | |
PDF_RECEIPT_LOGO_PATH: "{{ EDXAPP_PDF_RECEIPT_LOGO_PATH }}" | |
PROFILE_IMAGE_BACKEND: "{{ EDXAPP_PROFILE_IMAGE_BACKEND }}" | |
PROFILE_IMAGE_MIN_BYTES: "{{ EDXAPP_PROFILE_IMAGE_MIN_BYTES }}" | |
PROFILE_IMAGE_MAX_BYTES: "{{ EDXAPP_PROFILE_IMAGE_MAX_BYTES }}" | |
PROFILE_IMAGE_SIZES_MAP: "{{ EDXAPP_PROFILE_IMAGE_SIZES_MAP }}" | |
EDXNOTES_PUBLIC_API: "{{ EDXAPP_EDXNOTES_PUBLIC_API }}" | |
EDXNOTES_INTERNAL_API: "{{ EDXAPP_EDXNOTES_INTERNAL_API }}" | |
LTI_USER_EMAIL_DOMAIN: "{{ EDXAPP_LTI_USER_EMAIL_DOMAIN }}" | |
LTI_AGGREGATE_SCORE_PASSBACK_DELAY: "{{ EDXAPP_LTI_AGGREGATE_SCORE_PASSBACK_DELAY }}" | |
CREDIT_HELP_LINK_URL: "{{ EDXAPP_CREDIT_HELP_LINK_URL }}" | |
MAILCHIMP_NEW_USER_LIST_ID: "{{ EDXAPP_MAILCHIMP_NEW_USER_LIST_ID }}" | |
CONTACT_MAILING_ADDRESS: "{{ EDXAPP_CONTACT_MAILING_ADDRESS }}" | |
API_ACCESS_MANAGER_EMAIL: "{{ EDXAPP_API_ACCESS_MANAGER_EMAIL }}" | |
API_ACCESS_FROM_EMAIL: "{{ EDXAPP_API_ACCESS_FROM_EMAIL }}" | |
API_DOCUMENTATION_URL: "{{ EDXAPP_API_DOCUMENTATION_URL }}" | |
AUTH_DOCUMENTATION_URL: "{{ EDXAPP_AUTH_DOCUMENTATION_URL }}" | |
RECALCULATE_GRADES_ROUTING_KEY: "{{ EDXAPP_RECALCULATE_GRADES_ROUTING_KEY }}" | |
BULK_EMAIL_ROUTING_KEY_SMALL_JOBS: "{{ EDXAPP_BULK_EMAIL_ROUTING_KEY_SMALL_JOBS }}" | |
CELERY_QUEUES: "{{ EDXAPP_LMS_CELERY_QUEUES }}" | |
ALTERNATE_WORKER_QUEUES: "cms" | |
ENTERPRISE_COURSE_ENROLLMENT_AUDIT_MODES: "{{ EDXAPP_ENTERPRISE_COURSE_ENROLLMENT_AUDIT_MODES }}" | |
ENTERPRISE_CUSTOMER_SUCCESS_EMAIL: "{{ EDXAPP_ENTERPRISE_CUSTOMER_SUCCESS_EMAIL }}" | |
ENTERPRISE_INTEGRATIONS_EMAIL: "{{ EDXAPP_ENTERPRISE_INTEGRATIONS_EMAIL }}" | |
ENTERPRISE_ENROLLMENT_API_URL: "{{ EDXAPP_ENTERPRISE_ENROLLMENT_API_URL }}" | |
ENTERPRISE_SUPPORT_URL: "{{ EDXAPP_ENTERPRISE_SUPPORT_URL }}" | |
PARENTAL_CONSENT_AGE_LIMIT: "{{ EDXAPP_PARENTAL_CONSENT_AGE_LIMIT }}" | |
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 }}" | |
ACE_CHANNEL_DEFAULT_EMAIL: "{{ EDXAPP_ACE_CHANNEL_DEFAULT_EMAIL }}" | |
ACE_CHANNEL_TRANSACTIONAL_EMAIL: "{{ EDXAPP_ACE_CHANNEL_TRANSACTIONAL_EMAIL }}" | |
ORGANIZATIONS_AUTOCREATE: "{{ EDXAPP_ORGANIZATIONS_AUTOCREATE }}" | |
ENTERPRISE_TAGLINE: "{{ EDXAPP_ENTERPRISE_TAGLINE }}" | |
ANALYTICS_API_URL: "{{ EDXAPP_LMS_ANALYTICS_API_URL }}" | |
GOOGLE_SITE_VERIFICATION_ID: "{{ EDXAPP_GOOGLE_SITE_VERIFICATION_ID }}" | |
STATIC_URL_BASE: "{{ EDXAPP_LMS_STATIC_URL_BASE }}" | |
X_FRAME_OPTIONS: "{{ EDXAPP_X_FRAME_OPTIONS }}" | |
WRITABLE_GRADEBOOK_URL: "{{ EDXAPP_LMS_WRITABLE_GRADEBOOK_URL }}" | |
PROFILE_MICROFRONTEND_URL: "{{ EDXAPP_PROFILE_MICROFRONTEND_URL }}" | |
ORDER_HISTORY_MICROFRONTEND_URL: "{{ EDXAPP_ORDER_HISTORY_MICROFRONTEND_URL }}" | |
PROGRAM_CERTIFICATES_ROUTING_KEY: "{{ EDXAPP_PROGRAM_CERTIFICATES_ROUTING_KEY }}" | |
ACCOUNT_MICROFRONTEND_URL: "{{ EDXAPP_ACCOUNT_MICROFRONTEND_URL }}" | |
PROGRAM_CONSOLE_MICROFRONTEND_URL: "{{ EDXAPP_PROGRAM_CONSOLE_MICROFRONTEND_URL}}" | |
LEARNING_MICROFRONTEND_URL: "{{ EDXAPP_LEARNING_MICROFRONTEND_URL}}" | |
DCS_SESSION_COOKIE_SAMESITE: "{{ EDXAPP_DCS_SESSION_COOKIE_SAMESITE }}" | |
DCS_SESSION_COOKIE_SAMESITE_FORCE_ALL: "{{ EDXAPP_DCS_SESSION_COOKIE_SAMESITE_FORCE_ALL }}" | |
cms_auth_config: | |
<<: *edxapp_generic_auth | |
CONTENTSTORE: | |
<<: *edxapp_generic_default_contentstore | |
ADDITIONAL_OPTIONS: "{{ EDXAPP_CONTENTSTORE_ADDITIONAL_OPTS }}" | |
DOC_STORE_CONFIG: "{{ EDXAPP_CMS_DOC_STORE_CONFIG }}" | |
DOC_STORE_CONFIG: "{{ EDXAPP_CMS_DOC_STORE_CONFIG }}" | |
MODULESTORE: | |
default: | |
ENGINE: 'xmodule.modulestore.mixed.MixedModuleStore' | |
OPTIONS: | |
mappings: {} | |
stores: | |
- NAME: 'split' | |
ENGINE: 'xmodule.modulestore.split_mongo.split_draft.DraftVersioningModuleStore' | |
DOC_STORE_CONFIG: "{{ EDXAPP_CMS_DOC_STORE_CONFIG }}" | |
OPTIONS: | |
default_class: 'xmodule.hidden_block.HiddenBlock' | |
fs_root: "{{ edxapp_course_data_dir }}" | |
render_template: 'common.djangoapps.edxmako.shortcuts.render_to_string' | |
- NAME: 'draft' | |
ENGINE: 'xmodule.modulestore.mongo.DraftMongoModuleStore' | |
DOC_STORE_CONFIG: "{{ EDXAPP_CMS_DOC_STORE_CONFIG }}" | |
OPTIONS: | |
default_class: 'xmodule.hidden_block.HiddenBlock' | |
fs_root: "{{ edxapp_course_data_dir }}" | |
render_template: 'common.djangoapps.edxmako.shortcuts.render_to_string' | |
SEGMENT_KEY: "{{ EDXAPP_CMS_SEGMENT_KEY }}" | |
PARSE_KEYS: "{{ EDXAPP_PARSE_KEYS }}" | |
FERNET_KEYS: "{{ EDXAPP_FERNET_KEYS }}" | |
cms_env_config: | |
<<: *edxapp_generic_env | |
SITE_NAME: "{{ EDXAPP_CMS_SITE_NAME }}" | |
GIT_REPO_EXPORT_DIR: "{{ EDXAPP_GIT_REPO_EXPORT_DIR }}" | |
CELERY_QUEUES: "{{ EDXAPP_CMS_CELERY_QUEUES }}" | |
ALTERNATE_WORKER_QUEUES: "lms" | |
COURSE_IMPORT_EXPORT_BUCKET: "{{ EDXAPP_IMPORT_EXPORT_BUCKET }}" | |
STATIC_URL_BASE: "{{ EDXAPP_CMS_STATIC_URL_BASE }}" | |
X_FRAME_OPTIONS: "{{ EDXAPP_X_FRAME_OPTIONS }}" | |
COURSE_AUTHORING_MICROFRONTEND_URL: "{{ EDXAPP_COURSE_AUTHORING_MICROFRONTEND_URL }}" | |
# install dir for the edx-platform repo | |
edxapp_code_dir: "{{ edxapp_app_dir }}/edx-platform" | |
# gunicorn ports/hosts, these shouldn't need to be overridden | |
edxapp_cms_gunicorn_port: 8010 | |
edxapp_cms_gunicorn_host: 127.0.0.1 | |
edxapp_lms_gunicorn_port: 8000 | |
edxapp_lms_gunicorn_host: 127.0.0.1 | |
# 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 | |
# job. It will also enable the corresponding section in the | |
# 'edxapp' upstart job. | |
service_variants_enabled: | |
- lms | |
- cms | |
#Number of gunicorn worker processes to spawn, as a multiplier to number of virtual cores | |
worker_core_mult: | |
lms: 4 | |
cms: 2 | |
# Stanford-style Theming | |
# Set theme name with edxapp_theme_name | |
# Stanford, for example, uses edxapp_theme_name: 'stanford' | |
# | |
# TODO: change variables to ALL-CAPS, since they are meant to be externally overridden | |
edxapp_theme_name: "" | |
edxapp_theme_source_repo: 'https://{{ COMMON_GIT_MIRROR }}/Stanford-Online/edx-theme.git' | |
EDXAPP_THEME_VERSION: 'master' | |
# make this the public URL instead of writable | |
edx_platform_repo: "https://{{ COMMON_GIT_MIRROR }}/edx/edx-platform.git" | |
# `EDX_PLATFORM_VERSION` can be anything that git recognizes as a commit | |
# reference, including a tag, a branch name, or a commit hash | |
EDX_PLATFORM_VERSION: 'release' | |
custom_requirements_file: "{{ edxapp_code_dir }}/requirements/edx/custom.txt" | |
base_requirements_file: "{{ edxapp_code_dir }}/requirements/edx/base.txt" | |
django_requirements_file: "{{ edxapp_code_dir }}/requirements/edx/django.txt" | |
openstack_requirements_file: "{{ edxapp_code_dir }}/requirements/edx/openstack.txt" | |
sandbox_base_requirements: "{{ edxapp_code_dir }}/requirements/edx-sandbox/py38.txt" | |
# 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. | |
edxapp_requirements_files: | |
- "{{ custom_requirements_file }}" | |
- "{{ base_requirements_file }}" | |
- "{{ django_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: | |
- "{{ custom_requirements_file }}" | |
- "{{ base_requirements_file }}" | |
- "{{ sandbox_base_requirements }}" | |
edxapp_debian_pkgs: | |
# for compiling the virtualenv | |
# (only needed if wheel files aren't available) | |
- s3cmd | |
- pkg-config | |
# for scipy, do not install | |
# libopenblas-base, it will cause | |
# problems for numpy | |
- g++ | |
# apparmor | |
- apparmor-utils | |
# misc | |
- curl | |
- ntp | |
# matplotlib needs libfreetype6-dev | |
- libfreetype6-dev | |
# cffi needs libffi-dev | |
- libffi-dev | |
- python3-dev | |
- libsqlite3-dev | |
edxapp_release_specific_debian_pkgs: | |
xenial: | |
- ipython | |
- python-dev | |
bionic: | |
- ipython | |
- python-dev | |
focal: | |
- ipython3 | |
edxapp_debian_pkgs_default: "{{ edxapp_debian_pkgs + edxapp_release_specific_debian_pkgs[ansible_distribution_release] }}" | |
edxapp_debian_pkgs_extra: [] | |
# Deploy Specific Vars | |
edxapp_lms_variant: lms | |
edxapp_cms_variant: cms | |
# Worker Settings | |
worker_django_settings_module: '{{ EDXAPP_SETTINGS }}' | |
EDXAPP_CELERY_HEARTBEAT_ENABLED: true | |
# 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 | |
- email: "{{ EDXAPP_VEDA_SERVICE_USER_EMAIL }}" | |
username: "{{ EDXAPP_VEDA_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ DISCOVERY_SERVICE_USER_EMAIL }}" | |
username: "{{ DISCOVERY_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ INSIGHTS_SERVICE_USER_EMAIL }}" | |
username: "{{ INSIGHTS_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ CREDENTIALS_SERVICE_USER_EMAIL }}" | |
username: "{{ CREDENTIALS_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ DESIGNER_SERVICE_USER_EMAIL }}" | |
username: "{{ DESIGNER_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ REGISTRAR_SERVICE_USER_EMAIL }}" | |
username: "{{ REGISTRAR_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ EDXAPP_CMS_SERVICE_USER_EMAIL }}" | |
username: "{{ EDXAPP_CMS_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ LICENSE_MANAGER_SERVICE_USER_EMAIL }}" | |
username: "{{ LICENSE_MANAGER_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ COMMERCE_COORDINATOR_SERVICE_USER_EMAIL }}" | |
username: "{{ COMMERCE_COORDINATOR_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ ENTERPRISE_CATALOG_SERVICE_USER_EMAIL }}" | |
username: "{{ ENTERPRISE_CATALOG_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ EDX_EXAMS_SERVICE_USER_EMAIL }}" | |
username: "{{ EDX_EXAMS_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ ECOMMERCE_SERVICE_USER_EMAIL }}" | |
username: "{{ ECOMMERCE_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
- email: "{{ EDXAPP_RETIREMENT_SERVICE_USER_EMAIL }}" | |
username: "{{ EDXAPP_RETIREMENT_SERVICE_USER_NAME }}" | |
is_staff: true | |
is_superuser: false | |
enabled: "{{ COMMON_RETIREMENT_SERVICE_SETUP | default(false) }}" | |
EDXAPP_ENABLE_DJANGO_ADMIN_RESTRICTION: false | |
EDXAPP_LMS_LOCAL_CONFIG_FILE: "{{ UNENCRYPTED_CFG_DIR }}/lms.yml" | |
EDXAPP_CMS_LOCAL_CONFIG_FILE: "{{ UNENCRYPTED_CFG_DIR }}/studio.yml" | |
edxapp_staticfiles_storage_overrides: !!null | |
# Accepts a list of dictionaries of the following form. | |
# EDXAPP_SITE_CONFIGURATION: | |
# - site_id: 1 | |
# values: | |
# foo: true | |
# bar: false | |
# - domain: example.com | |
# values: | |
# abc: true | |
# - values: | |
# xyz: true | |
# | |
# In each dictionary, the 'site_id' and the 'domain' keys are optional and the 'values' key | |
# is required. However, only one of 'site_id', 'domain' can be specified due to the behaviour | |
# of the 'create_or_update_site_configuration' management command. The 'values' key accepts a | |
# dictionary of keys and values corresponding to the SiteConfiguration paramters to be added to the | |
# SiteConfiguration instance. | |
EDXAPP_SITE_CONFIGURATION: {} | |
EDXAPP_ENABLE_MONGODB_INDEXES: false |