* Move certbot to be first. * Comment out HTTPS, will use reverse proxy until it is working properly. * Enhance `update` for pacman + pkg * `update` enhancements to pkg and apt. * Add more FS types to ignore. * Add `freebsd-update` commands, including a clean of previous upgrade (VMs are small and need space!). * Add sudo. * Put the directory back for future updates. * Avoid exit code 2 from freebsd-update install. * Remove word Cleanup.
		
			
				
	
	
		
			197 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			5.6 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
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    ####### 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/gpu.yml
 | 
						|
        when: ansible_system == "FreeBSD" and bsd_gpu == true
 | 
						|
 | 
						|
      - include: tasks/workstation/freebsd/software/gnome.yml
 | 
						|
        when: ansible_system == "FreeBSD"
 | 
						|
 | 
						|
      - include: tasks/workstation/linux/software/gnome.yml
 | 
						|
        when: ansible_system == "Linux"
 | 
						|
 | 
						|
      - include: tasks/workstation/shared/software/dwm.yml
 | 
						|
        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/freebsd/software/packages.yml
 | 
						|
        when: ansible_system == "FreeBSD"
 | 
						|
 | 
						|
      - 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/shared/settings/gnome.yml
 | 
						|
 | 
						|
      - include: tasks/workstation/linux/cron/ansible.yml
 | 
						|
        when: ansible_system == "Linux"
 | 
						|
 | 
						|
      - include: tasks/workstation/shared/settings/nfs.yml
 | 
						|
 | 
						|
      - include: tasks/workstation/shared/settings/rdp.yml
 | 
						|
        when: rdp == true
 | 
						|
 | 
						|
      - include: tasks/workstation/shared/settings/vnc.yml
 | 
						|
        when: vnc == true
 | 
						|
 | 
						|
      - include: tasks/workstation/shared/settings/services.yml
 | 
						|
        ignore_errors: yes
 | 
						|
 | 
						|
      when: workstation == true
 | 
						|
 | 
						|
  
 | 
						|
# No longer mining, this is now considered deprecated.
 | 
						|
#    ####### 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/certbot.yml
 | 
						|
        when: certbot == true
 | 
						|
      - include: tasks/server/cron/certbot.yml
 | 
						|
        when: certbot == true
 | 
						|
 | 
						|
      - 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/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
 |