setup_certificate.yaml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. ---
  2. - name: generate {{ component }} keys
  3. command: >
  4. {{ openshift.common.admin_binary }} ca create-server-cert
  5. --key='{{ openshift_metrics_certs_dir }}/{{ component }}.key'
  6. --cert='{{ openshift_metrics_certs_dir }}/{{ component }}.crt'
  7. --hostnames='{{ hostnames }}'
  8. --signer-cert='{{ openshift_metrics_certs_dir }}/ca.crt'
  9. --signer-key='{{ openshift_metrics_certs_dir }}/ca.key'
  10. --signer-serial='{{ openshift_metrics_certs_dir }}/ca.serial.txt'
  11. when: not '{{ openshift_metrics_certs_dir }}/{{ component }}.key'|exists
  12. - name: generate {{ component }} certificate
  13. shell: >
  14. cat
  15. '{{ openshift_metrics_certs_dir }}/{{ component|quote }}.key'
  16. '{{ openshift_metrics_certs_dir }}/{{ component|quote }}.crt'
  17. > '{{ openshift_metrics_certs_dir }}/{{ component|quote }}.pem'
  18. when: not '{{ openshift_metrics_certs_dir }}/{{ component }}.pem'|exists
  19. - name: generate random password for the {{ component }} keystore
  20. shell: >
  21. tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c15
  22. > '{{ openshift_metrics_certs_dir }}/{{ component|quote }}-keystore.pwd'
  23. when: >
  24. not '{{ openshift_metrics_certs_dir }}/{{ component }}-keystore.pwd'|exists
  25. - name: create the {{ component }} pkcs12 from the pem file
  26. command: >
  27. openssl pkcs12 -export
  28. -in '{{ openshift_metrics_certs_dir }}/{{ component }}.pem'
  29. -out '{{ openshift_metrics_certs_dir }}/{{ component }}.pkcs12'
  30. -name '{{ component }}' -noiter -nomaciter
  31. -password
  32. 'file:{{ openshift_metrics_certs_dir }}/{{ component }}-keystore.pwd'
  33. when: not '{{ openshift_metrics_certs_dir }}/{{ component }}.pkcs12'|exists
  34. - name: create the {{ component }} keystore from the pkcs12 file
  35. shell: >
  36. p=$(< {{ openshift_metrics_certs_dir }}/{{ component }}-keystore.pwd)
  37. &&
  38. keytool -v -importkeystore
  39. -srckeystore '{{ openshift_metrics_certs_dir }}/{{ component }}.pkcs12'
  40. -srcstoretype PKCS12
  41. -destkeystore '{{ openshift_metrics_certs_dir }}/{{ component }}.keystore'
  42. -deststoretype JKS
  43. -deststorepass "$p"
  44. -srcstorepass "$p"
  45. when: not '{{ openshift_metrics_certs_dir }}/{{ component }}.keystore'|exists
  46. - name: generate random password for the {{ component }} truststore
  47. shell: >
  48. tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c15
  49. > '{{ openshift_metrics_certs_dir }}/{{ component|quote }}-truststore.pwd'
  50. when: >
  51. not
  52. '{{ openshift_metrics_certs_dir }}/{{ component }}-truststore.pwd'|exists