generate_heapster_certificates.yaml 1.5 KB

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