You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.0 KiB

  1. ---
  2. - name: config_ca | Read root CA cert for Vault
  3. command: "cat {{ config_ca_ca_pem }}"
  4. register: vault_ca_cert_cat
  5. - name: config_ca | Pull current CA cert from Vault
  6. hashivault_read:
  7. url: "{{ vault_leader_url }}"
  8. token: "{{ vault_root_token }}"
  9. ca_cert: "{{ vault_cert_dir }}/ca.pem"
  10. secret: "{{ config_ca_mount_path }}/ca"
  11. key: "pem"
  12. register: vault_pull_current_ca
  13. failed_when: false
  14. - name: config_ca | Read root CA key for Vault
  15. command: "cat {{ config_ca_ca_key }}"
  16. register: vault_ca_key_cat
  17. when: vault_ca_cert_cat.stdout.strip() != vault_pull_current_ca.get("data","").strip()
  18. - name: config_ca | Configure pki mount to use the found root CA cert and key
  19. hashivault_write:
  20. url: "{{ vault_leader_url }}"
  21. token: "{{ vault_root_token }}"
  22. ca_cert: "{{ vault_cert_dir }}/ca.pem"
  23. secret: "{{ config_ca_mount_path }}/config/ca"
  24. data:
  25. pem_bundle: "{{ vault_ca_cert_cat.stdout + '\n' + vault_ca_key_cat.stdout }}"
  26. when: vault_ca_cert_cat.stdout.strip() != vault_pull_current_ca.get("data","").strip()