Files
dotfiles/config/ansible/tasks/servers/services/redis/redis.yml
Menno van Leeuwen 80ec188190
Some checks failed
Nix Format Check / check-format (push) Waiting to run
Python Lint Check / check-python (push) Waiting to run
Ansible Lint Check / check-ansible (push) Has been cancelled
feat: manage JuiceFS service state during Redis operations
2025-03-14 17:37:47 +01:00

62 lines
2.0 KiB
YAML

---
- name: Deploy Redis for JuiceFS
block:
- name: Set Redis facts
ansible.builtin.set_fact:
redis_service_dir: "{{ ansible_env.HOME }}/services/juicefs-redis"
redis_data_dir: "/mnt/object_storage/services/redis"
redis_password: "{{ lookup('community.general.onepassword', '4cioblm633bdkl6put35lk6ql4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='password') }}"
- name: Create Redis service directory
ansible.builtin.file:
path: "{{ redis_service_dir }}"
state: directory
mode: "0755"
- name: Create Redis data directory
ansible.builtin.file:
path: "{{ redis_data_dir }}"
state: directory
mode: "0755"
- name: Deploy Redis docker-compose.yml
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{ redis_service_dir }}/docker-compose.yml"
mode: "0644"
register: redis_compose
vars:
REDIS_PASSWORD: "{{ redis_password }}"
- name: Stop juicefs.service to umount JuiceFS
ansible.builtin.systemd:
name: juicefs.service
state: stopped
enabled: false
register: juicefs_stop
changed_when: juicefs_stop.changed
- 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
changed_when: redis_start.rc == 0
- name: Start juicefs.service to mount JuiceFS
ansible.builtin.systemd:
name: juicefs.service
state: started
enabled: true
register: juicefs_start
changed_when: juicefs_start.changed
- name: Wait for Redis to be ready
ansible.builtin.wait_for:
host: localhost
port: 6379
timeout: 30