main.yml 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. ---
  2. - name: Install ipset and iptables
  3. ansible.builtin.apt:
  4. name:
  5. - ipset
  6. - iptables
  7. state: present
  8. - name: Create geoblock config directory
  9. ansible.builtin.file:
  10. path: "{{ geoblock_zone_path | dirname }}"
  11. state: directory
  12. owner: root
  13. group: root
  14. mode: "0755"
  15. - name: Deploy geoblock update script
  16. ansible.builtin.template:
  17. src: geoblock-update.sh.j2
  18. dest: "{{ geoblock_script_path }}"
  19. owner: root
  20. group: root
  21. mode: "0755"
  22. notify: reload geoblock
  23. - name: Deploy geoblock systemd service
  24. ansible.builtin.template:
  25. src: geoblock.service.j2
  26. dest: /etc/systemd/system/geoblock.service
  27. owner: root
  28. group: root
  29. mode: "0644"
  30. - name: Run initial geoblock load
  31. ansible.builtin.command:
  32. cmd: "{{ geoblock_script_path }}"
  33. creates: "{{ geoblock_zone_path }}"
  34. - name: Enable geoblock service for boot
  35. ansible.builtin.systemd:
  36. name: geoblock
  37. daemon_reload: yes
  38. enabled: yes
  39. - name: Configure daily cron for geoblock refresh
  40. ansible.builtin.cron:
  41. name: "geoblock-refresh"
  42. hour: "{{ geoblock_cron_hour }}"
  43. minute: "{{ geoblock_cron_minute }}"
  44. job: "{{ geoblock_script_path }}"
  45. user: root