fix: enhance GeeseFS installation checks and set installation conditions
Some checks failed
Ansible Lint Check / check-ansible (push) Failing after 14s
Nix Format Check / check-format (push) Successful in 53s
Python Lint Check / check-python (push) Failing after 11s

This commit is contained in:
Menno van Leeuwen 2025-03-12 20:16:34 +01:00
parent 0a7a727952
commit 75eaff06d1
Signed by: vleeuwenmenno
SSH Key Fingerprint: SHA256:OJFmjANpakwD3F2Rsws4GLtbdz1TJ5tkQF0RZmF0TRE

View File

@ -1,36 +1,42 @@
---
- name: Check if GeeseFS is installed
ansible.builtin.command: which geesefs
register: geesefs_check
ignore_errors: true
changed_when: false
- name: Check GeeseFS version if installed
ansible.builtin.command: geesefs --version
register: geesefs_version
ignore_errors: true
changed_when: false
when: geesefs_check.rc == 0
- name: Set GeeseFS facts
ansible.builtin.set_fact:
geesefs_desired_version: "0.43.0"
geesefs_download_url: "https://github.com/yandex-cloud/geesefs/releases/download/v{{ geesefs_desired_version }}/geesefs-linux-arm64"
geesefs_install_path: "/usr/local/bin/geesefs"
- name: Check if GeeseFS is installed
ansible.builtin.command: which geesefs
register: geesefs_check
ignore_errors: true
changed_when: false
failed_when: false
- name: Check GeeseFS version if installed
ansible.builtin.command: geesefs --version
register: geesefs_version
ignore_errors: true
changed_when: false
failed_when: false
when: geesefs_check.rc is defined and geesefs_check.rc == 0
- name: Set needs_installation fact
ansible.builtin.set_fact:
needs_installation: "{{ geesefs_check.rc is not defined or geesefs_check.rc != 0 or (geesefs_version.stdout is defined and 'geesefs version ' + geesefs_desired_version not in geesefs_version.stdout) }}"
- name: Create temporary directory for download
ansible.builtin.tempfile:
state: directory
suffix: geesefs
register: temp_dir
when: geesefs_check.rc != 0 or (geesefs_version.rc == 0 and "geesefs version " + geesefs_desired_version not in geesefs_version.stdout)
when: needs_installation | bool
- name: Download GeeseFS
ansible.builtin.get_url:
url: "{{ geesefs_download_url }}"
dest: "{{ temp_dir.path }}/geesefs"
mode: '0755'
when: geesefs_check.rc != 0 or (geesefs_version.rc == 0 and "geesefs version " + geesefs_desired_version not in geesefs_version.stdout)
when: needs_installation | bool
- name: Install GeeseFS to system path
ansible.builtin.copy:
@ -39,7 +45,7 @@
mode: '0755'
remote_src: true
become: true
when: geesefs_check.rc != 0 or (geesefs_version.rc == 0 and "geesefs version " + geesefs_desired_version not in geesefs_version.stdout)
when: needs_installation | bool
- name: Clean up temporary directory
ansible.builtin.file: