---
- hosts: all
  gather_facts: false
  name: install k3s server
  tags: k3s-server
  tasks:
    - name: download k3s install script
      ansible.builtin.get_url:
        url: https://get.k3s.io
        dest: /usr/local/bin/k3s_install.sh
        mode: 0755
    - name: install k3s server
      ansible.builtin.command: "k3s_install.sh"
      environment:
        INSTALL_K3S_EXEC: "--disable traefik"
      changed_when: false
    - name: start and enable k3s server
      ansible.builtin.service:
        name: k3s
        state: started
        enabled: true
    - name: add kubeconfig variable to bashrc
      ansible.builtin.lineinfile:
        path: ~/.bashrc
        line: "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml"
        insertafter: EOF
    - name: get kubeconfig
      fetch:
        src: /etc/rancher/k3s/k3s.yaml
        dest: kubeconfig_{{ ansible_host }}.yml
        flat: true

- hosts: all
  gather_facts: false
  name: deploy baseline
  tags: baseline
  tasks:
    - name: copy manifest
      ansible.builtin.copy:
        src: argocd-init.yml
        dest: /var/lib/rancher/k3s/server/manifests/argocd-init.yml
        mode: 0644