Move valkey setup into its own playbook
This commit is contained in:
parent
86485e6ab6
commit
b9dd0c9616
4 changed files with 167 additions and 160 deletions
|
@ -1,2 +1,3 @@
|
||||||
---
|
---
|
||||||
valkey: 8.0.1
|
valkey_version: 8.0.1
|
||||||
|
valkey_src: '/usr/local/src/valkey-{{ valkey_version }}'
|
||||||
|
|
|
@ -1,159 +0,0 @@
|
||||||
---
|
|
||||||
- hosts: alpha
|
|
||||||
become: yes
|
|
||||||
vars_files:
|
|
||||||
- '{{ inventory_dir }}/dep_versions.yml'
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: Update System and Packages
|
|
||||||
ansible.builtin.apt:
|
|
||||||
update_cache: yes
|
|
||||||
upgrade: yes
|
|
||||||
- name: Install System Dependencies
|
|
||||||
ansible.builtin.package:
|
|
||||||
name: build-essential,libssl-dev,libsystemd-dev,git,curl,zip,pkg-config,tcl
|
|
||||||
state: present
|
|
||||||
- name: Create System User for Valkey
|
|
||||||
ansible.builtin.user:
|
|
||||||
name: valkey
|
|
||||||
system: true
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Download Valkey Source Code
|
|
||||||
ansible.builtin.get_url:
|
|
||||||
url: https://github.com/valkey-io/valkey/archive/refs/tags/{{ valkey }}.zip
|
|
||||||
dest: /usr/local/src/valkey-{{ valkey }}.zip
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- build
|
|
||||||
- name: Unzip Valkey Source Code
|
|
||||||
ansible.builtin.unarchive:
|
|
||||||
src: /usr/local/src/valkey-{{ valkey }}.zip
|
|
||||||
dest: /usr/local/src
|
|
||||||
remote_src: true
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- build
|
|
||||||
- name: Compile Valkey
|
|
||||||
community.general.make:
|
|
||||||
chdir: /usr/local/src/valkey-{{ valkey }}
|
|
||||||
params:
|
|
||||||
BUILD_TLS: module
|
|
||||||
USE_SYSTEMD: yes
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- build
|
|
||||||
- name: Run Valkey Tests
|
|
||||||
ansible.builtin.command:
|
|
||||||
chdir: /usr/local/src/valkey-{{ valkey }}
|
|
||||||
argv:
|
|
||||||
- make
|
|
||||||
- test
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- tests
|
|
||||||
- name: Install Valkey
|
|
||||||
community.general.make:
|
|
||||||
chdir: /usr/local/src/valkey-{{ valkey }}
|
|
||||||
target: install
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Create Valkey Config Directory
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: /etc/valkey
|
|
||||||
state: directory
|
|
||||||
owner: valkey
|
|
||||||
group: valkey
|
|
||||||
mode: 0770
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Create Valkey Runtime Directory
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: /var/lib/valkey
|
|
||||||
state: directory
|
|
||||||
owner: valkey
|
|
||||||
group: valkey
|
|
||||||
mode: 0770
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Enable ACL File in Valkey Config
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /usr/local/src/valkey-{{ valkey }}/valkey.conf
|
|
||||||
firstmatch: true
|
|
||||||
regex: '^# aclfile'
|
|
||||||
line: aclfile /etc/valkey/users.acl
|
|
||||||
- name: Copy Included Valkey Config File to Config Directory
|
|
||||||
ansible.builtin.copy:
|
|
||||||
remote_src: true
|
|
||||||
src: /usr/local/src/valkey-{{ valkey }}/valkey.conf
|
|
||||||
dest: /etc/valkey/valkey.conf
|
|
||||||
owner: valkey
|
|
||||||
group: valkey
|
|
||||||
mode: 0640
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Copy Valkey ACL File to Config Directory
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: '{{ inventory_dir }}/includes/users.acl'
|
|
||||||
dest: /etc/valkey/users.acl
|
|
||||||
owner: valkey
|
|
||||||
group: valkey
|
|
||||||
mode: 0640
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Edit Valkey Systemd Service File to Set Proper ExecCommand Parameter
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /usr/local/src/valkey-{{ valkey }}/utils/systemd-valkey_server.service
|
|
||||||
firstmatch: true
|
|
||||||
regex: '^ExecStart'
|
|
||||||
line: ExecStart=/usr/local/bin/valkey-server /etc/valkey/valkey.conf --supervised systemd --daemonize no
|
|
||||||
backup: true
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Edit Valkey Systemd Service File to Set Proper User Parameter
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /usr/local/src/valkey-{{ valkey }}/utils/systemd-valkey_server.service
|
|
||||||
firstmatch: true
|
|
||||||
regex: '^#User'
|
|
||||||
line: User=valkey
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Edit Valkey Systemd Service File to Set Proper Group Parameter
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /usr/local/src/valkey-{{ valkey }}/utils/systemd-valkey_server.service
|
|
||||||
firstmatch: true
|
|
||||||
regex: '^#Group'
|
|
||||||
line: Group=valkey
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Edit Valkey Systemd Service File to Set Proper WorkingDirectory Parameter
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /usr/local/src/valkey-{{ valkey }}/utils/systemd-valkey_server.service
|
|
||||||
firstmatch: true
|
|
||||||
regex: '^#WorkingDirectory'
|
|
||||||
line: WorkingDirectory=/var/lib/valkey
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Copy Included Valkey Systemd Service File to Proper Location
|
|
||||||
ansible.builtin.copy:
|
|
||||||
remote_src: true
|
|
||||||
src: /usr/local/src/valkey-{{ valkey }}/utils/systemd-valkey_server.service
|
|
||||||
dest: /etc/systemd/system/valkey.service
|
|
||||||
owner: valkey
|
|
||||||
group: valkey
|
|
||||||
mode: 0
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Enable Valkey Service
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: valkey.service
|
|
||||||
enabled: true
|
|
||||||
daemon_reload: true
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
||||||
- name: Start Valkey Service
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: valkey.service
|
|
||||||
state: started
|
|
||||||
tags:
|
|
||||||
- valkey
|
|
14
admin/playbooks/01-setup.yml
Normal file
14
admin/playbooks/01-setup.yml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
- hosts: alpha
|
||||||
|
become: yes
|
||||||
|
tasks:
|
||||||
|
- name: Update System and Packages
|
||||||
|
ansible.builtin.apt:
|
||||||
|
update_cache: yes
|
||||||
|
upgrade: yes
|
||||||
|
- name: Install System Dependencies
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: build-essential,libssl-dev,libsystemd-dev,git,curl,zip,pkg-config,tcl
|
||||||
|
state: present
|
||||||
|
- import_playbook: 01-setup/setup-valkey.yml
|
||||||
|
|
151
admin/playbooks/01-setup/setup-valkey.yml
Normal file
151
admin/playbooks/01-setup/setup-valkey.yml
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
---
|
||||||
|
- name: Setup Valkey
|
||||||
|
hosts: alpha
|
||||||
|
become: yes
|
||||||
|
vars_files:
|
||||||
|
- '{{ inventory_dir }}/dep_versions.yml'
|
||||||
|
tasks:
|
||||||
|
- name: Create System User for Valkey
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: valkey
|
||||||
|
system: true
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Download Valkey Source Code
|
||||||
|
ansible.builtin.get_url:
|
||||||
|
url: https://github.com/valkey-io/valkey/archive/refs/tags/{{ valkey_version }}.zip
|
||||||
|
dest: '{{ valkey_src }}.zip'
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- build
|
||||||
|
- name: Unzip Valkey Source Code
|
||||||
|
ansible.builtin.unarchive:
|
||||||
|
src: '{{ valkey_src }}.zip'
|
||||||
|
dest: /usr/local/src
|
||||||
|
remote_src: true
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- build
|
||||||
|
- name: Compile Valkey
|
||||||
|
community.general.make:
|
||||||
|
chdir: '{{ valkey_src }}'
|
||||||
|
params:
|
||||||
|
BUILD_TLS: module
|
||||||
|
USE_SYSTEMD: yes
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- build
|
||||||
|
- name: Run Valkey Tests
|
||||||
|
ansible.builtin.command:
|
||||||
|
chdir: '{{ valkey_src }}'
|
||||||
|
argv:
|
||||||
|
- make
|
||||||
|
- test
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- tests
|
||||||
|
- name: Install Valkey
|
||||||
|
community.general.make:
|
||||||
|
chdir: '{{ valkey_src }}'
|
||||||
|
target: install
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Create Valkey Config Directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/valkey
|
||||||
|
state: directory
|
||||||
|
owner: valkey
|
||||||
|
group: valkey
|
||||||
|
mode: 0770
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Create Valkey Runtime Directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /var/lib/valkey
|
||||||
|
state: directory
|
||||||
|
owner: valkey
|
||||||
|
group: valkey
|
||||||
|
mode: 0770
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Enable ACL File in Valkey Config
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: '{{ valkey_src }}/valkey.conf'
|
||||||
|
firstmatch: true
|
||||||
|
regex: '^# aclfile'
|
||||||
|
line: aclfile /etc/valkey/users.acl
|
||||||
|
- name: Copy Included Valkey Config File to Config Directory
|
||||||
|
ansible.builtin.copy:
|
||||||
|
remote_src: true
|
||||||
|
src: '{{ valkey_src }}/valkey.conf'
|
||||||
|
dest: /etc/valkey/valkey.conf
|
||||||
|
owner: valkey
|
||||||
|
group: valkey
|
||||||
|
mode: 0640
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Copy Valkey ACL File to Config Directory
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: '{{ inventory_dir }}/includes/users.acl'
|
||||||
|
dest: /etc/valkey/users.acl
|
||||||
|
owner: valkey
|
||||||
|
group: valkey
|
||||||
|
mode: 0640
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Edit Valkey Systemd Service File to Set Proper ExecCommand Parameter
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: '{{ valkey_src }}/utils/systemd-valkey_server.service'
|
||||||
|
firstmatch: true
|
||||||
|
regex: '^ExecStart'
|
||||||
|
line: ExecStart=/usr/local/bin/valkey-server /etc/valkey/valkey.conf --supervised systemd --daemonize no
|
||||||
|
backup: true
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Edit Valkey Systemd Service File to Set Proper User Parameter
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: '{{ valkey_src }}/utils/systemd-valkey_server.service'
|
||||||
|
firstmatch: true
|
||||||
|
regex: '^#User'
|
||||||
|
line: User=valkey
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Edit Valkey Systemd Service File to Set Proper Group Parameter
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: '{{ valkey_src }}/utils/systemd-valkey_server.service'
|
||||||
|
firstmatch: true
|
||||||
|
regex: '^#Group'
|
||||||
|
line: Group=valkey
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Edit Valkey Systemd Service File to Set Proper WorkingDirectory Parameter
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: '{{ valkey_src }}/utils/systemd-valkey_server.service'
|
||||||
|
firstmatch: true
|
||||||
|
regex: '^#WorkingDirectory'
|
||||||
|
line: WorkingDirectory=/var/lib/valkey
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Copy Included Valkey Systemd Service File to Proper Location
|
||||||
|
ansible.builtin.copy:
|
||||||
|
remote_src: true
|
||||||
|
src: '{{ valkey_src }}/utils/systemd-valkey_server.service'
|
||||||
|
dest: /etc/systemd/system/valkey.service
|
||||||
|
owner: valkey
|
||||||
|
group: valkey
|
||||||
|
mode: 0
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Enable Valkey Service
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
name: valkey.service
|
||||||
|
enabled: true
|
||||||
|
daemon_reload: true
|
||||||
|
tags:
|
||||||
|
- valkey
|
||||||
|
- name: Start Valkey Service
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
name: valkey.service
|
||||||
|
state: started
|
||||||
|
tags:
|
||||||
|
- valkey
|
Loading…
Add table
Reference in a new issue