configs.yml
configs.yml includes configuration variables of your openedx instance
# Koa configuration
# Run this command in deployer node
# $ ansible-playbook configuration/playbooks/koa.yml -e@edx-configs/configs.yml
# tags: install:configuration install:app-requirements install edxapp_cfg
---
host: "OPENEDX-INSTANCE-NAME" # Should be same as what you have in infra/hosts # SET-ME
date: "{{ lookup('pipe', 'date +%Y%m%d-%H%M') }}"
## Repos
edxapp_server: OPENEDX-INSTANCE-NAME # Should be same as what you have in infra/hosts # SET-ME
DOMAIN_NAME: "YOUR-DOMAIN-NAME" # SET-ME
EDXAPP_IMPORT_EXPORT_BUCKET: "{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}"
EDXAPP_LMS_MAX_REQ: 1000
RABBIT_USERS:
- name: 'admin'
password: "{{ RABBIT_ADMIN_PASSWORD }}"
- name: 'edx'
password: "{{ XQUEUE_RABBITMQ_PASS }}"
- name: 'celery'
password: "{{ EDXAPP_CELERY_PASSWORD }}"
EDX_ANSIBLE_DUMP_VARS: true
## Versions
edx_platform_repo: "open-release/koa.master"
EDX_PLATFORM_VERSION: "open-release/koa.master"
forum_version: "open-release/koa.master"
XQUEUE_VERSION: "open-release/koa.master"
certs_version: "open-release/koa.master"
OPENEDX_RELEASE: "open-release/koa.master"
configuration_version: "open-release/koa.master"
demo_version: "open-release/koa.master"
NOTIFIER_VERSION: "open-release/koa.master"
INSIGHTS_VERSION: "open-release/koa.master"
ANALYTICS_API_VERSION: "open-release/koa.master"
ECOMMERCE_WORKER_VERSION: "open-release/koa.master"
PROGRAMS_VERSION: "open-release/koa.master"
NOTIFIER_GIT_IDENTITY: ""
OAUTH_OIDC_ISSUER: "http://{{ EDXAPP_LMS_BASE }}/oauth2"
migrate_db: "yes"
INSTALL_DEMO_DATA: false
demo_test_and_staff_users: ['']
EDXAPP_FEATURES:
AUTH_USE_OPENID_PROVIDER: true
ENABLE_OAUTH2_PROVIDER: true
ALLOW_ALL_ADVANCED_COMPONENTS: true
ENABLE_DISCUSSION_HOME_PANEL: true
ENABLE_LTI_PROVIDER: true
ENABLE_SYSADMIN_DASHBOARD: false
CERTIFICATES_ENABLED: true
ENABLE_DISCUSSION_SERVICE: true
ENABLE_INSTRUCTOR_ANALYTICS: true
PREVIEW_LMS_BASE: "{{ EDXAPP_PREVIEW_LMS_BASE }}"
ENABLE_S3_GRADE_DOWNLOADS: true
USE_CUSTOM_THEME: true
ENABLE_MKTG_SITE: "{{ EDXAPP_ENABLE_MKTG_SITE }}"
AUTOMATIC_AUTH_FOR_TESTING: false
ENABLE_THIRD_PARTY_AUTH: true
#search features in CMS
ENABLE_COURSEWARE_INDEX: true
ENABLE_LIBRARY_INDEX: true
#search features in LMS
ENABLE_COURSEWARE_SEARCH: true
ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF: true
ENABLE_DASHBOARD_SEARCH: true
ENABLE_COURSE_DISCOVERY: true
ENABLE_COMBINED_LOGIN_REGISTRATION: true
ALLOW_HIDING_DISCUSSION_TAB: true
#for prereqs
MILESTONES_APP: true
ENABLE_PREREQUISITE_COURSES: true
#for bulk email
ENABLE_INSTRUCTOR_EMAIL: true
REQUIRE_COURSE_EMAIL_AUTH: true
# to avoid non staff user creating courses in studio
DISABLE_COURSE_CREATION: true
ENTRANCE_EXAMS: true
CERTIFICATES_HTML_VIEW: true
ENABLE_MOBILE_REST_API: true
THIRD_PARTY_AUTH_HINT: ""
LTI_1P3_ENABLED: true
ALLOW_PUBLIC_ACCOUNT_CREATION: true
ENABLE_COOKIE_CONSENT: true
SHOW_HEADER_LANGUAGE_SELECTOR: true
ENABLE_FORUM_DAILY_DIGEST: true
ENABLE_VERIFIED_CERTIFICATES: true
ENABLE_MAX_FAILED_LOGIN_ATTEMPTS: false
PREVENT_CONCURRENT_LOGINS: false
ENABLE_PREREQUISITE_COURSES: false
LICENSING: false
ENABLE_VIDEO_BUMPER: true
ENABLE_SPECIAL_EXAMS: true
ALLOW_EMAIL_ADDRESS_CHANGE: false
ENABLE_PASSWORD_RESET_FAILURE_EMAIL: true
STUDIO_REQUEST_EMAIL: "YOUR-EMAIL" # SET-ME
SKIP_EMAIL_VALIDATION: true
EDXAPP_CERTIFICATE_TEMPLATE_LANGUAGES:
'en': 'English'
'es': 'Español'
EDXAPP_SOCIAL_SHARING_SETTINGS:
CUSTOM_COURSE_URLS: true
DASHBOARD_FACEBOOK: true
CERTIFICATE_FACEBOOK: true
CERTIFICATE_TWITTER: true
DASHBOARD_TWITTER: true
EDXAPP_LEARNING_MICROFRONTEND_URL: "http://learning-mfe"
EDXAPP_DEFAULT_MOBILE_AVAILABLE: true
EDXAPP_ANALYTICS_DASHBOARD_URL: ""
EDXAPP_PLATFORM_NAME: "" # SET-ME
EDXAPP_PLATFORM_DESCRIPTION: "" # SET-ME
EDXAPP_PLATFORM_TWITTER_ACCOUNT: "" # SET-ME
EDXAPP_PLATFORM_FACEBOOK_ACCOUNT: "" # SET-ME
EDXAPP_EXTRA_REQUIREMENTS: [] # If you need to install XBlock here is where you can do it
EDXAPP_LANGUAGE_CODE : 'en'
EDXAPP_ENV_EXTRA:
COURSE_MODE_DEFAULTS:
name: 'Honor'
slug: 'honor'
currency: 'usd'
min_price: 0
suggested_prices: ''
bulk_sku: !!null
sku: !!null
description: !!null
expiration_datetime: !!null
EDXAPP_AUTH_PASSWORD_VALIDATORS:
- NAME: 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator'
- NAME: 'util.password_policy_validators.MinimumLengthValidator'
OPTIONS:
min_length: 8
- NAME: 'util.password_policy_validators.MaximumLengthValidator'
OPTIONS:
max_length: 75
- NAME: 'util.password_policy_validators.AlphabeticValidator'
OPTIONS:
min_alphabetic: 2
- NAME: 'util.password_policy_validators.NumericValidator'
OPTIONS:
min_numeric: 1
- NAME: 'util.password_policy_validators.UppercaseValidator'
OPTIONS:
min_upper: 1
EDXAPP_PASSWORD_POLICY_COMPLIANCE_ROLLOUT_CONFIG:
ENFORCE_COMPLIANCE_ON_LOGIN: true
EDXAPP_MKTG_URL_LINK_MAP: ""
CMS_HOSTNAME: "{{ EDXAPP_CMS_BASE }}" #for redirect within nginx
COMMON_ENABLE_BASIC_AUTH: false
EDXAPP_SESSION_COOKIE_SECURE: true
EDXAPP_CSRF_COOKIE_SECURE: true
DISCOVERY_URL_ROOT: 'http://localhost:{{ DISCOVERY_NGINX_PORT }}'
# ## Base
EDXAPP_LMS_BASE: "LMS-URL" # SET-ME
EDXAPP_CMS_BASE: "STUDIO-URL" # SET-ME
EDXAPP_PREVIEW_LMS_BASE: "PREVIEW-URL" # SET-ME
## Site names
EDXAPP_SITE_NAME: ""
EDXAPP_LMS_SITE_NAME: "{{ EDXAPP_LMS_BASE }}"
EDXAPP_CMS_SITE_NAME: "{{ EDXAPP_CMS_BASE }}"
# ## Social media
EDXAPP_YOUTUBE_API_KEY: ""
COMMON_DEPLOYMENT: "prod-koa"
COMMON_ENVIRONMENT: "openedx"
## Email addresses
EDXAPP_CONTACT_EMAIL: "YOUR-EMAIL" # SET-ME
EDXAPP_DEFAULT_FEEDBACK_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_DEFAULT_FROM_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_BUGS_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_BULK_EMAIL_DEFAULT_FROM_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_PAYMENT_SUPPORT_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_PRESS_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_TECH_SUPPORT_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_FEEDBACK_SUBMISSION_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_UNIVERSITY_EMAIL: "{{EDXAPP_CONTACT_EMAIL}}"
EDXAPP_CONTACT_MAILING_ADDRESS: "{{EDXAPP_CONTACT_EMAIL}}"
## Email backend
EDXAPP_EMAIL_BACKEND: "django.core.mail.backends.smtp.EmailBackend"
EDXAPP_EMAIL_HOST: "" # SET-ME
EDXAPP_EMAIL_PORT: 587 # SET-ME
EDXAPP_EMAIL_HOST_USER: "" # SET-ME
EDXAPP_EMAIL_HOST_PASSWORD: "" # SET-ME
EDXAPP_EMAIL_HOST: "" # SET-ME
EDXAPP_EMAIL_PORT: 2525 # SET-ME
EDXAPP_EMAIL_HOST_USER: "" # SET-ME
EDXAPP_EMAIL_HOST_PASSWORD: "" # SET-ME
EDXAPP_EMAIL_USE_TLS: true
EDXAPP_ACE_CHANNEL_DEFAULT_EMAIL: "django_email"
EDXAPP_ACE_CHANNEL_SAILTHRU_DEBUG: false
EDXAPP_ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME: "template"
EDXAPP_ACE_CHANNEL_TRANSACTIONAL_EMAIL: "django_email"
EDXAPP_ACE_ENABLED_CHANNELS: ["django_email"]
EDXAPP_ACE_ENABLED_POLICIES: ["bulk_email_optout"]
# AWS S3 configuration
EDXAPP_AWS_ACCESS_KEY_ID: "" # SET-ME
EDXAPP_AWS_SECRET_ACCESS_KEY: "" # SET-ME
EDXAPP_AWS_STORAGE_BUCKET_NAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-bucket"
EDXAPP_AWS_S3_CUSTOM_DOMAIN: "s3-us-west-1.amazonaws.com/{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}" # change to {s3-[bucket-region].amazon...} if you specify anything other than "global" (the default setting) as an S3 location
EDXAPP_DEFAULT_FILE_STORAGE: "storages.backends.s3boto.S3BotoStorage"
#grade downloads
EDXAPP_GRADE_BUCKET: "{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}"
EDXAPP_GRADE_STORAGE_TYPE: "S3"
EDXAPP_GRADE_ROOT_PATH: "grades"
# ora2 bucket
EDXAPP_FILE_UPLOAD_STORAGE_BUCKET_NAME: "{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}"
# profile images upload in s3
EDXAPP_PROFILE_IMAGE_BACKEND:
class: openedx.core.storage.OverwriteStorage
options:
location: "{{ edxapp_media_dir }}/profile-images/"
base_url: "{{ EDXAPP_MEDIA_URL }}/profile-images/"
EDXAPP_REGISTRATION_EXTRA_FIELDS:
level_of_education: "hidden"
gender: "required"
year_of_birth: "hidden"
mailing_address: "hidden"
goals: "hidden"
honor_code: "hidden"
terms_of_service: "hidden"
city: "hidden"
country: "required"
state: "hidden"
department: "required"
institution: "required"
unit: "required"
position: "required"
EDXAPP_WORKERS:
lms: 4
cms: 2
# time zone
TIME_ZONE: 'America/Vancouver' # SET-ME
ANALYTICS_API_TIME_ZONE: "{{ TIME_ZONE }}"
COURSE_DISCOVERY_TIME_ZONE: "{{ TIME_ZONE }}"
CREDENTIALS_TIME_ZONE: "{{ TIME_ZONE }}"
DISCOVERY_TIME_ZONE: "{{ TIME_ZONE }}"
ECOMMERCE_TIME_ZONE: "{{ TIME_ZONE }}"
EDXAPP_TIME_ZONE: "{{ TIME_ZONE }}"
INSIGHTS_TIME_ZONE: "{{ TIME_ZONE }}"
PROGRAMS_TIME_ZONE: "{{ TIME_ZONE }}"
# oauth/https settings
EDXAPP_OAUTH_ENFORCE_SECURE: true
FORUM_SINATRA_ENV: "production"
FORUM_RACK_ENV: "production"
NOTIFIER_DIGEST_EMAIL_SENDER: "{{EDXAPP_DEFAULT_FROM_EMAIL}}"
NOTIFIER_DIGEST_EMAIL_SUBJECT: "Daily Discussion Digest"
NOTIFIER_DIGEST_EMAIL_TITLE: "Discussion Digest"
NOTIFIER_DIGEST_EMAIL_DESCRIPTION: "A digest of unread content from course discussions you are following."
NOTIFIER_ENV: "Production"
NOTIFIER_EMAIL_BACKEND: "smtp"
NOTIFIER_EMAIL_HOST: "{{ EDXAPP_EMAIL_HOST }}"
NOTIFIER_EMAIL_PORT: "{{ EDXAPP_EMAIL_PORT }}"
NOTIFIER_EMAIL_USER: "{{ EDXAPP_EMAIL_HOST_USER }}"
NOTIFIER_EMAIL_PASS: "{{ EDXAPP_EMAIL_HOST_PASSWORD }}"
NOTIFIER_EMAIL_USE_TLS: "{{ EDXAPP_EMAIL_USE_TLS }}"
NOTIFIER_LMS_URL_BASE: "http://{{ EDXAPP_LMS_BASE }}"
NOTIFIER_LMS_SECRET_KEY: "{{ EDXAPP_EDX_API_KEY }}"
NOTIFIER_COMMENT_SERVICE_BASE: "http://localhost:{{ FORUM_NGINX_PORT }}"
NOTIFIER_USER_SERVICE_BASE: "http://localhost:8000"
NOTIFIER_USER_SERVICE_API_KEY: "{{ EDXAPP_EDX_API_KEY }}"
NOTIFIER_USER_SERVICE_HTTP_AUTH_USER: "edx" # you must create a new user in the edx-platform for this
NOTIFIER_USER_SERVICE_HTTP_AUTH_PASS: "edx"
NOTIFIER_CELERY_BROKER_URL: "django://"
NOTIFIER_LOGO_IMAGE_URL: "{{ NOTIFIER_LMS_URL_BASE }}/static/images/header-logo.png" # this will vary depending on the theme
NOTIFIER_SUPERVISOR_LOG_DEST: "{{ COMMON_DATA_DIR }}/log/supervisor"
EDXAPP_MONGO_USER: 'edxapp'
EDXAPP_MONGO_DB_NAME: 'edxapp'
FORUM_MONGO_USER: "cs_comments_service"
FORUM_MONGO_DATABASE: "cs_comments_service"
MONGO_ADMIN_USER: 'admin'
MONGO_USERS:
- user: "{{ FORUM_MONGO_USER }}"
password: "{{FORUM_MONGO_PASSWORD}}"
database: "{{ FORUM_MONGO_DATABASE }}"
roles: readWrite
- user: "{{ EDXAPP_MONGO_USER }}"
password: "{{EDXAPP_MONGO_PASSWORD}}"
database: "{{ EDXAPP_MONGO_DB_NAME }}"
roles: readWrite
EDXAPP_LOGIN_REDIRECT_WHITELIST: ["{{EDXAPP_CMS_BASE}}"]
EDXAPP_SESSION_COOKIE_DOMAIN: "" # SET-ME Something like .DOMAIN-NAME don't forget "." before the domain name
COMMON_HTPASSWD_USER: "user"
EDXAPP_MYSQL_CSMH_USER: "edxapp_cmsh001"
# Secrets
MYSQL_ROOT_PASSWORD: "{{ SECRET_MYSQL_ROOT_PASSWORD }}"
COMMON_HTPASSWD_PASS: "{{SECRET_COMMON_HTPASSWD_PASS}}"
COMMON_MONGO_READ_ONLY_PASS: "{{SECRET_COMMON_MONGO_READ_ONLY_PASS}}"
COMMON_MYSQL_ADMIN_PASS: "{{SECRET_COMMON_MYSQL_ADMIN_PASS}}"
COMMON_MYSQL_MIGRATE_PASS: "{{SECRET_COMMON_MYSQL_MIGRATE_PASS}}"
COMMON_MYSQL_READ_ONLY_PASS: "{{SECRET_COMMON_MYSQL_READ_ONLY_PASS}}"
EDXAPP_CELERY_PASSWORD: "{{SECRET_EDXAPP_CELERY_PASSWORD}}"
EDXAPP_COMMENTS_SERVICE_KEY: "{{ SECRET_EDXAPP_COMMENTS_SERVICE_KEY }}"
EDXAPP_MYSQL_CSMH_PASSWORD: "{{SECRET_EDXAPP_MYSQL_CSMH_PASSWORD}}"
EDXAPP_MYSQL_PASSWORD: "{{SECRET_EDXAPP_MYSQL_PASSWORD}}"
EDXAPP_MYSQL_PASSWORD_ADMIN: "{{SECRET_EDXAPP_MYSQL_PASSWORD_ADMIN}}"
EDXAPP_MYSQL_PASSWORD_READ_ONLY: "{{SECRET_EDXAPP_MYSQL_PASSWORD_READ_ONLY}}"
FORUM_API_KEY: "{{SECRET_FORUM_API_KEY}}"
MARIADB_CLUSTER_PASSWORD_ADMIN: "{{SECRET_MARIADB_CLUSTER_PASSWORD_ADMIN}}"
MONGO_ADMIN_PASSWORD: "{{SECRET_MONGO_ADMIN_PASSWORD}}"
mongo_admin_password: "{{ MONGO_ADMIN_PASSWORD }}"
NOTIFIER_COMMENT_SERVICE_API_KEY: "{{ FORUM_API_KEY }}"
XQUEUE_BASIC_AUTH_PASSWORD: "{{SECRET_XQUEUE_BASIC_AUTH_PASSWORD}}"
XQUEUE_BASIC_AUTH_USER: "{{SECRET_XQUEUE_BASIC_AUTH_USER}}"
XQUEUE_MYSQL_PASSWORD: "{{SECRET_XQUEUE_MYSQL_PASSWORD}}"
XQUEUE_RABBITMQ_PASS: "{{SECRET_XQUEUE_RABBITMQ_PASS}}"
RABBIT_ADMIN_PASSWORD: "{{SECRET_RABBIT_ADMIN_PASSWORD}}"
EDXAPP_EDXAPP_SECRET_KEY: "{{SECRET_EDXAPP_EDXAPP_SECRET_KEY}}"
EDXAPP_MONGO_PASSWORD: "{{SECRET_EDXAPP_MONGO_PASSWORD}}"
FORUM_MONGO_PASSWORD: "{{SECRET_FORUM_MONGO_PASSWORD}}"
EDXAPP_AWS_SECRET_ACCESS_KEY: "{{ SECRET_EDXAPP_AWS_SECRET_ACCESS_KEY }}"
Last updated