generate_heapster_certificates.yaml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ---
  2. - name: generate heapster key/cert
  3. command: >
  4. {{ openshift.common.admin_binary }} ca create-server-cert
  5. --config={{ mktemp.stdout }}/admin.kubeconfig
  6. --key='{{ openshift_metrics_certs_dir }}/heapster.key'
  7. --cert='{{ openshift_metrics_certs_dir }}/heapster.cert'
  8. --hostnames=heapster
  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 }}/heapster.key' | exists
  13. - when: "'secret/heapster-secrets' not in metrics_secrets.stdout_lines"
  14. block:
  15. - name: read files for the heapster secret
  16. slurp: src={{ item }}
  17. register: heapster_secret
  18. with_items:
  19. - "{{ openshift_metrics_certs_dir }}/heapster.cert"
  20. - "{{ openshift_metrics_certs_dir }}/heapster.key"
  21. - "{{ client_ca }}"
  22. vars:
  23. custom_ca: "{{ openshift_metrics_certs_dir }}/heapster_client_ca.crt"
  24. default_ca: "{{ openshift.common.config_base }}/master/ca-bundle.crt"
  25. client_ca: "{{ custom_ca|exists|ternary(custom_ca, default_ca) }}"
  26. - name: generate heapster secret template
  27. template:
  28. src: secret.j2
  29. dest: "{{ mktemp.stdout }}/templates/heapster_secrets.yaml"
  30. force: no
  31. vars:
  32. name: heapster-secrets
  33. labels:
  34. metrics-infra: heapster
  35. data:
  36. heapster.cert: "{{ heapster_secret.results[0].content }}"
  37. heapster.key: "{{ heapster_secret.results[1].content }}"
  38. heapster.client-ca: "{{ heapster_secret.results[2].content }}"
  39. heapster.allowed-users: >
  40. {{ openshift_metrics_heapster_allowed_users|b64encode }}