setup_certificate.yaml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. ---
  2. - name: generate {{ component }} keys
  3. command: >
  4. {{ openshift.common.admin_binary }} ca create-server-cert
  5. --config={{ mktemp.stdout }}/admin.kubeconfig
  6. --key='{{ openshift_metrics_certs_dir }}/{{ component }}.key'
  7. --cert='{{ openshift_metrics_certs_dir }}/{{ component }}.crt'
  8. --hostnames='{{ hostnames }}'
  9. --signer-cert='{{ openshift_metrics_certs_dir }}/ca.crt'
  10. --signer-key='{{ openshift_metrics_certs_dir }}/ca.key'
  11. --signer-serial='{{ openshift_metrics_certs_dir }}/ca.serial.txt'
  12. when: not '{{ openshift_metrics_certs_dir }}/{{ component }}.key'|exists
  13. - slurp: src={{item}}
  14. register: component_certs
  15. with_items:
  16. - '{{ openshift_metrics_certs_dir | quote }}/{{ component|quote }}.key'
  17. - '{{ openshift_metrics_certs_dir | quote }}/{{ component|quote }}.crt'
  18. when: not '{{ openshift_metrics_certs_dir }}/{{ component }}.pem'|exists
  19. - name: generate {{ component }} certificate
  20. copy:
  21. dest: '{{ openshift_metrics_certs_dir }}/{{ component }}.pem'
  22. content: "{{ component_certs.results | map(attribute='content') | map('b64decode') | join('') }}"
  23. when: not '{{ openshift_metrics_certs_dir }}/{{ component }}.pem'|exists
  24. - name: generate random password for the {{ component }} keystore
  25. copy:
  26. content: "{{ 15 | oo_random_word }}"
  27. dest: '{{ openshift_metrics_certs_dir }}/{{ component }}-keystore.pwd'
  28. when: >
  29. not '{{ openshift_metrics_certs_dir }}/{{ component }}-keystore.pwd'|exists
  30. - slurp: src={{ openshift_metrics_certs_dir | quote }}/{{ component|quote }}-keystore.pwd
  31. register: keystore_password
  32. - name: create the {{ component }} pkcs12 from the pem file
  33. command: >
  34. openssl pkcs12 -export
  35. -in '{{ openshift_metrics_certs_dir }}/{{ component }}.pem'
  36. -out '{{ openshift_metrics_certs_dir }}/{{ component }}.pkcs12'
  37. -name '{{ component }}' -noiter -nomaciter
  38. -password 'pass:{{keystore_password.content | b64decode }}'
  39. when: not '{{ openshift_metrics_certs_dir }}/{{ component }}.pkcs12'|exists
  40. - name: generate random password for the {{ component }} truststore
  41. copy:
  42. content: "{{ 15 | oo_random_word }}"
  43. dest: '{{ openshift_metrics_certs_dir | quote }}/{{ component|quote }}-truststore.pwd'
  44. when: >
  45. not
  46. '{{ openshift_metrics_certs_dir | quote }}/{{ component| quote }}-truststore.pwd'|exists