--- - name: sync_etcd_master_certs | Create list of master certs needing creation set_fact: etcd_master_cert_list: >- {{ etcd_master_cert_list|default([]) + [ "admin-" + item + ".pem", "member-" + item + ".pem" ] | unique }} with_items: "{{ groups.etcd }}" run_once: true - include: ../../vault/tasks/shared/sync_file.yml vars: sync_file: "{{ item }}" sync_file_dir: "{{ etcd_cert_dir }}" sync_file_hosts: "{{ groups.etcd }}" sync_file_is_cert: true with_items: "{{ etcd_master_cert_list|d([]) }}" run_once: true - name: sync_etcd_certs | Set facts for etcd sync_file results set_fact: etcd_master_certs_needed: "{{ etcd_master_certs_needed|default([]) + [item.path] }}" with_items: "{{ sync_file_results|d([]) }}" when: item.no_srcs|bool - name: sync_etcd_certs | Unset sync_file_results after etcd certs sync set_fact: sync_file_results: [] - include: ../../vault/tasks/shared/sync_file.yml vars: sync_file: ca.pem sync_file_dir: "{{ etcd_cert_dir }}" sync_file_hosts: "{{ groups.etcd }}" run_once: true - name: sync_etcd_certs | Unset sync_file_results after ca.pem sync set_fact: sync_file_results: []