---
- name: Install CentOS 8 python bindings
  when: ansible_distribution == "Rocky" or ansible_distribution == "Fedora"
  become: true
  ansible.builtin.dnf:
    state: present
    name:
      - libffi-devel
      - python3-devel
      - python3-libselinux
      - python3-policycoreutils
      - python3-firewall

- name: Remove legacy state directory
  become: true
  ansible.builtin.file:
    path: /var/run/skylab
    state: absent

- name: Create state directory
  become: true
  ansible.builtin.file:
    path: "{{ skylab_state_dir }}"
    state: directory
    owner: "{{ ansible_user }}"
    group: "{{ ansible_user }}"
    mode: 0755

- name: Create bootstrap virtualenv
  ansible.builtin.command:
    cmd: "{{ ansible_python_interpeter | default(discovered_interpreter_python) }} -m venv {{ skylab_ansible_venv }} --system-site-packages"
    creates: "{{ skylab_ansible_venv }}/bin/python"

- name: Pin bootstrap virtualenv pip
  ansible.builtin.pip:
    executable: "{{ skylab_ansible_venv }}/bin/pip"
    name: pip
    state: present
    version: "{{ skylab_pip_version }}"

- name: Copy requirements file to remote
  ansible.builtin.copy:
    src: remote-requirements.txt
    dest: "{{ skylab_ansible_venv }}/requirements.txt"
    owner: "{{ ansible_user }}"
    group: "{{ ansible_user }}"
    mode: 0644

- name: Install remote requirements
  ansible.builtin.pip:
    executable: "{{ skylab_ansible_venv }}/bin/pip"
    requirements: "{{ skylab_ansible_venv }}/requirements.txt"
    state: present
