env-ansible/local.yml
Hyperling 98f24fbbef
General Fixes (#20)
* Remove redundant calls to facts.

* Must have accidentally removed miner/system thinking it was general/system.

* Add missing variable xmr_stak_cpu.

* Ignore when connection to GitHub fails.

* Telegraf agents have been hoarding resources on Debian servers. Reset job will killall should work properly now.

* Once the function sets accept, it is staying for the session. Need to unset in case `update -y` is run, cancelled, and then `update` is run.
2021-12-17 17:34:21 -06:00

244 lines
6.8 KiB
YAML

---
# Harmonize systems rather than doing everything manually. :)
# Setup of any device connected to this repo.
- name: Main | Default Setup
hosts: localhost
connection: local
become: true
tasks:
- include: facts/general/gather.yml
- include: tasks/general/acct_mgmt/provision_config.yml
- 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
- include: tasks/general/software/packages.yml
- include: tasks/general/software/services.yml
ignore_errors: yes
- include: tasks/general/software/sendmail.yml
ignore_errors: yes
when: ansible_system == "FreeBSD"
- 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/scripts/user.yml
- include: tasks/general/cron/ansible.yml
- include: tasks/general/cron/root.yml
# TODO Need to refactor. Maybe tasks/general/cron/freebsd.yml
- include: tasks/workstation/freebsd/cron/ansible.yml
when: ansible_system == "FreeBSD"
- include: tasks/general/software/metasploit.yml
when: pentesting == true
- name: FORTESTING | Outside Block | Output Block Variables
debug:
var: "{{ item }}"
loop:
- workstation
- miner
- server
- name: FORTESTING | Block
block:
- name: FORTESTING | Inside Block | Output Block Variables
debug:
var: "{{ item }}"
loop:
- workstation
- miner
- server
- name: FORTESTING | Inside Block | W Test 1 # Did not run on true. :(
shell: echo "test"
when: workstation == "true"
- name: FORTESTING | Inside Block | W Test 2 # Did run on true! :)
shell: echo "test"
when: workstation == true
- name: FORTESTING | Inside Block | W Test 3 # Did run on true! :)
shell: echo "test"
when: workstation
- name: FORTESTING | Inside Block | M Test 1 # Skipped on false. :)
shell: echo "test"
when: miner == "true"
- name: FORTESTING | Inside Block | M Test 2 # Skipped on false. :)
shell: echo "test"
when: miner == true
- name: FORTESTING | Inside Block | M Test 3 # Skipped on false. :)
shell: echo "test"
when: miner
- name: FORTESTING | Inside Block | S Test 1 # Skipped on yolo. :)
shell: echo "test"
when: server == "true"
- name: FORTESTING | Inside Block | S Test 2 # Skipped on yolo. :)
shell: echo "test"
when: server == true
- name: FORTESTING | Inside Block | S Test 3 # Ran on yolo. :(
shell: echo "test"
when: server
####### Workstations #######
# Additional setup for systems with GUI.
- name: Main | Workstation Setup
block:
- include: facts/workstation/package.yml
# Set Up Desktop Environments #
- include: tasks/workstation/freebsd/software/gui.yml
when: ansible_system == "FreeBSD"
- include: tasks/workstation/linux/software/gnome.yml
when: ansible_system == "Linux"
- include: tasks/workstation/linux/software/dwm.yml
when: ansible_system in ("Linux", "FreeBSD")
ignore_errors: yes
# Software Tasks #
- include: tasks/workstation/linux/software/flatpaks.yml
when: ansible_system == "Linux" and flatpak_distro
- include: tasks/workstation/linux/software/debs.yml
when: ansible_pkg_mgr == "apt"
- include: tasks/workstation/linux/software/brave.yml
when: ansible_pkg_mgr in ("apt", "dnf")
- include: tasks/workstation/mac-os/software/brew.yml
when: ansible_system == "Darwin"
- include: tasks/workstation/mac-os/software/dmg.yml
when: ansible_system == "Darwin"
# Configuration Tasks #
- include: tasks/workstation/settings/gnome.yml
- include: tasks/workstation/linux/cron/ansible.yml
when: ansible_system == "Linux"
- include: tasks/workstation/settings/nfs.yml
- include: tasks/workstation/settings/rdp.yml
when: rdp == true
- include: tasks/workstation/settings/vnc.yml
when: vnc == true
- include: tasks/workstation/settings/services.yml
ignore_errors: yes
when: workstation == true
####### Miners #######
# Additional setup for miners.
- name: Main | Miner Setup
block:
##### Setup #####
- include: tasks/miner/debug.yml
- include: tasks/miner/acct_mgmt/users.yml
- include: facts/miner/system.yml
- include: facts/miner/config.yml
- include: facts/miner/pool.yml
##### Installations #####
### 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 == true
# Ethereum #
- include: tasks/miner/software/ethminer.yml
when: ethminer == true
- include: tasks/miner/software/nanominer.yml
when: nanominer == true
##### Scheduling #####
- include: tasks/miner/cron/ansible.yml
- include: tasks/miner/cron/mfn.yml
when: miner == true
####### Servers #######
# Easy to deploy server configurations.
- name: Main | Server Setup
block:
- include: tasks/server/software/onlyoffice.yml
when: onlyoffice == true and ansible_pkg_mgr == "apt"
- include: tasks/server/software/influxdb1.yml
when: influxdb1 == true and ansible_pkg_mgr == "apt"
- include: tasks/server/software/influxdb2.yml
when: influxdb2 == true and ansible_pkg_mgr == "apt"
- include: tasks/server/software/grafana.yml
when: grafana == true and ansible_pkg_mgr == "apt"
- include: tasks/server/software/certbot.yml
when: certbot == true
- include: tasks/server/cron/certbot.yml
when: certbot == true
- include: tasks/server/software/hugo.yml
when: hugo == true
- include: tasks/server/software/gitlab.yml
when: gitlab and ansible_pkg_mgr in ("apt", "dnf") and ansible_distribution not in ("Fedora")
when: server == true
####### Reporting #######
# Provide information for analysis.
- include: tasks/general/software/telegraf.yml
- include: tasks/general/tests/nmap.yml
- include: tasks/general/tests/lynis.yml
- include: tasks/general/finish.yml