---
- import_tasks: ../shared/check_etcd.yml
  when: inventory_hostname in groups.vault

- import_tasks: ../shared/check_vault.yml
  when: inventory_hostname in groups.vault

- import_tasks: configure.yml
  when: inventory_hostname in groups.vault

- import_tasks: binary.yml
  when: inventory_hostname in groups.vault and vault_deployment_type == "host"

- import_tasks: systemd.yml
  when: inventory_hostname in groups.vault

- import_tasks: ../shared/find_leader.yml
  when: inventory_hostname in groups.vault

- import_tasks: init.yml
  when: inventory_hostname in groups.vault

- import_tasks: unseal.yml
  when: inventory_hostname in groups.vault

- import_tasks: ../shared/find_leader.yml
  when: inventory_hostname in groups.vault

- import_tasks: create_mounts.yml
  when: inventory_hostname == groups.vault|first

- include_tasks: ../shared/gen_ca.yml
  vars:
    gen_ca_cert_dir: "{{ vault_pki_mounts.kube.cert_dir }}"
    gen_ca_mount_path: "/{{ vault_pki_mounts.kube.name }}"
    gen_ca_vault_headers: "{{ vault_headers }}"
    gen_ca_vault_options: "{{ vault_ca_options.kube }}"
    gen_ca_copy_group: "kube-master"
  when: inventory_hostname in groups.vault

- include_tasks: ../shared/auth_backend.yml
  vars:
    auth_backend_description: A Username/Password Auth Backend primarily used for services needing to issue certificates
    auth_backend_path: userpass
    auth_backend_type: userpass
  when: inventory_hostname == groups.vault|first

- include_tasks: create_roles.yml
  with_items:
    - "{{ vault_pki_mounts.vault }}"
    - "{{ vault_pki_mounts.etcd }}"
    - "{{ vault_pki_mounts.kube }}"
  loop_control:
    loop_var: mount
  when: inventory_hostname in groups.vault
