diff --git a/config/ansible/tasks/servers/juicefs.yml b/config/ansible/tasks/servers/juicefs.yml index d12dbfc..d38d1c9 100644 --- a/config/ansible/tasks/servers/juicefs.yml +++ b/config/ansible/tasks/servers/juicefs.yml @@ -32,34 +32,15 @@ mode: '0755' become: true -- name: Check if JuiceFS is already formatted - ansible.builtin.stat: - path: /mnt/juicefs-metadata.sqlite - register: metadata_file - - 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: Include JuiceFS Redis tasks ansible.builtin.include_tasks: services/redis/redis.yml -- name: Format JuiceFS volume - ansible.builtin.command: > - juicefs format - --storage s3 - --capacity=5000 - --bucket https://mvl-sh.hel1.your-objectstorage.com - --access-key {{ hetzner_access_key }} - --secret-key {{ hetzner_secret_key }} - --trash-days=7 - --dir-stats - --hash-prefix - redis://127.0.0.1:6379/0 myjfs - become: true - when: not metadata_file.stat.exists - - name: Create JuiceFS systemd service file ansible.builtin.template: src: templates/juicefs.service.j2 diff --git a/config/ansible/tasks/servers/services/redis/redis.yml b/config/ansible/tasks/servers/services/redis/redis.yml index 2aaa97e..6746ea2 100644 --- a/config/ansible/tasks/servers/services/redis/redis.yml +++ b/config/ansible/tasks/servers/services/redis/redis.yml @@ -28,6 +28,11 @@ vars: REDIS_PASSWORD: "{{ redis_password }}" + - name: Stop Redis service + ansible.builtin.command: docker compose -f "{{ redis_service_dir }}/docker-compose.yml" down --remove-orphans + register: redis_stop + changed_when: redis_stop.rc == 0 + - name: Start Redis service ansible.builtin.command: docker compose -f "{{ redis_service_dir }}/docker-compose.yml" up -d register: redis_start diff --git a/config/ansible/templates/juicefs.service.j2 b/config/ansible/templates/juicefs.service.j2 index dd6e3c5..aa45744 100644 --- a/config/ansible/templates/juicefs.service.j2 +++ b/config/ansible/templates/juicefs.service.j2 @@ -5,8 +5,7 @@ Before=docker.service [Service] Type=simple -Environment="REDIS_PASSWORD={{ redis_password }}" -ExecStart=/usr/local/bin/juicefs mount redis://localhost:6379/0 /mnt/object_storage --cache-dir=/var/jfsCache --buffer-size=1024 --prefetch=4 --cache-size=204800 --attr-cache=3 --entry-cache=3 --open-cache=3 +ExecStart=/usr/local/bin/juicefs mount redis://:{{ redis_password }}@localhost:6379/0 /mnt/object_storage --cache-dir=/var/jfsCache --buffer-size=1024 --prefetch=4 --cache-size=204800 --attr-cache=3 --entry-cache=3 --open-cache=3 Restart=on-failure [Install]