---
- name: Gateway API | Download YAML
  include_tasks: "../../../../download/tasks/download_file.yml"
  vars:
    download: "{{ download_defaults | combine(downloads.gateway_api_crds) }}"

- name: Gateway API | Create addon dir
  file:
    path: "{{ kube_config_dir }}/addons/gateway_api"
    state: directory
    owner: root
    group: root
    mode: "0755"
  when:
    - inventory_hostname == groups['kube_control_plane'][0]

- name: Gateway API | Copy YAML from download dir
  copy:
    src: "{{ local_release_dir }}/gateway-api-{{ gateway_api_channel }}-install.yaml"
    dest: "{{ kube_config_dir }}/addons/gateway_api/{{ gateway_api_channel }}-install.yaml"
    mode: "0644"
    remote_src: true
  when:
    - "inventory_hostname == groups['kube_control_plane'][0]"

- name: Gateway API | Install Gateway API
  kube:
    name: Gateway API
    kubectl: "{{ bin_dir }}/kubectl"
    filename: "{{ kube_config_dir }}/addons/gateway_api/{{ gateway_api_channel }}-install.yaml"
    state: latest
  when:
    - "inventory_hostname == groups['kube_control_plane'][0]"
