21 lines
730 B
YAML
21 lines
730 B
YAML
---
|
|
- name: Check if config already exists
|
|
stat:
|
|
path: "/etc/wireguard/{{ wg_interface }}.conf"
|
|
register: interface_configuration
|
|
|
|
- name: Parse configuration
|
|
ansible.utils.cli_parse:
|
|
command: "cat /etc/wireguard/{{ wg_interface }}.conf "
|
|
parser:
|
|
name: ansible.netcommon.native
|
|
template_path: templates/wg_config_template.yaml
|
|
set_fact: existing_wg_config
|
|
when: interface_configuration.stat.exists
|
|
|
|
- name: Updating client configs info
|
|
set_fact:
|
|
wg_peers: "{{ wg_peers | community.general.lists_mergeby([{'name':item.key,'publicKey':item.value.publicKey}] ,'name')}}"
|
|
when: item.key in (wg_peers | map(attribute='name'))
|
|
loop: "{{ existing_wg_config | ansible.builtin.dict2items }}"
|