81 lines
1.8 KiB
YAML
81 lines
1.8 KiB
YAML
---
|
|
# Valkey (Redis fork) Primary Setup
|
|
#
|
|
# Usage: ansible-playbook -i inventory.ini playbooks/valkey.yml
|
|
#
|
|
# Creates:
|
|
# - Valkey server on valkey-primary
|
|
# - Configured for Nebula network access
|
|
# - 16 databases (0-15) for multi-tenant use
|
|
|
|
- name: Setup Valkey Primary
|
|
hosts: valkey-primary
|
|
become: true
|
|
vars_files:
|
|
- ../vault/secrets.yml
|
|
vars:
|
|
valkey_maxmemory: "256mb"
|
|
valkey_maxmemory_policy: "allkeys-lru"
|
|
tasks:
|
|
- name: Install valkey
|
|
community.general.pacman:
|
|
name: valkey
|
|
state: present
|
|
|
|
- name: Create systemd override directory
|
|
file:
|
|
path: /etc/systemd/system/valkey.service.d
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Add systemd override for ACL write access
|
|
copy:
|
|
dest: /etc/systemd/system/valkey.service.d/override.conf
|
|
content: |
|
|
[Service]
|
|
ReadWritePaths=/etc/valkey
|
|
mode: '0644'
|
|
notify:
|
|
- reload systemd
|
|
- restart valkey
|
|
|
|
- name: Deploy ACL file
|
|
template:
|
|
src: ../templates/valkey-acl.j2
|
|
dest: /etc/valkey/users.acl
|
|
owner: valkey
|
|
group: valkey
|
|
mode: '0600'
|
|
notify: restart valkey
|
|
|
|
- name: Deploy valkey.conf
|
|
template:
|
|
src: ../templates/valkey.conf.j2
|
|
dest: /etc/valkey/valkey.conf
|
|
owner: valkey
|
|
group: valkey
|
|
mode: '0640'
|
|
notify: restart valkey
|
|
|
|
- name: Start and enable valkey
|
|
systemd:
|
|
name: valkey
|
|
state: started
|
|
enabled: true
|
|
|
|
- name: Wait for Valkey to be ready
|
|
wait_for:
|
|
host: "{{ nebula_ip }}"
|
|
port: 6379
|
|
timeout: 30
|
|
|
|
handlers:
|
|
- name: reload systemd
|
|
systemd:
|
|
daemon_reload: true
|
|
|
|
- name: restart valkey
|
|
systemd:
|
|
name: valkey
|
|
state: restarted
|