---

- name: "bootstrap/ca_trust | pull CA from cert from {{groups.vault|first}}"
  command: "cat {{ vault_cert_dir }}/ca.pem"
  register: vault_cert_file_cat
  delegate_to: "{{ groups['vault']|first }}"

# This part is mostly stolen from the etcd role
- name: bootstrap/ca_trust | target ca-certificate store file
  set_fact:
    ca_cert_path: >-
      {% if ansible_os_family == "Debian" -%}
      /usr/local/share/ca-certificates/vault-ca.crt
      {%- elif ansible_os_family == "RedHat" -%}
      /etc/pki/ca-trust/source/anchors/vault-ca.crt
      {%- elif ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] -%}
      /etc/ssl/certs/vault-ca.pem
      {%- endif %}

- name: bootstrap/ca_trust | add CA to trusted CA dir
  copy:
    content: "{{ vault_cert_file_cat.get('stdout') }}"
    dest: "{{ ca_cert_path }}"
  register: vault_ca_cert

- name: bootstrap/ca_trust | update ca-certificates (Debian/Ubuntu/CoreOS)
  command: update-ca-certificates
  when: vault_ca_cert.changed and ansible_os_family in ["Debian", "CoreOS", "Container Linux by CoreOS"]

- name: bootstrap/ca_trust | update ca-certificates (RedHat)
  command: update-ca-trust extract
  when: vault_ca_cert.changed and ansible_os_family == "RedHat"