--- - name: Check if JuiceFS is already installed ansible.builtin.command: which juicefs register: juicefs_check ignore_errors: true changed_when: false - name: Install JuiceFS using the automatic installer ansible.builtin.shell: curl -sSL https://d.juicefs.com/install | sh - register: juicefs_installation when: juicefs_check.rc != 0 become: true - name: Verify JuiceFS installation ansible.builtin.command: juicefs version register: juicefs_version changed_when: false when: juicefs_check.rc != 0 or juicefs_installation.changed - name: Create mount directory ansible.builtin.file: path: /mnt/object_storage state: directory mode: "0755" become: true - name: Create cache directory ansible.builtin.file: path: /var/jfsCache state: directory mode: "0755" become: true - name: Set JuiceFS facts ansible.builtin.set_fact: hetzner_access_key: "{{ lookup('community.general.onepassword', 'mfk2qgnaplgtk6xmfc3r6w6neq', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='AWS_ACCESS_KEY_ID') }}" hetzner_secret_key: "{{ lookup('community.general.onepassword', 'mfk2qgnaplgtk6xmfc3r6w6neq', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='AWS_SECRET_ACCESS_KEY') }}" redis_password: "{{ lookup('community.general.onepassword', '4cioblm633bdkl6put35lk6ql4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='password') }}" - name: Create JuiceFS systemd service file ansible.builtin.template: src: templates/juicefs.service.j2 dest: /etc/systemd/system/juicefs.service owner: root group: root mode: "0644" become: true - name: Reload systemd daemon ansible.builtin.systemd: daemon_reload: true become: true - name: Include JuiceFS Redis tasks ansible.builtin.include_tasks: services/redis/redis.yml - name: Enable and start JuiceFS service ansible.builtin.systemd: name: juicefs.service enabled: true state: started become: true - name: Check if JuiceFS is mounted ansible.builtin.shell: df -h | grep /mnt/object_storage become: true register: mount_check ignore_errors: true changed_when: false - name: Display mount status ansible.builtin.debug: msg: "JuiceFS is successfully mounted at /mnt/object_storage" when: mount_check.rc == 0