generate_certs.yml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. ---
  2. - name: Create service catalog cert directory
  3. file:
  4. path: "{{ openshift.common.config_base }}/service-catalog"
  5. state: directory
  6. mode: 0755
  7. changed_when: False
  8. check_mode: no
  9. - set_fact:
  10. generated_certs_dir: "{{ openshift.common.config_base }}/service-catalog"
  11. - name: Generate signing cert
  12. command: >
  13. {{ openshift_client_binary }} adm --config=/etc/origin/master/admin.kubeconfig ca create-signer-cert
  14. --key={{ generated_certs_dir }}/ca.key --cert={{ generated_certs_dir }}/ca.crt
  15. --serial={{ generated_certs_dir }}/apiserver.serial.txt --name=service-catalog-signer
  16. - name: Delete old apiserver.crt
  17. file:
  18. path: "{{ generated_certs_dir }}/apiserver.crt"
  19. state: absent
  20. - name: Delete old apiserver.key
  21. file:
  22. path: "{{ generated_certs_dir }}/apiserver.key"
  23. state: absent
  24. - name: Generating API Server keys
  25. oc_adm_ca_server_cert:
  26. cert: "{{ generated_certs_dir }}/apiserver.crt"
  27. key: "{{ generated_certs_dir }}/apiserver.key"
  28. hostnames: "apiserver.kube-service-catalog.svc,apiserver.kube-service-catalog.svc.cluster.local,apiserver.kube-service-catalog"
  29. signer_cert: "{{ generated_certs_dir }}/ca.crt"
  30. signer_key: "{{ generated_certs_dir }}/ca.key"
  31. signer_serial: "{{ generated_certs_dir }}/apiserver.serial.txt"
  32. - name: Create apiserver-ssl secret
  33. oc_secret:
  34. state: present
  35. name: apiserver-ssl
  36. namespace: kube-service-catalog
  37. files:
  38. - name: tls.crt
  39. path: "{{ generated_certs_dir }}/apiserver.crt"
  40. - name: tls.key
  41. path: "{{ generated_certs_dir }}/apiserver.key"
  42. - slurp:
  43. src: "{{ generated_certs_dir }}/ca.crt"
  44. register: apiserver_ca
  45. - name: Create api service
  46. oc_obj:
  47. state: present
  48. name: v1beta1.servicecatalog.k8s.io
  49. kind: apiservices.apiregistration.k8s.io
  50. namespace: "kube-service-catalog"
  51. content:
  52. path: /tmp/apisvcout
  53. data:
  54. apiVersion: apiregistration.k8s.io/v1beta1
  55. kind: APIService
  56. metadata:
  57. name: v1beta1.servicecatalog.k8s.io
  58. spec:
  59. group: servicecatalog.k8s.io
  60. version: v1beta1
  61. service:
  62. namespace: "kube-service-catalog"
  63. name: apiserver
  64. caBundle: "{{ apiserver_ca.content }}"
  65. groupPriorityMinimum: 20
  66. versionPriority: 10