feat: update JuiceFS service to include Redis password and manage Redis service lifecycle
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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]
|
||||
|
Reference in New Issue
Block a user