--- # 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 ####### 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") - include: tasks/server/software/git.yml when: git and ansible_pkg_mgr in ("apt") 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