diff --git a/defaults/main.yml b/defaults/main.yml index 62a0349..3b561ac 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,12 +1,9 @@ --- # defaults file for ansible -elbisna_prerequisites: - - pipx - -elbisna_pip_packages: - - ansible +elbisna_inject_packages: - netaddr + - dnspython elbisna_vault_passwd: "" diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..69dceac --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,13 @@ +--- +# handlers file for ansible + +- name: Apply installation + ansible.builtin.command: + argv: + - /usr/bin/rpm-ostree + - apply-live + become: true + +- name: Redémarrer le système + ansible.builtin.reboot: + become: true diff --git a/tasks/installation-apt.yml b/tasks/installation-apt.yml new file mode 100644 index 0000000..5963a66 --- /dev/null +++ b/tasks/installation-apt.yml @@ -0,0 +1,8 @@ +--- +# tasks file for ansible + +- name: Install prerequisites package + ansible.builtin.apt: + install_recommends: false + name: pipx + become: true diff --git a/tasks/installation-atomic_container.yml b/tasks/installation-atomic_container.yml new file mode 100644 index 0000000..01440cd --- /dev/null +++ b/tasks/installation-atomic_container.yml @@ -0,0 +1,18 @@ +--- +# tasks file for borgmatic + +- name: Install prerequisites package + ansible.builtin.command: + argv: + - /usr/bin/rpm-ostree + - install + - --allow-inactive + - --assumeyes + - --idempotent + - pipx + creates: /sysroot/ostree/repo/refs/heads/rpmostree/pkg/borgmatic + become: true + notify: Apply installation + +- name: Flush handlers + meta: flush_handlers diff --git a/tasks/installation-service.yml b/tasks/installation-service.yml new file mode 100644 index 0000000..a127dd2 --- /dev/null +++ b/tasks/installation-service.yml @@ -0,0 +1,31 @@ +--- +# tasks file for ansible + +- name: Install ansible + community.general.pipx: + name: ansible + state: latest + install_deps: true + become: true + environment: + PIPX_HOME: /opt/pipx + PIPX_BIN_DIR: /usr/local/bin + +- name: Inject packages + community.general.pipx: + name: ansible + inject_packages: "{{ elbisna_inject_packages }}" + state: inject + become: true + environment: + PIPX_HOME: /opt/pipx + PIPX_BIN_DIR: /usr/local/bin + +- name: Upgrade ansible + community.general.pipx: + name: ansible + state: upgrade_all + become: true + environment: + PIPX_HOME: /opt/pipx + PIPX_BIN_DIR: /usr/local/bin diff --git a/tasks/installation.yml b/tasks/installation.yml deleted file mode 100644 index d823c6f..0000000 --- a/tasks/installation.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -# tasks file for ansible - -- name: Installer les prérequis - ansible.builtin.apt: - install_recommends: false - name: "{{ elbisna_prerequisites }}" - become: true - -- name: Installer ansible - community.general.pipx: - name: "{{ item }}" - state: latest - install_deps: true - become: true - become_user: "{{ elbisna_user }}" - loop: "{{ elbisna_pip_packages }}" diff --git a/tasks/main.yml b/tasks/main.yml index 03f3e26..d6b8335 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,10 +1,14 @@ --- # tasks file for ansible -- name: Importer les tâches d'installation - tags: installation - ansible.builtin.import_tasks: installation.yml +- name: Include installation tasks + ansible.builtin.include_tasks: + file: installation-{{ ansible_facts['pkg_mgr'] }}.yml -- name: Importer les tâches de configuration - tags: configuration - ansible.builtin.import_tasks: configuration.yml +- name: Import pipx installation tasks + ansible.builtin.import_tasks: + file: installation-service.yml + +- name: Import configuration tasks + ansible.builtin.import_tasks: + file: configuration.yml