8f8184f4cf
If debug_fastd to 'True' log level is set to debug on all fastd instances. Run the playbook with tag 'debug' to invoke only tasks changing debug settings.
172 lines
4.6 KiB
YAML
172 lines
4.6 KiB
YAML
---
|
|
- 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: create fastd peer mesh directories
|
|
file:
|
|
path: "/etc/fastd/{{ item.0.id }}vpn-{{ item.1.mtu }}/peers"
|
|
state: directory
|
|
mode: 0755
|
|
owner: admin
|
|
group: admin
|
|
loop: "{{ meshes | subelements('fastd.nodes.instances') }}"
|
|
|
|
- name: create fastd peer mesh directories for ffbin
|
|
file:
|
|
path: "/etc/fastd/mzvpn-{{ item }}/peers_bingen"
|
|
state: directory
|
|
mode: 0755
|
|
owner: admin
|
|
group: admin
|
|
loop:
|
|
- 1406
|
|
- 1312
|
|
|
|
- name: clone fastd peer mesh repos
|
|
git:
|
|
repo: "{{ item.1.peers.repo }}"
|
|
dest: "/etc/fastd/{{ item.0.id }}vpn-{{ item.1.mtu }}/peers"
|
|
version: "{{ item.1.peers.version }}"
|
|
update: no
|
|
loop: "{{ meshes | subelements('fastd.nodes.instances') }}"
|
|
become: false
|
|
|
|
- name: clone fastd peer mesh repo for ffbin
|
|
git:
|
|
repo: https://github.com/freifunk-bingen/peers-ffbin.git
|
|
dest: "/etc/fastd/mzvpn-{{ item }}/peers_bingen"
|
|
version: master
|
|
update: no
|
|
loop:
|
|
- 1406
|
|
- 1312
|
|
become: false
|
|
|
|
- name: template fastd mesh config
|
|
template:
|
|
src: fastd-mesh.conf.j2
|
|
dest: "/etc/fastd/{{ item.0.id }}vpn-{{ item.1.mtu }}/fastd.conf"
|
|
notify: restart fastd mesh instances
|
|
loop: "{{ meshes | subelements('fastd.nodes.instances') }}"
|
|
tags: debug
|
|
|
|
- name: write fastd mesh secret
|
|
template:
|
|
src: fastd-secret.conf.j2
|
|
dest: "/etc/fastd/{{ item.0.id }}vpn-{{ item.1.mtu }}/secret.conf"
|
|
notify: restart fastd mesh instances
|
|
loop: "{{ meshes | subelements('fastd.nodes.instances') }}"
|
|
|
|
- name: copy peer_limit.conf if not exist
|
|
copy:
|
|
src: peer_limit.conf
|
|
dest: "/etc/fastd/{{ item.0.id }}vpn-{{ item.1.mtu }}/peer_limit.conf"
|
|
owner: admin
|
|
group: admin
|
|
mode: 0640
|
|
force: no
|
|
notify: restart fastd mesh instances
|
|
loop: "{{ meshes | subelements('fastd.nodes.instances') }}"
|
|
|
|
- name: set file attributes for peer_limit.conf
|
|
file:
|
|
path: "/etc/fastd/{{ item.0.id }}vpn-{{ item.1.mtu }}/peer_limit.conf"
|
|
mode: 0640
|
|
owner: admin
|
|
group: admin
|
|
notify: restart fastd mesh instances
|
|
loop: "{{ meshes | subelements('fastd.nodes.instances') }}"
|
|
|
|
- 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: create fastd_status.json file
|
|
file:
|
|
path: /var/www/html/fastd_status.json
|
|
state: touch
|
|
owner: admin
|
|
group: admin
|
|
mode: 0644
|
|
|
|
- name: write configuration for fastd-peer-limit-update script
|
|
template:
|
|
src: fastd_peer_limit_config.yaml.j2
|
|
dest: /home/admin/.ffmwu-config/fastd_peer_limit_config.yaml
|
|
owner: admin
|
|
group: admin
|
|
mode: 0644
|
|
|
|
- name: write systemd unit fastd-peer-limit-update.service
|
|
template:
|
|
src: fastd-peer-limit-update.service.j2
|
|
dest: /etc/systemd/system/fastd-peer-limit-update.service
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
notify: reload systemd
|
|
|
|
- name: write systemd timer fastd-peer-limit-update.timer
|
|
template:
|
|
src: fastd-peer-limit-update.timer.j2
|
|
dest: /etc/systemd/system/fastd-peer-limit-update.timer
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
notify: reload systemd
|
|
|
|
- name: configure systemd timers for fastd-mesh instance
|
|
systemd:
|
|
name: "{{ item }}.timer"
|
|
enabled: yes
|
|
state: started
|
|
loop:
|
|
- fastd-sync-meshkeys
|
|
- fastd-peer-limit-update
|
|
|
|
- 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: "GOPATH={{ gopath }} go get -v -u github.com/freifunk-darmstadt/fastd-exporter"
|
|
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
|
|
|
|
- name: configure fastd-exporter systemd unit
|
|
systemd:
|
|
name: "fastd-exporter.service"
|
|
enabled: yes
|
|
state: started
|