---

# Example sandbox configuration
# for single server community
# installs

- name: Bootstrap instance(s)
  hosts: all
  gather_facts: no
  become: True
  roles:
    - python

- name: Configure instance(s)
  hosts: all
  become: True
  gather_facts: True
  vars:
    migrate_db: "yes"
    EDXAPP_LMS_NGINX_PORT: '80'
    edx_platform_version: 'master'
    # Set to false if deployed behind another proxy/load balancer.
    NGINX_SET_X_FORWARDED_HEADERS: True
    DISCOVERY_URL_ROOT: 'http://localhost:{{ DISCOVERY_NGINX_PORT }}'
    ecommerce_create_demo_data: true
    credentials_create_demo_data: true
    SANDBOX_ENABLE_DISCOVERY: true
    SANDBOX_ENABLE_ECOMMERCE: true
    SANDBOX_ENABLE_ANALYTICS_API: true
    SANDBOX_ENABLE_INSIGHTS: true
    SANDBOX_ENABLE_RABBITMQ: true
    JOURNALS_ENABLED: false
  roles:
    - role: swapfile
      SWAPFILE_SIZE: 4GB
    - role: nginx
      nginx_sites:
      - certs
      - cms
      - lms
      - forum
      - xqueue
      nginx_default_sites:
      - lms
    - role: edxlocal
      when: EDXAPP_MYSQL_HOST == 'localhost'
    - role: memcache
      when: "'localhost' in ' '.join(EDXAPP_MEMCACHE)"
    - role: mongo_3_2
      when: "'localhost' in EDXAPP_MONGO_HOSTS"
    - role: rabbitmq
      rabbitmq_ip: 127.0.0.1
      when: SANDBOX_ENABLE_RABBITMQ
    - role: edxapp
      celery_worker: True
    - edxapp
    - role: ecommerce
      when: SANDBOX_ENABLE_ECOMMERCE
    - role: ecomworker
      ECOMMERCE_WORKER_BROKER_HOST: 127.0.0.1
      when: SANDBOX_ENABLE_ECOMMERCE
    - role: analytics_api
      when: SANDBOX_ENABLE_ANALYTICS_API
    - role: insights
      when: SANDBOX_ENABLE_INSIGHTS
    # not ready yet: - edx_notes_api
    - demo
    - oauth_client_setup
    - oraclejdk
    - role: elasticsearch
      when: "'localhost' in EDXAPP_ELASTIC_SEARCH_CONFIG|map(attribute='host')"
    - forum
    - role: discovery
      when: SANDBOX_ENABLE_DISCOVERY
    - role: journals
      when: JOURNALS_ENABLED
    - role: notifier
      NOTIFIER_DIGEST_TASK_INTERVAL: 5
    - role: xqueue
      update_users: True
    - certs
    - edx_ansible
    - role: datadog
      when: COMMON_ENABLE_DATADOG
    - role: splunkforwarder
      when: COMMON_ENABLE_SPLUNKFORWARDER
    - role: postfix_queue
      when: POSTFIX_QUEUE_EXTERNAL_SMTP_HOST != ''
    - role: datadog-uninstall
      when: not COMMON_ENABLE_DATADOG