---
# create a new resultsdb production server
# NOTE: make sure there is room/space for this server on the vmhost
# NOTE: most of these vars_path come from group_vars/mirrorlist or from hostvars

- import_playbook: "/srv/web/infra/ansible/playbooks/include/virt-create.yml myhosts=resultsdb-dev:resultsdb-stg:resultsdb-prod"

- name: make the box be real
  hosts: resultsdb-dev:resultsdb-stg:resultsdb-prod
  user: root
  gather_facts: True

  vars_files:
   - /srv/web/infra/ansible/vars/global.yml
   - "/srv/private/ansible/vars.yml"
   - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml

  pre_tasks:
  - import_tasks: "{{ tasks_path }}/yumrepos.yml"

  roles:
   - { role: base, tags: ['base'] }
   - { role: rkhunter, tags: ['rkhunter'] }
   - { role: nagios_client, tags: ['nagios_client'] }
   - { role: hosts, tags: ['hosts']}
   - { role: fas_client, tags: ['fas_client'] }
   - { role: collectd/base, tags: ['collectd_base'] }
   - { role: sudo, tags: ['sudo'] }
   - { role: openvpn/client,
       when: deployment_type == "prod" }
   - apache
   - { role: fedmsg/base,
       when: deployment_type != "dev" }
   - { role: dnf-automatic, tags: ['dnfautomatic'] }
   # Set up for fedora-messaging
   - { role: rabbit/user,
       username: "resultsdb{{ env_suffix }}",
       when: deployment_type == "stg" }

  tasks:
  # this is how you include other task lists
  - import_tasks: "{{ tasks_path }}/2fa_client.yml"
  - import_tasks: "{{ tasks_path }}/motd.yml"

  handlers:
   - import_tasks: "{{ handlers_path }}/restart_services.yml"

- name: configure resultsdb production
  hosts: resultsdb-dev:resultsdb-stg:resultsdb-prod
  user: root
  gather_facts: True

  vars_files:
   - /srv/web/infra/ansible/vars/global.yml
   - "/srv/private/ansible/vars.yml"
   - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml

  roles:
   - { role: taskotron/resultsdb-fedmsg, tags: ['resultsdb-fedmsg'], when: deployment_type == "prod"}
   - { role: taskotron/resultsdb-backend, tags: ['resultsdb-be'] }
   - { role: taskotron/resultsdb-frontend, tags: ['resultsdb-fe'] }
   - { role: taskotron/execdb, tags: ['execdb'] }
   - { role: taskotron/vault, tags: ['vault'], when: deployment_type == "dev" }

  handlers:
   - import_tasks: "{{ handlers_path }}/restart_services.yml"

- name: Install rdbsync
  hosts: resultsdb-stg:resultsdb-prod
  user: root
  gather_facts: True

  handlers:
   - import_tasks: "{{ handlers_path }}/restart_services.yml"

  vars_files:
   - /srv/web/infra/ansible/vars/global.yml
   - "/srv/private/ansible/vars.yml"
   - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml

  roles:
   - { role: rdbsync, tags: ['rdbsync']}
