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.

47 lines
1.7 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. - name: GCP PD CSI Driver | Copy GCP credentials file
  7. copy:
  8. src: "{{ gcp_pd_csi_sa_cred_file }}"
  9. dest: "{{ kube_config_dir }}/cloud-sa.json"
  10. group: "{{ kube_cert_group }}"
  11. mode: "0640"
  12. when: inventory_hostname == groups['kube_control_plane'][0]
  13. - name: GCP PD CSI Driver | Get base64 cloud-sa.json
  14. slurp:
  15. src: "{{ kube_config_dir }}/cloud-sa.json"
  16. register: gcp_cred_secret
  17. when: inventory_hostname == groups['kube_control_plane'][0]
  18. - name: GCP PD CSI Driver | Generate Manifests
  19. template:
  20. src: "{{ item.file }}.j2"
  21. dest: "{{ kube_config_dir }}/{{ item.file }}"
  22. mode: "0644"
  23. with_items:
  24. - {name: gcp-pd-csi-cred-secret, file: gcp-pd-csi-cred-secret.yml}
  25. - {name: gcp-pd-csi-setup, file: gcp-pd-csi-setup.yml}
  26. - {name: gcp-pd-csi-controller, file: gcp-pd-csi-controller.yml}
  27. - {name: gcp-pd-csi-node, file: gcp-pd-csi-node.yml}
  28. - {name: gcp-pd-csi-sc-regional, file: gcp-pd-csi-sc-regional.yml}
  29. - {name: gcp-pd-csi-sc-zonal, file: gcp-pd-csi-sc-zonal.yml}
  30. register: gcp_pd_csi_manifests
  31. when: inventory_hostname == groups['kube_control_plane'][0]
  32. - name: GCP PD CSI Driver | Apply Manifests
  33. kube:
  34. kubectl: "{{ bin_dir }}/kubectl"
  35. filename: "{{ kube_config_dir }}/{{ item.item.file }}"
  36. state: "latest"
  37. with_items:
  38. - "{{ gcp_pd_csi_manifests.results }}"
  39. when:
  40. - inventory_hostname == groups['kube_control_plane'][0]
  41. - not item is skipped
  42. loop_control:
  43. label: "{{ item.item.file }}"