145 lines
2.9 KiB
YAML
145 lines
2.9 KiB
YAML
---
|
|
- hosts: all
|
|
handlers:
|
|
- import_tasks: global_handlers/global_handlers.yml
|
|
connection: local
|
|
vars_files:
|
|
- "os_vars/{{ ansible_distribution | lower }}.yml"
|
|
become: true
|
|
|
|
pre_tasks:
|
|
- name: pre-run | update apt repository (debian, ubuntu, etc.)
|
|
apt: update_cache=yes
|
|
changed_when: false
|
|
when: ansible_distribution in ["Debian", "Ubuntu"]
|
|
- name: pre-run | upgrade system (debian, ubuntu, etc.)
|
|
apt: upgrade=dist
|
|
changed_when: false
|
|
when: ansible_distribution in ["Debian", "Ubuntu"]
|
|
- name: pre-run | update pacman repository (arch)
|
|
pacman: update_cache=yes
|
|
changed_when: false
|
|
when: ansible_distribution == 'Archlinux'
|
|
- name: pre-run |update portage repository (gentoo)
|
|
portage:
|
|
sync: yes
|
|
when: ansible_distribution == 'Gentoo'
|
|
|
|
# run roles
|
|
- hosts: all
|
|
tags: base
|
|
become: true
|
|
roles:
|
|
- base
|
|
|
|
# - hosts: workstation
|
|
# tags: workstation
|
|
# become: true
|
|
# roles:
|
|
# - workstation
|
|
|
|
- hosts: servers
|
|
tags: servers
|
|
become: true
|
|
roles:
|
|
- servers
|
|
|
|
- hosts: nameservers
|
|
tags: servers,nameservers
|
|
become: true
|
|
roles:
|
|
- nameservers
|
|
|
|
- hosts: webservers
|
|
tags: servers,webservers
|
|
become: true
|
|
roles:
|
|
- webservers
|
|
|
|
# - hosts: mailservers
|
|
# tags: servers,mailservers
|
|
# become: true
|
|
# roles:
|
|
# - mailservers
|
|
|
|
- hosts: databases
|
|
tags: servers,databases
|
|
become: true
|
|
roles:
|
|
- databases
|
|
|
|
# - hosts: dhcpservers
|
|
# tags: servers,dhcpservers
|
|
# become: true
|
|
# roles:
|
|
# - dhcpservers
|
|
|
|
- hosts: docker
|
|
tags: servers,docker
|
|
become: true
|
|
roles:
|
|
- docker
|
|
|
|
# - hosts: fileservers
|
|
# tags: servers,fileservers
|
|
# become: true
|
|
# roles:
|
|
# - fileserver
|
|
|
|
- hosts: mastodon
|
|
tags: servers,mastodon
|
|
become: true
|
|
roles:
|
|
- mastodon
|
|
|
|
# - hosts: printspoolers
|
|
# tags: servers,printspoolers
|
|
# become: true
|
|
# roles:
|
|
# - printspooler
|
|
|
|
- hosts: jitsimeet
|
|
tags: servers,jitsimeet,webservers
|
|
become: true
|
|
roles:
|
|
- jitsimeet
|
|
|
|
# - hosts: proxyservers
|
|
# tags: servers,proxyservers
|
|
# become: true
|
|
# roles:
|
|
# - proxyservers
|
|
|
|
# end of roles; cleanup and reporting
|
|
- hosts: all
|
|
become: true
|
|
tasks:
|
|
- name: cleanup package cache (debian and ubuntu)
|
|
tags: always
|
|
apt:
|
|
autoclean: yes
|
|
changed_when: false
|
|
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
|
|
|
- name: autoremove orphan packages (debian and ubuntu)
|
|
tags: always
|
|
apt:
|
|
autoremove: yes
|
|
purge: yes
|
|
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
|
|
|
# - name: send completion alert
|
|
# include_tasks: playbooks/send_completion_alert.yml
|
|
# tags: always
|
|
# when:
|
|
# - task_failed is not defined
|
|
|
|
# - name: send failure alert
|
|
# include_tasks: playbooks/send_failure_alert.yml
|
|
# tags: always
|
|
# when:
|
|
# - task_failed is defined
|
|
# - task_failed == true
|
|
|
|
# vim: ts=2 sw=2 fdm=indent
|