No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

61 líneas
2.0KB

  1. ---
  2. - include_tasks: key.yml
  3. - include_tasks: csr.yml
  4. - name: check if the certificate will expire soon
  5. command: openssl x509 -checkend {{ 60*60*24*30 }} -noout -in {{certificate_file}}
  6. register: _certificate_checkend
  7. changed_when: _certificate_checkend.rc == 1
  8. failed_when: _certificate_checkend.rc > 1
  9. - block:
  10. - name: letsencrypt account private key
  11. openssl_privatekey:
  12. path: "{{certificate_letsencrypt_account_key_file}}"
  13. type: RSA
  14. size: 4096
  15. - name: letsencrypt request
  16. acme_certificate:
  17. account_key_src: "{{certificate_letsencrypt_account_key_file}}"
  18. csr: "{{certificate_signing_request_file}}"
  19. dest: "{{certificate_file}}"
  20. chain_dest: "{{ certificate_chain_file }}"
  21. fullchain_dest: "{{ certificate_fullchain_file }}"
  22. challenge: http-01
  23. acme_directory: https://acme-v02.api.letsencrypt.org/directory
  24. acme_version: 2
  25. terms_agreed: yes
  26. register: _letsencrypt_request
  27. when: _certificate_checkend.rc == 1
  28. - debug:
  29. msg:
  30. _letsencrypt_request: "{{_letsencrypt_request}}"
  31. - name: acme http directory
  32. file:
  33. path: /var/www/default/.well-known/acme-challenge
  34. state: directory
  35. - name: copy acme challenge resource
  36. copy:
  37. dest: /var/www/default/{{ item.resource }}
  38. content: "{{ item.resource_value }}"
  39. with_items: "{{ _letsencrypt_request | json_query('challenge_data.*.\"http-01\"') }}"
  40. - name: letsencrypt certificate
  41. acme_certificate:
  42. account_key_src: "{{certificate_letsencrypt_account_key_file}}"
  43. csr: "{{certificate_signing_request_file}}"
  44. dest: "{{certificate_file}}"
  45. chain_dest: "{{ certificate_chain_file }}"
  46. fullchain_dest: "{{ certificate_fullchain_file }}"
  47. challenge: http-01
  48. acme_directory: https://acme-v02.api.letsencrypt.org/directory
  49. acme_version: 2
  50. terms_agreed: yes
  51. data: "{{ _letsencrypt_request }}"
  52. register: _letsencrypt
  53. when:
  54. - _certificate_checkend.rc == 1