From b546988f938b801e173bfab2b6f5f58af31cf421 Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Thu, 6 Mar 2025 14:32:15 +0100 Subject: [PATCH] feat: add MegaSync installation tasks to Ansible playbook --- .../ansible/tasks/workstations/megasync.yml | 37 +++++++++++++++++++ .../tasks/workstations/workstation.yml | 3 ++ 2 files changed, 40 insertions(+) create mode 100644 config/ansible/tasks/workstations/megasync.yml diff --git a/config/ansible/tasks/workstations/megasync.yml b/config/ansible/tasks/workstations/megasync.yml new file mode 100644 index 0000000..f319648 --- /dev/null +++ b/config/ansible/tasks/workstations/megasync.yml @@ -0,0 +1,37 @@ +--- +- name: Check if MegaSync is already installed + ansible.builtin.command: + cmd: "megasync --version" + register: megasync_check + changed_when: false + failed_when: false + check_mode: false + +- name: Create temporary directory for downloads + ansible.builtin.tempfile: + state: directory + suffix: megasync + register: temp_download_dir + changed_when: false + when: megasync_check.rc != 0 + +- name: Download MegaSync DEB package + ansible.builtin.get_url: + url: https://mega.nz/linux/repo/xUbuntu_24.10/amd64/megasync-xUbuntu_24.10_amd64.deb + dest: "{{ temp_download_dir.path }}/megasync.deb" + mode: '0644' + when: megasync_check.rc != 0 + +- name: Install MegaSync package + ansible.builtin.apt: + deb: "{{ temp_download_dir.path }}/megasync.deb" + state: present + become: true + when: megasync_check.rc != 0 + +- name: Clean up temporary files + ansible.builtin.file: + path: "{{ temp_download_dir.path }}" + state: absent + changed_when: false + when: megasync_check.rc != 0 and temp_download_dir.path is defined diff --git a/config/ansible/tasks/workstations/workstation.yml b/config/ansible/tasks/workstations/workstation.yml index 13a6c3a..92591ae 100644 --- a/config/ansible/tasks/workstations/workstation.yml +++ b/config/ansible/tasks/workstations/workstation.yml @@ -26,6 +26,9 @@ - name: Include Ulauncher tasks ansible.builtin.import_tasks: tasks/workstations/ulauncher.yml +- name: Include MegaSync tasks + ansible.builtin.import_tasks: tasks/workstations/megasync.yml + - name: Ensure common packages are installed ansible.builtin.package: name: