Changeset - a53d9b143128
[Not reviewed]
0 1 0
x - 21 months ago 2023-08-24 02:20:16
xbr@c3l.lu
fix: always overwrite local changes when cloning repo
1 file changed with 1 insertions and 0 deletions:
0 comments (0 inline, 0 general)
gateway/initial_gw_setup.yml
Show inline comments
 
@@ -192,192 +192,193 @@
 
      ansible.builtin.file:
 
        path: /etc/openvpn/server
 
        state: absent
 
      tags: config
 
    - name: Copy hideme config
 
      ansible.builtin.copy:
 
        src: "{{ server_config_dir }}/openvpn/hideme.conf"
 
        dest: /etc/openvpn/hideme.conf
 
        owner: root
 
        group: root
 
        mode: "0644"
 
      tags: config
 
    - name: Copy hideme auth file
 
      ansible.builtin.copy:
 
        src: "{{ server_config_dir }}/openvpn/auth.txt"
 
        dest: /etc/openvpn/auth.txt
 
        owner: root
 
        group: root
 
        mode: "0640"
 
      tags: config
 
    - name: Copy hideme-up script
 
      ansible.builtin.copy:
 
        src: "{{ server_scripts_dir }}/hideme-up"
 
        dest: /etc/openvpn/hideme-up
 
        owner: root
 
        group: root
 
        mode: "0755"
 
      tags: config
 
    - name: Copy hideme-down script
 
      ansible.builtin.copy:
 
        src: "{{ server_scripts_dir }}/hideme-down"
 
        dest: /etc/openvpn/hideme-down
 
        owner: root
 
        group: root
 
        mode: "0755"
 
      tags: config
 
    - name: Copy update-resolv-conf
 
      ansible.builtin.copy:
 
        src: "{{ server_config_dir }}/openvpn/update-resolv-conf"
 
        dest: /etc/openvpn/update-resolv-conf
 
        owner: root
 
        group: root
 
        mode: "0755"
 
      tags: config
 
    - name: Ensure OpenVPN sevice is enabled + starts
 
      ansible.builtin.service:
 
        name: "openvpn@hideme"
 
        state: "started"
 
        enabled: true
 
      tags: config
 

	
 
    # batman-adv
 
    - name: Add batman-adv to modules
 
      community.general.modprobe:
 
        name: "batman-adv"
 
        state: "present"
 
        persistent: "present"
 
      tags: config
 
    - name: Add nf_conntrack to modules
 
      community.general.modprobe:
 
        name: "nf_conntrack"
 
        state: "present"
 
        persistent: "present"
 
      tags: config
 
    - name: Add ebtables to modules
 
      community.general.modprobe:
 
        name: "ebtables"
 
        state: "present"
 
        persistent: "present"
 
      tags: config
 

	
 
    # "check" scripts
 
    - name: Copy check gateway script
 
      ansible.builtin.copy:
 
        src: "{{ server_scripts_dir }}/check_gateway.sh"
 
        dest: /usr/local/bin
 
        owner: root
 
        group: root
 
        mode: "0755"
 
      tags: config
 
    - name: Copy check vpn script
 
      ansible.builtin.copy:
 
        src: "{{ server_scripts_dir }}/check_vpn.sh"
 
        dest: /usr/local/bin
 
        owner: root
 
        group: root
 
        mode: "0755"
 
      tags: config
 

	
 
    # mesh-announce
 
    - name: Clone mesh-announce git repo
 
      ansible.builtin.git:
 
        repo: "https://github.com/ffnord/mesh-announce"
 
        dest: /opt/mesh-announce
 
        # TODO: Verify that there has been no update!
 
        version: 40be9a18ee91fa058478bc04105cbd79fd70279e
 
        force: true # Removes local changes
 
      tags: config
 
    - name: Configure respondd.service file
 
      ansible.builtin.lineinfile:
 
        path: /opt/mesh-announce/respondd.service
 
        regexp: "^ExecStart="
 
        line: "ExecStart=/opt/mesh-announce/respondd.py -d /opt/mesh-announce/providers -f /opt/mesh-announce/respondd.conf"
 
        state: present
 
      tags: config
 
    - name: Symbolic link for respondd.service
 
      ansible.builtin.file:
 
        src: /opt/mesh-announce/respondd.service
 
        dest: /etc/systemd/system/respondd.service
 
        owner: root
 
        group: root
 
        state: link
 
        force: true
 
      tags: config
 
    - name: Copy respondd.conf template w/ IP + Hardware
 
      ansible.builtin.template:
 
        src: "{{ server_config_dir }}/respondd.conf.j2"
 
        dest: /opt/mesh-announce/respondd.conf
 
        owner: root
 
        mode: "0644"
 
      tags: config
 
    - name: Enable + Start respondd.service
 
      ansible.builtin.service:
 
        name: "respondd"
 
        state: "started"
 
        enabled: "true"
 
      tags: config
 

	
 
    # Disables systemd-resolved Stub Listener
 
    - name: Stop systemd-resolved
 
      ansible.builtin.service:
 
        name: "systemd-resolved"
 
        state: "stopped"
 
      tags: config
 
    - name: Copy resolved.conf
 
      ansible.builtin.copy:
 
        src: "{{ server_config_dir }}/systemd-resolved/resolved.conf"
 
        dest: /etc/systemd/resolved.conf
 
        owner: root
 
        group: root
 
        mode: "0644"
 
      tags: config
 
    - name: Create a symbolic link for resolv.conf, replacing the initial resolv.conf
 
      ansible.builtin.file:
 
        src: /run/systemd/resolve/resolv.conf
 
        dest: /etc/resolv.conf
 
        owner: root
 
        group: root
 
        state: link
 
        force: true
 
      tags: config
 
    - name: Start systemd-resolved
 
      ansible.builtin.service:
 
        name: "systemd-resolved"
 
        state: "started"
 
        enabled: "true"
 
      tags: config
 
    - name: Make sure dnsmasq is started
 
      ansible.builtin.service:
 
        name: "dnsmasq"
 
        state: "started"
 
        enabled: "true"
 
      tags: config
 
    - name: Reload dnsmasq
 
      ansible.builtin.service:
 
        name: "dnsmasq"
 
        state: "reloaded"
 
      tags: config
 

	
 
    # Crontab
 
    - name: Add check_gateway to cron
 
      ansible.builtin.cron:
 
        name: "check if gateway is online"
 
        user: root
 
        job: "/usr/local/bin/check_gateway.sh > /dev/null 2>&1"
 
        state: "present"
 
        minute: "*"
 
        hour: "*"
 
        day: "*"
 
        month: "*"
 
        weekday: "*"
 
      tags: config
 
    - name: Add check_vpn to cron
 
      ansible.builtin.cron:
 
        name: "check if vpn is online"
 
        user: root
 
        job: "/usr/local/bin/check_vpn.sh > /dev/null 2>&1"
 
        state: "present"
 
        minute: "*"
 
        hour: "*"
 
        day: "*"
 
        month: "*"
 
        weekday: "*"
0 comments (0 inline, 0 general)