env-ansible/local.yml

138 lines
3.5 KiB
YAML

---
# Harmonize my systems rather than doing everything manually. :)
# Setup of any device connected to this repo.
- name: Main | Default Setup
hosts: localhost
connection: local
become: true
pre_tasks:
- include: facts/general/system.yml
- include: facts/general/package.yml
- include: facts/general/service.yml
- include: facts/general/user.yml
- include: tasks/general/start.yml
tasks:
- include: tasks/general/software/packages.yml
- include: tasks/general/software/services.yml
ignore_errors: yes
- include: facts/general/gather.yml
- include: tasks/general/acct_mgmt/groups.yml
- include: tasks/general/acct_mgmt/users.yml
- include: tasks/general/acct_mgmt/sudo.yml
- include: tasks/general/acct_mgmt/keys.yml
- include: tasks/general/acct_mgmt/mounts.yml
- include: tasks/general/scripts/root.yml
- include: tasks/general/cron/ansible.yml
# TODO Need to refactor. Maybe tasks/general/cron/freebsd.yml
- include: tasks/workstation/freebsd/cron/ansible.yml
when: ansible_system == "FreeBSD"
# Additional setup for systems with GUI.
- name: Main | Workstation UI Setup
hosts: workstation
connection: local
become: true
pre_tasks:
- include: facts/workstation/package.yml
tasks:
# Set up any systems that do not come with Desktop Environments
# TODO Need to refactor. Maybe tasks/workstation/setup_gui/freebsd.yml
- include: tasks/workstation/freebsd/software/gui.yml
when: ansible_system == "FreeBSD"
# Additional tasks to configure systems with Desktop Environments
- include: tasks/workstation/linux/software/flatpaks.yml
when: ansible_system == "Linux" and flatpak_distro
- name: Workstation | Linux | Packages | Not Implemented
shell: echo "Not implemented yet. :("
when: ansible_system == "Linux" and not flatpak_distro
- include: tasks/workstation/linux/cron/ansible.yml
when: ansible_system == "Linux"
post_tasks:
- include: tasks/workstation/settings/gnome.yml
# Additional setup for miners!
- name: Main | Miner Setup
hosts: miner
connection: local
become: true
pre_tasks:
- include: tasks/miner/debug.yml
- include: facts/miner/gather.yml
- include: tasks/miner/acct_mgmt/users.yml
- include: facts/miner/system.yml
- include: facts/miner/config.yml
- include: facts/miner/pool.yml
# Installations
tasks:
### CPU SECTION ###
# Monero #
- include: tasks/miner/software/xmr-stak-cpu.yml
when: xmr_stak_cpu is defined
### GPU Section ###
## Drivers ##
- include: tasks/miner/drivers/amdgpu.yml
when: ansible_distribution == "Ubuntu" and amdgpu is defined
# Ethereum #
- include: tasks/miner/software/ethminer.yml
when: ethminer is defined
- include: tasks/miner/software/nanominer.yml
when: nanominer is defined
# Scheduling
post_tasks:
- include: tasks/miner/cron/ansible.yml
- include: tasks/miner/cron/mfn.yml
# Easy to deploy server configurations.
- name: Main | Server Setup
hosts: server
connection: local
become: true
tasks:
- include: tasks/server/onlyoffice.yml
when: onlyoffice is defined and ansible_pkg_mgr == "apt"
# Create reports to analyze security.
- name: Main | Hardness Tests
hosts: localhost
connection: local
become: true
tasks:
- include: tasks/general/tests/nmap.yml
- include: tasks/general/tests/lynis.yml
post_tasks:
- include: tasks/general/finish.yml