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.

98 lines
3.8 KiB

  1. ---
  2. - name: Registry | check registry_service_type value
  3. fail:
  4. msg: "registry_service_type can only be 'ClusterIP', 'LoadBalancer' or 'NodePort'"
  5. when: registry_service_type not in ['ClusterIP', 'LoadBalancer', 'NodePort']
  6. - name: Registry | Stop if registry_service_cluster_ip is defined when registry_service_type is not 'ClusterIP'
  7. fail:
  8. msg: "registry_service_cluster_ip support only compatible with ClusterIP."
  9. when:
  10. - registry_service_cluster_ip is defined and registry_service_cluster_ip | length > 0
  11. - registry_service_type != "ClusterIP"
  12. - name: Registry | Stop if registry_service_loadbalancer_ip is defined when registry_service_type is not 'LoadBalancer'
  13. fail:
  14. msg: "registry_service_loadbalancer_ip support only compatible with LoadBalancer."
  15. when:
  16. - registry_service_loadbalancer_ip is defined and registry_service_loadbalancer_ip | length > 0
  17. - registry_service_type != "LoadBalancer"
  18. - name: Registry | Stop if registry_service_nodeport is defined when registry_service_type is not 'NodePort'
  19. fail:
  20. msg: "registry_service_nodeport support only compatible with NodePort."
  21. when:
  22. - registry_service_nodeport is defined and registry_service_nodeport | length > 0
  23. - registry_service_type != "NodePort"
  24. - name: Registry | Create addon dir
  25. file:
  26. path: "{{ kube_config_dir }}/addons/registry"
  27. state: directory
  28. owner: root
  29. group: root
  30. mode: "0755"
  31. - name: Registry | Templates list
  32. set_fact:
  33. registry_templates:
  34. - { name: registry-ns, file: registry-ns.yml, type: ns }
  35. - { name: registry-sa, file: registry-sa.yml, type: sa }
  36. - { name: registry-svc, file: registry-svc.yml, type: svc }
  37. - { name: registry-secrets, file: registry-secrets.yml, type: secrets }
  38. - { name: registry-cm, file: registry-cm.yml, type: cm }
  39. - { name: registry-rs, file: registry-rs.yml, type: rs }
  40. - name: Registry | Append nginx ingress templates to Registry Templates list when ingress enabled
  41. set_fact:
  42. registry_templates: "{{ registry_templates + [item] }}"
  43. with_items:
  44. - [{ name: registry-ing, file: registry-ing.yml, type: ing }]
  45. when: ingress_nginx_enabled or ingress_alb_enabled
  46. - name: Registry | Create manifests
  47. template:
  48. src: "{{ item.file }}.j2"
  49. dest: "{{ kube_config_dir }}/addons/registry/{{ item.file }}"
  50. mode: "0644"
  51. with_items: "{{ registry_templates }}"
  52. register: registry_manifests
  53. when: inventory_hostname == groups['kube_control_plane'][0]
  54. - name: Registry | Apply manifests
  55. kube:
  56. name: "{{ item.item.name }}"
  57. namespace: "{{ registry_namespace }}"
  58. kubectl: "{{ bin_dir }}/kubectl"
  59. resource: "{{ item.item.type }}"
  60. filename: "{{ kube_config_dir }}/addons/registry/{{ item.item.file }}"
  61. state: "latest"
  62. with_items: "{{ registry_manifests.results }}"
  63. when: inventory_hostname == groups['kube_control_plane'][0]
  64. - name: Registry | Create PVC manifests
  65. template:
  66. src: "{{ item.file }}.j2"
  67. dest: "{{ kube_config_dir }}/addons/registry/{{ item.file }}"
  68. mode: "0644"
  69. with_items:
  70. - { name: registry-pvc, file: registry-pvc.yml, type: pvc }
  71. register: registry_manifests
  72. when:
  73. - registry_storage_class != none and registry_storage_class
  74. - registry_disk_size != none and registry_disk_size
  75. - inventory_hostname == groups['kube_control_plane'][0]
  76. - name: Registry | Apply PVC manifests
  77. kube:
  78. name: "{{ item.item.name }}"
  79. namespace: "{{ registry_namespace }}"
  80. kubectl: "{{ bin_dir }}/kubectl"
  81. resource: "{{ item.item.type }}"
  82. filename: "{{ kube_config_dir }}/addons/registry/{{ item.item.file }}"
  83. state: "latest"
  84. with_items: "{{ registry_manifests.results }}"
  85. when:
  86. - registry_storage_class != none and registry_storage_class
  87. - registry_disk_size != none and registry_disk_size
  88. - inventory_hostname == groups['kube_control_plane'][0]