generate_hawkular_certificates.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. ---
  2. - name: generate hawkular-metrics certificates
  3. include: setup_certificate.yaml
  4. vars:
  5. component: hawkular-metrics
  6. hostnames: "hawkular-metrics,hawkular-metrics.{{ openshift_metrics_project }}.svc.cluster.local,{{ openshift_metrics_hawkular_hostname }}"
  7. changed_when: no
  8. - name: generate hawkular-cassandra certificates
  9. include: setup_certificate.yaml
  10. vars:
  11. component: hawkular-cassandra
  12. hostnames: hawkular-cassandra
  13. changed_when: no
  14. - name: generate password for hawkular metrics
  15. local_action: copy dest="{{ local_tmp.stdout}}/{{ item }}.pwd" content="{{ 15 | oo_random_word }}"
  16. with_items:
  17. - hawkular-metrics
  18. - name: generate htpasswd file for hawkular metrics
  19. local_action: >
  20. shell htpasswd -ci
  21. '{{ local_tmp.stdout }}/hawkular-metrics.htpasswd' hawkular
  22. < '{{ local_tmp.stdout }}/hawkular-metrics.pwd'
  23. - name: copy local generated passwords to target
  24. copy:
  25. src: "{{local_tmp.stdout}}/{{item}}"
  26. dest: "{{mktemp.stdout}}/{{item}}"
  27. with_items:
  28. - hawkular-metrics.pwd
  29. - hawkular-metrics.htpasswd
  30. - name: read files for the hawkular-metrics secret
  31. shell: >
  32. printf '%s: ' '{{ item }}'
  33. && base64 --wrap 0 '{{ mktemp.stdout }}/{{ item }}'
  34. register: hawkular_secrets
  35. with_items:
  36. - ca.crt
  37. - hawkular-metrics.pwd
  38. - hawkular-metrics.htpasswd
  39. - hawkular-metrics.crt
  40. - hawkular-metrics.key
  41. - hawkular-metrics.pem
  42. - hawkular-cassandra.crt
  43. - hawkular-cassandra.key
  44. - hawkular-cassandra.pem
  45. changed_when: false
  46. - set_fact:
  47. hawkular_secrets: |
  48. {{ hawkular_secrets.results|map(attribute='stdout')|join('
  49. ')|from_yaml }}
  50. - name: generate hawkular-metrics-certs secret template
  51. template:
  52. src: secret.j2
  53. dest: "{{ mktemp.stdout }}/templates/hawkular-metrics-certs.yaml"
  54. vars:
  55. name: hawkular-metrics-certs
  56. labels:
  57. metrics-infra: hawkular-metrics-certs
  58. annotations:
  59. service.alpha.openshift.io/originating-service-name: hawkular-metrics
  60. data:
  61. tls.crt: >
  62. {{ hawkular_secrets['hawkular-metrics.crt'] }}
  63. tls.key: >
  64. {{ hawkular_secrets['hawkular-metrics.key'] }}
  65. tls.truststore.crt: >
  66. {{ hawkular_secrets['hawkular-cassandra.crt'] }}
  67. when: name not in metrics_secrets.stdout_lines
  68. changed_when: no
  69. - name: generate hawkular-metrics-account secret template
  70. template:
  71. src: secret.j2
  72. dest: "{{ mktemp.stdout }}/templates/hawkular_metrics_account.yaml"
  73. vars:
  74. name: hawkular-metrics-account
  75. labels:
  76. metrics-infra: hawkular-metrics
  77. data:
  78. hawkular-metrics.username: "{{ 'hawkular'|b64encode }}"
  79. hawkular-metrics.htpasswd: "{{ hawkular_secrets['hawkular-metrics.htpasswd'] }}"
  80. hawkular-metrics.password: >
  81. {{ hawkular_secrets['hawkular-metrics.pwd'] }}
  82. when: name not in metrics_secrets.stdout_lines
  83. changed_when: no
  84. - name: generate cassandra secret template
  85. template:
  86. src: secret.j2
  87. dest: "{{ mktemp.stdout }}/templates/hawkular-cassandra-certs.yaml"
  88. vars:
  89. name: hawkular-cassandra-certs
  90. labels:
  91. metrics-infra: hawkular-cassandra-certs
  92. annotations:
  93. service.alpha.openshift.io/originating-service-name: hawkular-cassandra
  94. data:
  95. tls.crt: >
  96. {{ hawkular_secrets['hawkular-cassandra.crt'] }}
  97. tls.key: >
  98. {{ hawkular_secrets['hawkular-cassandra.key'] }}
  99. tls.peer.truststore.crt: >
  100. {{ hawkular_secrets['hawkular-cassandra.crt'] }}
  101. tls.client.truststore.crt: >
  102. {{ hawkular_secrets['hawkular-metrics.crt'] }}
  103. when: name not in metrics_secrets
  104. changed_when: no