From caa5210559969511122e327df0c704d89abc4c10 Mon Sep 17 00:00:00 2001 From: Jacob Babor Date: Sun, 29 Oct 2023 14:07:46 -0500 Subject: [PATCH] Remove old homelab configs --- playbooks/home_app.yml | 152 ---------------------------------- playbooks/home_automation.yml | 43 ---------- playbooks/home_bastion.yml | 12 --- playbooks/home_db.yml | 45 ---------- playbooks/home_fs.yml | 35 -------- playbooks/home_game.yml | 96 --------------------- playbooks/home_media.yml | 70 ---------------- playbooks/local_dns.yml | 22 ----- playbooks/site_main.yml | 8 -- 9 files changed, 483 deletions(-) delete mode 100755 playbooks/home_app.yml delete mode 100755 playbooks/home_automation.yml delete mode 100755 playbooks/home_bastion.yml delete mode 100755 playbooks/home_db.yml delete mode 100755 playbooks/home_fs.yml delete mode 100755 playbooks/home_game.yml delete mode 100755 playbooks/home_media.yml diff --git a/playbooks/home_app.yml b/playbooks/home_app.yml deleted file mode 100755 index 65a3b14..0000000 --- a/playbooks/home_app.yml +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env ansible-playbook -# vim:ft=ansible: -# Webservers ---- -- hosts: pi-octoprint-1.home.mgmt.desu.ltd - gather_facts: no - module_defaults: - docker_container: - state: started - restart_policy: unless-stopped - pull: yes - tasks: - - name: include tasks for applications - include_tasks: tasks/{{ item }} - with_items: - - app/octoprint.yml - tags: [ always ] - roles: - - role: backup - vars: - backup_s3backup_list_extra: - - /data - tags: [ backup ] -- hosts: vm-ddns-1.home.mgmt.desu.ltd - gather_facts: no - module_defaults: - docker_container: - state: started - restart_policy: unless-stopped - pull: yes - tasks: - - name: include tasks for applications - include_tasks: tasks/{{ item }} - with_items: - - app/ddclient.yml - - app/ddns-route53.yml - tags: [ always ] - roles: - - role: backup - vars: - backup_s3backup_list_extra: - - /data - tags: [ backup ] -- hosts: vm-scan-1.home.mgmt.desu.ltd - gather_facts: no - module_defaults: - docker_container: - state: started - restart_policy: unless-stopped - pull: yes - pre_tasks: - - name: ensure docker network - docker_network: name=web - tags: [ docker ] - tasks: - - name: include tasks for applications - include_tasks: tasks/{{ item }} - with_items: - - app/gvm.yml - tags: [ always ] - roles: - - role: backup - vars: - backup_s3backup_list_extra: - - /data - tags: [ backup ] -- hosts: vm-syncthing-1.home.mgmt.desu.ltd - gather_facts: no - module_defaults: - docker_container: - state: started - restart_policy: unless-stopped - pull: yes - pre_tasks: - - name: ensure docker network - docker_network: name=web - tags: [ docker ] - tasks: - - name: assure nfs mount directory - ansible.builtin.file: path=/data/syncthing/data state=directory mode=0755 - tags: [ storage ] - - name: assure nfs mount - mount: path=/data/syncthing/data src=192.168.190.1:/nfs/syncthing fstype=nfs4 opts="rsize=10248576,wsize=1048576,soft,timeo=600,retrans=2,_netdev" state=mounted - tags: [ storage ] - - name: include tasks for applications - include_tasks: tasks/{{ item }} - with_items: - - app/syncthing.yml - tags: [ always ] - - name: assure movement cronjobs - ansible.builtin.cron: - name: "{{ item.name }}" - minute: 0 - hour: 5 - job: "rsync -avHS --remove-source-files '/data/syncthing/data/{{ item.src }}/' '/data/syncthing/data/{{ item.dest }}/' && rmdir '/data/syncthing/data/{{ item.src }}' " - with_items: - # This works around a bug in my Android app lol - - name: husky workaround - src: Pictures/Husky - dest: Pictures/Unsorted/Husky - - name: husky test workaround - src: Pictures/Husky Test - dest: Pictures/Unsorted/Husky - - name: move messaging to unsorted - src: Pictures/Messaging - dest: Pictures/Unsorted/Messaging - - name: move discord to unsorted - src: Pictures/Discord - dest: Pictures/Unsorted/Discord - - name: move camera roll to unsorted - src: Pictures/Camera Roll - dest: Pictures/Unsorted/Camera Roll - - name: move cp2077 to screenshots - src: Pictures/Cyberpunk 2077 - dest: Pictures/Screenshots/Vidya/Cyberpunk 2077 - tags: [ cron ] - - name: assure zone identifier cleanup cronjob - ansible.builtin.cron: - name: cleanup zone.identtifier - minute: 0 - hour: 3 - job: 'find /data/syncthing/data/ -type f -iname "*:Zone.Identifier" -delete' - tags: [ cron ] - - name: assure filename sanitize cronjobs - ansible.builtin.cron: - name: "sanitize {{ item }}" - minute: 0 - hour: 4 - job: 'find /data/syncthing/data/ -type f -iname "*{{ item }}" | while read line; do mv "$line" "${line%{{ item }}}"; done' - with_items: - - ?name=orig.png - - ?name=orig.jpeg - tags: [ cron ] - roles: - - role: backup - vars: - backup_s3backup_list_extra: - - /data/syncthing/config - tags: [ backup ] - - role: ingress - vars: - ingress_container_image: "nginx:latest" - ingress_container_ports: - - 80:80 - ingress_container_config_mount: /etc/nginx/conf.d - ingress_container_persist_dir: /data/nginx - ingress_listen_args: 80 - ingress_listen_tls: no - ingress_servers: - - name: syncthing.local.desu.ltd - proxy_pass: http://syncthing:8384 - tags: [ ingress ] diff --git a/playbooks/home_automation.yml b/playbooks/home_automation.yml deleted file mode 100755 index 0ef504a..0000000 --- a/playbooks/home_automation.yml +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env ansible-playbook -# vim:ft=ansible: ---- -# Home media storage Pi -- hosts: pi-homeauto-1.home.mgmt.desu.ltd - gather_facts: no - module_defaults: - docker_container: - state: started - restart_policy: unless-stopped - pull: yes - pre_tasks: - - name: ensure docker network - docker_network: name=web - tags: [ docker ] - tasks: - - name: include tasks for apps - include_tasks: tasks/app/{{ task }} - with_items: - - homeassistant.yml - loop_control: - loop_var: task - tags: [ always ] - roles: - - role: backup - vars: - backup_s3backup_list_extra: - - /data - backup_time: "Sun *-*-* 02:00:00" - tags: [ backup ] - - role: ingress - vars: - ingress_container_image: "nginx:latest" - ingress_container_ports: - - 80:80 - ingress_container_config_mount: /etc/nginx/conf.d - ingress_container_persist_dir: /data/nginx - ingress_listen_args: 80 - ingress_listen_tls: no - ingress_servers: - - name: homeauto.local.desu.ltd - proxy_pass: http://localhost:8123 - tags: [ ingress ] diff --git a/playbooks/home_bastion.yml b/playbooks/home_bastion.yml deleted file mode 100755 index 152bf0f..0000000 --- a/playbooks/home_bastion.yml +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env ansible-playbook -# vim:ft=ansible: ---- -- hosts: vm-bastion-1.home.mgmt.desu.ltd - gather_facts: no - tasks: - - name: assure nfs mount directory - ansible.builtin.file: path=/nfs/projects state=directory mode=0755 - tags: [ storage ] - - name: assure nfs mount - mount: path=/nfs/projects src=192.168.190.1:/nfs/projects fstype=nfs4 opts="rsize=10248576,wsize=1048576,soft,timeo=600,retrans=2,_netdev" state=mounted - tags: [ storage ] diff --git a/playbooks/home_db.yml b/playbooks/home_db.yml deleted file mode 100755 index 545fea5..0000000 --- a/playbooks/home_db.yml +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env ansible-playbook -# vim:ft=ansible: ---- -# Home media storage Pi -- hosts: vm-psql-1.home.mgmt.desu.ltd - roles: - - role: backup - vars: - backup_time: "Mon *-*-* 02:00:00" - tags: [ backup ] - - role: geerlingguy.postgresql - vars: - postgresql_global_config_options: - - option: listen_addresses - value: "*" - # All of these options are just for debugging stuff - # This IS a lab environment after all - - option: log_directory - value: "pg_log" - - option: log_filename - value: "postgresql-%Y-%m-%d_%H%M%S.log" - - option: log_statement - value: all - - option: logging_collector - value: "on" - postgresql_hba_entries: - - { type: local, database: all, user: postgres, auth_method: peer } - - { type: local, database: all, user: all, auth_method: md5 } - - { type: host, database: all, user: all, address: '127.0.0.0/8', auth_method: md5 } - - { type: host, database: all, user: all, address: '::1/128', auth_method: md5 } - # Used for internal access from other nodes - - { type: host, database: all, user: all, address: '192.168.0.0/16', auth_method: md5 } - postgresql_users: - - name: gulagbot-desultd - password: "{{ secret_gulagbot_db_pass }}" - - name: gulagbot-test - password: "{{ secret_gulagbot_db_pass }}" - - name: nagios - password: "{{ secret_postgresql_monitoring_password }}" - postgresql_databases: - - name: gulagbot-desultd - owner: gulagbot-desultd - - name: gulagbot-test - owner: gulagbot-test - tags: [ home, db, psql ] diff --git a/playbooks/home_fs.yml b/playbooks/home_fs.yml deleted file mode 100755 index c4f4686..0000000 --- a/playbooks/home_fs.yml +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env ansible-playbook -# vim:ft=ansible: ---- -# Home media storage Pi -- hosts: vm-fs-1.home.mgmt.desu.ltd - tasks: - - name: assure nfs directory - ansible.builtin.file: path=/nfs state=directory mode=0755 - roles: - - role: backup - vars: - backup_s3backup_list_extra: - - /data - backup_time: "Mon *-*-* 02:00:00" - tags: [ backup ] - - role: geerlingguy.nfs - vars: - nfs_exports: - - "/nfs 192.168.0.0/16(rw,no_root_squash,sync) 172.24.0.0/16(rw,no_root_squash,sync)" - tags: [ storage, nfs ] -# - role: bertvv.samba -# vars: -# samba_users: -# - name: salt -# password: "{{ samba_user_salt_password }}" -# samba_shares: -# - name: media -# browseable: yes -# comment: 'Mass storage for all the things' -# group: salt -# guest_ok: yes -# owner: 911 -# public: yes -# path: /nfs -# tags: [ storage, samba, smb ] diff --git a/playbooks/home_game.yml b/playbooks/home_game.yml deleted file mode 100755 index a2aa819..0000000 --- a/playbooks/home_game.yml +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env ansible-playbook -# vim:ft=ansible: -# Game servers ---- -- hosts: vm-tes3mp-1.home.mgmt.desu.ltd - gather_facts: no - roles: - - role: docker-tes3mp - vars: - tes3mp_server_hostname: "The N'Wah Spitoon" - tes3mp_server_port: "55455" - tags: [ tes3mp ] - - role: backup - vars: - backup_s3backup_list_extra: - - /data - backup_s3backup_exclude_list_extra: - - /data/tes3mp/generic/backups - tags: [ backup ] -- hosts: vm-str-1.home.mgmt.desu.ltd - gather_facts: no - tasks: - - name: assure str container - docker_container: - name: str - state: started - image: tiltedphoques/st-reborn-server:latest - restart_policy: unless-stopped - pull: yes - ports: - - "10578:10578/udp" - volumes: - - /data/str/config:/home/server/config - - /data/str/data:/home/server/Data - - /data/str/logs:/home/server/logs - tags: [ str, skyrim, docker ] - roles: - - role: backup - vars: - backup_s3backup_list_extra: - - /data - tags: [ backup ] -- hosts: vm-minecraft-2.home.mgmt.desu.ltd - gather_facts: no - roles: - - role: docker-minecraft - vars: - minecraft_name: oldpack - minecraft_external_port: 40501 - minecraft_pack_zip: "https://srv.9iron.club/files/packs/1.7.10-magicpack/server.zip" - minecraft_image: "rehashedsalt/minecraft-forge:1.7.10-master" - minecraft_server_properties: - allow-flight: "true" - difficulty: "3" - motd: "Ya boy at it again with another playthrough of the same goddamn modpack" - tags: [ minecraft ] - - role: backup - vars: - backup_s3backup_list_extra: - - /data - - /etc - backup_s3backup_exclude_list_extra: - - /data/minecraft/oldpack/backups - tags: [ backup ] -- hosts: vm-terraria-1.home.mgmt.desu.ltd - gather_facts: no - roles: - - role: docker-tmodloader13 - vars: - tmodloader_name: thorium - tmodloader_mods: - - ThoriumMod - - BossChecklist - - MagicStorageExtra - - SmartDoors - - SummonersAssociation - - VeinMiner - - Unleveled - - FKBossHealthBar - - ZoomOut - - AlchemistNPC - - BossCursor - - Bags_To_Money - - WingSlot - - StarsAbove - - SubworldLibrary - - StarsAboveMusic - tags: [ tmodloader, terraria ] - - role: backup - vars: - backup_s3backup_list_extra: - - /data - - /etc - backup_s3backup_exclude_list_extra: - - /data/terraria-thorium/backups - tags: [ backup ] diff --git a/playbooks/home_media.yml b/playbooks/home_media.yml deleted file mode 100755 index a2174f4..0000000 --- a/playbooks/home_media.yml +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env ansible-playbook -# vim:ft=ansible: ---- -- hosts: vm-media-1.home.mgmt.desu.ltd - gather_facts: no - module_defaults: - docker_container: - state: started - restart_policy: unless-stopped - pull: yes - pre_tasks: - - name: assure nfs mount directory - ansible.builtin.file: path=/data state=directory mode=0755 - tags: [ pis, storage ] - - name: assure nfs mount - mount: path=/data/shared src=192.168.190.1:/nfs/media fstype=nfs4 opts="rsize=10248576,wsize=1048576,soft,timeo=600,retrans=2,_netdev" state=mounted - tags: [ pis, storage ] - - name: ensure docker network - docker_network: name=web - tags: [ docker ] - - name: include tasks for apps - include_tasks: tasks/app/{{ task }} - with_items: - - redis.yml - loop_control: - loop_var: task - tags: [ always ] - - name: include tasks for web services - include_tasks: tasks/web/{{ task }} - with_items: - - transmission.yml - - prowlarr.yml - - sonarr.yml - - radarr.yml - - lidarr.yml - - jellyfin.yml - loop_control: - loop_var: task - tags: [ always ] - roles: - - role: backup - vars: - backup_s3backup_list_extra: - - /data/transmisson - - /data/sonarr - backup_time: "Mon *-*-* 02:00:00" - tags: [ backup ] - - role: ingress - vars: - ingress_container_image: "nginx:latest" - ingress_container_ports: - - 80:80 - ingress_container_config_mount: /etc/nginx/conf.d - ingress_container_persist_dir: /data/nginx - ingress_listen_args: 80 - ingress_listen_tls: no - ingress_servers: - - name: transmission.local.desu.ltd - proxy_pass: http://transmission:9091 - - name: prowlarr.local.desu.ltd - proxy_pass: http://prowlarr:9696 - - name: jellyfin.local.desu.ltd - proxy_pass: http://jellyfin:8096 - - name: sonarr.local.desu.ltd - proxy_pass: http://sonarr:8989 - - name: radarr.local.desu.ltd - proxy_pass: http://radarr:7878 - - name: lidarr.local.desu.ltd - proxy_pass: http://lidarr:8686 - tags: [ ingress ] diff --git a/playbooks/local_dns.yml b/playbooks/local_dns.yml index 29953c2..5fd5343 100755 --- a/playbooks/local_dns.yml +++ b/playbooks/local_dns.yml @@ -122,28 +122,6 @@ value: vm-general-1.ashburn.mgmt.desu.ltd - record: transmission.media.desu.ltd value: vm-general-1.ashburn.mgmt.desu.ltd - # Local - - record: homeauto.local.desu.ltd - value: pi-homeauto-1.home.mgmt.desu.ltd - - record: jackett.local.desu.ltd - value: zt1.vm-media-1.home.mgmt.desu.ltd - state: absent - - record: prowlarr.local.desu.ltd - value: zt1.vm-media-1.home.mgmt.desu.ltd - - record: jellyfin.local.desu.ltd - value: zt1.vm-media-1.home.mgmt.desu.ltd - - record: radarr.local.desu.ltd - value: zt1.vm-media-1.home.mgmt.desu.ltd - - record: sonarr.local.desu.ltd - value: zt1.vm-media-1.home.mgmt.desu.ltd - - record: lidarr.local.desu.ltd - value: zt1.vm-media-1.home.mgmt.desu.ltd - - record: syncthing.local.desu.ltd - value: vm-syncthing-1.home.mgmt.desu.ltd - - record: transmission.local.desu.ltd - value: zt1.vm-media-1.home.mgmt.desu.ltd - - record: octoprint.local.desu.ltd - value: wlan0.pi-octoprint-1.home.mgmt.desu.ltd loop_control: label: "{{ item.record }}" delegate_to: localhost diff --git a/playbooks/site_main.yml b/playbooks/site_main.yml index 9fb2344..51fd574 100755 --- a/playbooks/site_main.yml +++ b/playbooks/site_main.yml @@ -3,14 +3,6 @@ --- # Main playbooks for machines across my environments # Does not include supplementary management configuration - # Home configuration -- import_playbook: home_db.yml -- import_playbook: home_fs.yml -- import_playbook: home_app.yml -- import_playbook: home_game.yml -- import_playbook: home_media.yml -- import_playbook: home_automation.yml -- import_playbook: home_bastion.yml # Production configuration - import_playbook: prod_db.yml - import_playbook: prod_web.yml