---
# create a new taskotron dev 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

- name: make resultsdb staging
  hosts: taskotron-dev
  user: root
  gather_facts: False

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

  tasks:
  - include: "{{ tasks }}/virt_instance_create.yml"

  handlers:
  - include: "{{ handlers }}/restart_services.yml"

- name: make the box be real
  hosts: taskotron-dev
  user: root
  gather_facts: True

  vars_files: 
   - /srv/web/infra/ansible/vars/global.yml
   - "{{ private }}/vars.yml"
   - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.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: yum-cron, tags:['yumcron'] }
   - { role: sudo, tags:['sudo'] }

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

  handlers:
   - include: "{{ handlers }}/restart_services.yml"

- name: configure taskotron master
  hosts: taskotron-dev
  user: root
  gather_facts: True

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

  roles:
   - { role: taskotron/grokmirror, tags: ['grokmirror'] }
#   - { role: taskotron/cgit, tags: ['cgit'] }
   - { role: taskotron/buildmaster, tags: ['buildmaster'] }
   - { role: taskotron/buildmaster-configure, tags: ['buildmasterconfig'] }
   - { role: taskotron/taskotron-trigger, tags: ['trigger'] }
   - { role: taskotron/taskotron-frontend, tags: ['frontend'] }
   - { role: taskotron/taskotron-proxy, tags: ['taskotronproxy'] }
   - { role: taskotron/fake_fedorainfra, tags: ['fakefedorainfra'] }
   - { role: taskotron/ssl-taskotron, tags: ['ssltaskotron'] }

  handlers:
   - include: "{{ handlers }}/restart_services.yml"


############################################################
# buildbot master setup
#
# Since the buildmaster runs as non-root, do the config as
# the appropriate non-root user
############################################################

# all the bits needed for this are not in this repo yet
#- name: buildbot master setup
#  hosts: taskotron-dev
#  sudo: yes
#  sudo_user: "{{ master_user }}"
#  tags:
#    - buildmasterconfig
#
#  # this eventually needs to differentiate between staging and production cedrts
#  vars_files:
#   - /srv/web/infra/ansible/vars/global.yml
#   - "{{ private }}/vars.yml"
#   - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
#
#  tasks:
#    - include: "{{ tasks }}/buildmaster-config.yml"
#
#  handlers:
#    - include: "{{ handlers }}/restart_services.yml"
