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