--- - name: create fastd directories file: path: "/etc/fastd/{{ item.0.id }}vpn-{{ item.1.mtu }}" state: directory mode: 0755 loop: "{{ meshes | subelements('fastd.nodes.instances') }}" - name: template fastd mesh config template: src: fastd-mesh.conf.j2 dest: "/etc/fastd/{{ item.0.id }}vpn-{{ item.1.mtu }}/fastd.conf" mode: 0640 notify: restart fastd mesh instances loop: "{{ meshes | subelements('fastd.nodes.instances') }}" tags: debug - name: install redis-server apt: name: redis-server state: latest default_release: stretch-backports - name: build fastd-limiter shell: "go get -v -u github.com/freifunk-mwu/fastd-limiter" environment: GOPATH: "{{ gopath }}" - name: configure systemd unit for redis-server systemd: name: redis-server.service enabled: yes state: started - name: write fastd-limiter config template: src: fastd-limiter.yaml.j2 dest: /etc/fastd-limiter.yaml owner: admin group: admin mode: 0644 - name: write systemd units for fastd-limiter template: src: "{{ item }}.j2" dest: "/etc/systemd/system/{{ item }}" owner: root group: root mode: 0644 notify: reload systemd loop: - fastd-limiter-limit.service - fastd-limiter-limit.timer - fastd-limiter-peers.service - fastd-limiter-peers.timer - name: configure systemd timers for fastd-limiter systemd: name: "{{ item }}" enabled: yes state: started loop: - fastd-limiter-limit.timer - fastd-limiter-peers.timer - name: write systemd unit fastd-sync-meshkeys.service template: src: fastd-sync-meshkeys.service.j2 dest: /etc/systemd/system/fastd-sync-meshkeys.service owner: root group: root mode: 0644 notify: reload systemd - name: write systemd timer fastd-sync-meshkeys.timer template: src: fastd-sync-meshkeys.timer.j2 dest: /etc/systemd/system/fastd-sync-meshkeys.timer owner: root group: root mode: 0644 notify: reload systemd - name: configure systemd timer for fastd-sync-meshkeys systemd: name: "fastd-sync-meshkeys.timer" enabled: yes state: started - name: configure systemd unit fastd@ systemd: name: "fastd@{{ item.0.id }}vpn-{{ item.1.mtu }}" enabled: yes state: started loop: "{{ meshes | subelements('fastd.nodes.instances') }}" - name: build fastd-exporter binary shell: "go get -v -u github.com/freifunk-darmstadt/fastd-exporter" environment: GOPATH: "{{ gopath }}" notify: restart fastd-exporter - name: copy vhost fastd_exporter.conf template: src: "fastd_exporter_vhost.conf.j2" dest: "/etc/nginx/conf.d/fastd_exporter.conf" notify: restart nginx - name: create systemd unit for fastd-exporter template: src: "fastd-exporter.service.j2" dest: "/etc/systemd/system/fastd-exporter.service" notify: - reload systemd - restart fastd-exporter - name: configure fastd-exporter systemd unit systemd: name: "fastd-exporter.service" enabled: yes state: started