Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

78 lignes
2.4KB

  1. ---
  2. - name: private key
  3. command: openssl genrsa
  4. -out "{{certificate_letsencrypt_account_key_file}}"
  5. 4096
  6. args:
  7. creates: "{{ certificate_letsencrypt_account_key_file }}"
  8. - include_tasks: key.yml
  9. - include_tasks: csr.yml
  10. - name: letsencrypt request
  11. letsencrypt:
  12. account_key: "{{certificate_letsencrypt_account_key_file}}"
  13. csr: "{{certificate_signing_request_file}}"
  14. dest: "{{certificate_file}}"
  15. challenge: http-01
  16. acme_directory: https://acme-v01.api.letsencrypt.org/directory
  17. agreement: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
  18. register: _letsencrypt_request
  19. # - debug:
  20. # msg:
  21. # _letsencrypt_request: "{{_letsencrypt_request}}"
  22. - block:
  23. - name: acme http directory
  24. file:
  25. path: /var/www/default/.well-known/acme-challenge
  26. state: directory
  27. - name: copy acme challenge resource
  28. copy:
  29. dest: /var/www/default/{{ item.resource }}
  30. content: "{{ item.resource_value }}"
  31. with_items: "{{ _letsencrypt_request | json_query('challenge_data.*.\"http-01\"') }}"
  32. - letsencrypt:
  33. account_key: "{{certificate_letsencrypt_account_key_file}}"
  34. csr: "{{certificate_signing_request_file}}"
  35. dest: "{{certificate_file}}"
  36. challenge: http-01
  37. acme_directory: https://acme-v01.api.letsencrypt.org/directory
  38. agreement: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
  39. data: "{{ _letsencrypt_request }}"
  40. register: _letsencrypt
  41. # - debug:
  42. # msg:
  43. # _letsencrypt: "{{_letsencrypt}}"
  44. when: _letsencrypt_request.changed
  45. - name: download letsencrypt certificate
  46. get_url:
  47. url: https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem.txt
  48. dest: "{{certificate_chain_file}}"
  49. checksum: sha512:0fa893f751f0880c7d89c398cae9708f5ff04d466832fb6160a824395032259ac52e02a44da531d0f8bf7e310298b0067b1e8257f816d3223034f391ecba491d
  50. - name: fetch certificate
  51. fetch:
  52. src: "{{ certificate_file }}"
  53. dest: host_files/{{inventory_hostname}}/certificate/{{certificate_name}}.cert.pem
  54. flat: yes
  55. fail_on_missing: yes
  56. - name: fetch certificate chain
  57. fetch:
  58. src: "{{ certificate_chain_file }}"
  59. dest: host_files/{{inventory_hostname}}/certificate/{{certificate_name}}.chain.pem
  60. flat: yes
  61. fail_on_missing: yes
  62. - name: create full certificate chain
  63. template:
  64. src: fullchain.pam.j2
  65. dest: "{{ certificate_fullchain_file }}"