You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.7 KiB

  1. ---
  2. - name: Calico | Check if calico apiserver exists
  3. command: "{{ kubectl }} -n calico-apiserver get secret calico-apiserver-certs"
  4. register: calico_apiserver_secret
  5. changed_when: false
  6. failed_when: false
  7. - name: Calico | Create ns manifests
  8. template:
  9. src: "calico-apiserver-ns.yml.j2"
  10. dest: "{{ kube_config_dir }}/calico-apiserver-ns.yml"
  11. mode: 0644
  12. - name: Calico | Apply ns manifests
  13. kube:
  14. kubectl: "{{ bin_dir }}/kubectl"
  15. filename: "{{ kube_config_dir }}/calico-apiserver-ns.yml"
  16. state: "latest"
  17. - name: Calico | Ensure calico certs dir
  18. file:
  19. path: /etc/calico/certs
  20. state: directory
  21. mode: 0755
  22. when: calico_apiserver_secret.rc != 0
  23. - name: Calico | Copy ssl script for apiserver certs
  24. template:
  25. src: make-ssl-calico.sh.j2
  26. dest: "{{ bin_dir }}/make-ssl-apiserver.sh"
  27. mode: 0755
  28. when: calico_apiserver_secret.rc != 0
  29. - name: Calico | Copy ssl config for apiserver certs
  30. copy:
  31. src: openssl.conf
  32. dest: /etc/calico/certs/openssl.conf
  33. mode: 0644
  34. when: calico_apiserver_secret.rc != 0
  35. - name: Calico | Generate apiserver certs
  36. command: >-
  37. {{ bin_dir }}/make-ssl-apiserver.sh
  38. -f /etc/calico/certs/openssl.conf
  39. -c {{ kube_cert_dir }}
  40. -d /etc/calico/certs
  41. -s apiserver
  42. when: calico_apiserver_secret.rc != 0
  43. - name: Calico | Create calico apiserver generic secrets
  44. command: >-
  45. {{ kubectl }} -n calico-apiserver
  46. create secret generic {{ item.name }}
  47. --from-file={{ item.cert }}
  48. --from-file={{ item.key }}
  49. with_items:
  50. - name: calico-apiserver-certs
  51. cert: /etc/calico/certs/apiserver.crt
  52. key: /etc/calico/certs/apiserver.key
  53. when: calico_apiserver_secret.rc != 0