feat: update JuiceFS service to include Redis password and manage Redis service lifecycle
This commit is contained in:
@@ -32,34 +32,15 @@
|
|||||||
mode: '0755'
|
mode: '0755'
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Check if JuiceFS is already formatted
|
|
||||||
ansible.builtin.stat:
|
|
||||||
path: /mnt/juicefs-metadata.sqlite
|
|
||||||
register: metadata_file
|
|
||||||
|
|
||||||
- name: Set JuiceFS facts
|
- name: Set JuiceFS facts
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
hetzner_access_key: "{{ lookup('community.general.onepassword', 'mfk2qgnaplgtk6xmfc3r6w6neq', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='AWS_ACCESS_KEY_ID') }}"
|
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') }}"
|
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
|
- name: Include JuiceFS Redis tasks
|
||||||
ansible.builtin.include_tasks: services/redis/redis.yml
|
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
|
- name: Create JuiceFS systemd service file
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: templates/juicefs.service.j2
|
src: templates/juicefs.service.j2
|
||||||
|
@@ -28,6 +28,11 @@
|
|||||||
vars:
|
vars:
|
||||||
REDIS_PASSWORD: "{{ redis_password }}"
|
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
|
- name: Start Redis service
|
||||||
ansible.builtin.command: docker compose -f "{{ redis_service_dir }}/docker-compose.yml" up -d
|
ansible.builtin.command: docker compose -f "{{ redis_service_dir }}/docker-compose.yml" up -d
|
||||||
register: redis_start
|
register: redis_start
|
||||||
|
@@ -5,8 +5,7 @@ Before=docker.service
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
Environment="REDIS_PASSWORD={{ redis_password }}"
|
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
|
||||||
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
|
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
Reference in New Issue
Block a user