ansible/playbooks/groups/taskotron.yml

81 lines
3.2 KiB
YAML

---
# 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
- import_playbook: "/srv/web/infra/ansible/playbooks/include/virt-create.yml myhosts=taskotron-dev:taskotron-stg:taskotron-prod"
- name: make the box be real
hosts: taskotron-dev:taskotron-stg:taskotron-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: 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: dnf-automatic, tags: ['dnfautomatic'] }
- { role: sudo, tags: ['sudo'] }
- { role: openvpn/client,
when: deployment_type == "prod", tags: ['openvpn_client'] }
- apache
- { role: fedmsg/base }
tasks:
# this is how you include other task lists
- include_tasks: "{{ tasks_path }}/yumrepos.yml"
- include_tasks: "{{ tasks_path }}/2fa_client.yml"
- include_tasks: "{{ tasks_path }}/motd.yml"
handlers:
- import_tasks: "{{ handllers_path }}/restart_services.yml"
- name: configure taskotron master
hosts: taskotron-dev:taskotron-stg:taskotron-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: nfs/client, mnt_dir: '/srv/taskotron/', nfs_src_dir: 'fedora_taskotron_dev', nfs_mount_opts: 'rw,hard,bg,intr,noatime,nodev,nosuid,nfsvers=3,sec=sys', when: deployment_type == 'dev' }
- { role: nfs/client, mnt_dir: '/srv/taskotron/', nfs_src_dir: 'fedora_taskotron_stg', nfs_mount_opts: 'rw,hard,bg,intr,noatime,nodev,nosuid,nfsvers=3,sec=sys', when: deployment_type == 'stg' }
- { role: nfs/client, mnt_dir: '/srv/taskotron/', nfs_src_dir: 'fedora_taskotron_prod', nfs_mount_opts: 'rw,hard,bg,intr,noatime,nodev,nosuid,nfsvers=3,sec=sys', when: deployment_type == 'prod' }
- { 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-master, tags: ['taskotronmaster'] }
handlers:
- import_tasks: "{{ handllers_path }}/restart_services.yml"
- name: configure standalone taskotron host
hosts: taskotron-dev
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/taskotron-proxy, tags: ['taskotronproxy'] }
- { role: taskotron/ssl-taskotron, tags: ['ssltaskotron'] }
handlers:
- import_tasks: "{{ handllers_path }}/restart_services.yml"