ansible-role-fastd/tasks/profile.yml

56 lines
1.3 KiB
YAML
Raw Normal View History

2021-04-11 22:34:52 +00:00
- name: generate profile directory
file:
name: "{{ config_dir }}/{{ profile.key }}"
state: directory
owner: "{{ config_owner }}"
group: "{{ config_group }}"
mode: u=rwx,g=rx,o=rx
- name: generate peers directory
file:
name: "{{ config_dir }}/{{ profile.key }}/peers"
state: directory
owner: "{{ config_owner }}"
group: "{{ config_group }}"
mode: u=rwx,g=rx,o=rx
- include_tasks: profile-peers.yml
2021-06-05 13:57:09 +00:00
loop: "{{ profile.value.peers |d({}) |dict2items }}"
2021-04-11 22:34:52 +00:00
loop_control:
loop_var: peer
register: peer_config
- name: generate configuration file
template:
src: fastd.conf.j2
dest: "{{ config_dir }}/{{ profile.key }}/fastd.conf"
owner: "{{ config_owner }}"
group: "{{ config_group }}"
mode: u=rw,g=r,o=
validate: "{{ fastd_binary }} --verify-config --config %s"
register: config
- name: start service at boot up
service:
name: "fastd@{{ profile.key }}"
state: started
enabled: yes
when:
- profile.value.start |d(True)
- name: disable service at boot up
service:
name: "fastd@{{ profile.key }}"
state: stopped
enabled: no
when:
- not profile.value.start |d(True)
- name: reload configuration
service:
name: "fastd@{{ profile.key }}"
state: restarted
when:
2021-10-16 13:47:37 +00:00
- config.changed or peer_config.changed
2021-04-11 22:34:52 +00:00
- profile.value.start |d(True)