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.

49 lines
1.6 KiB

  1. ---
  2. - name: GCP PD CSI Driver | Check if cloud-sa.json exists
  3. fail:
  4. msg: "Credentials file cloud-sa.json is mandatory"
  5. when: gcp_pd_csi_sa_cred_file is not defined or not gcp_pd_csi_sa_cred_file
  6. tags: gcp-pd-csi-driver
  7. - name: GCP PD CSI Driver | Copy GCP credentials file
  8. copy:
  9. src: "{{ gcp_pd_csi_sa_cred_file }}"
  10. dest: "{{ kube_config_dir }}/cloud-sa.json"
  11. group: "{{ kube_cert_group }}"
  12. mode: 0640
  13. when: inventory_hostname == groups['kube_control_plane'][0]
  14. tags: gcp-pd-csi-driver
  15. - name: GCP PD CSI Driver | Get base64 cloud-sa.json
  16. slurp:
  17. src: "{{ kube_config_dir }}/cloud-sa.json"
  18. register: gcp_cred_secret
  19. when: inventory_hostname == groups['kube_control_plane'][0]
  20. tags: gcp-pd-csi-driver
  21. - name: GCP PD CSI Driver | Generate Manifests
  22. template:
  23. src: "{{ item.file }}.j2"
  24. dest: "{{ kube_config_dir }}/{{ item.file }}"
  25. with_items:
  26. - {name: gcp-pd-csi-cred-secret, file: gcp-pd-csi-cred-secret.yml}
  27. - {name: gcp-pd-csi-setup, file: gcp-pd-csi-setup.yml}
  28. - {name: gcp-pd-csi-controller, file: gcp-pd-csi-controller.yml}
  29. - {name: gcp-pd-csi-node, file: gcp-pd-csi-node.yml}
  30. register: gcp_pd_csi_manifests
  31. when: inventory_hostname == groups['kube_control_plane'][0]
  32. tags: gcp-pd-csi-driver
  33. - name: GCP PD CSI Driver | Apply Manifests
  34. kube:
  35. kubectl: "{{ bin_dir }}/kubectl"
  36. filename: "{{ kube_config_dir }}/{{ item.item.file }}"
  37. state: "latest"
  38. with_items:
  39. - "{{ gcp_pd_csi_manifests.results }}"
  40. when:
  41. - inventory_hostname == groups['kube_control_plane'][0]
  42. - not item is skipped
  43. loop_control:
  44. label: "{{ item.item.file }}"
  45. tags: gcp-pd-csi-driver