# TP14 partie 1 : installation de K3s (à compléter, puis à transformer en rôle "k3s").
- name: Prérequis communs
  hosts: all
  become: true
  tasks:
    - name: Installer curl
      ansible.builtin.apt:
        name: curl
        state: present
        update_cache: true

- name: Nœud server (control plane)
  hosts: server
  become: true
  tasks:
    # TODO : installer K3s en mode server avec le script officiel, de façon idempotente
    #   - creates: /usr/local/bin/k3s
    #   - INSTALL_K3S_EXEC="server --node-ip {{ k3s_server_ip }} --tls-san {{ k3s_server_ip }} --write-kubeconfig-mode 644"
    #   commande : curl -sfL https://get.k3s.io | sh -

    # TODO : lire le jeton /var/lib/rancher/k3s/server/node-token (ansible.builtin.slurp)
    #        et le stocker dans un fait (set_fact) pour le play suivant

    # TODO : rapatrier /etc/rancher/k3s/k3s.yaml sur la VM de lab (ansible.builtin.fetch, flat: true)
    #        en remplaçant 127.0.0.1 par {{ k3s_server_ip }}

- name: Nœuds agents (workers)
  hosts: agents
  become: true
  tasks:
    # TODO : installer K3s en mode agent
    #   - K3S_URL=https://{{ k3s_server_ip }}:6443
    #   - K3S_TOKEN={{ hostvars['k3s-server'].k3s_token }}
    #   - INSTALL_K3S_EXEC="agent --node-ip <ip privée de l'agent>"
    #   - creates: /usr/local/bin/k3s
    - name: À compléter
      ansible.builtin.debug:
        msg: "Installer l'agent K3s ici"
