From fe0c02dd09e9656ce04213319d831216343aa3fe Mon Sep 17 00:00:00 2001 From: Aravinth Manivannan Date: Mon, 13 Nov 2023 21:32:40 +0530 Subject: [PATCH] feat: refactor cache into a role --- ansible/cache.yml | 80 +-------------------------- ansible/roles/cache/handlers/main.yml | 6 ++ ansible/roles/cache/tasks/main.yml | 74 +++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 78 deletions(-) create mode 100644 ansible/roles/cache/handlers/main.yml create mode 100644 ansible/roles/cache/tasks/main.yml diff --git a/ansible/cache.yml b/ansible/cache.yml index da9bdb2..5942443 100644 --- a/ansible/cache.yml +++ b/ansible/cache.yml @@ -11,81 +11,5 @@ pre_tasks: - name: Ensure all VMs are reachable ansible.builtin.ping: - - tasks: - - name: Install redis-server - become: true - ansible.builtin.apt: - update_cache: true - pkg: - - redis-server - - - name: Create Redis plugins dir - become: true - ansible.builtin.file: - path: /usr/lib/redis/modules - owner: redis - group: redis - state: directory - mode: "0755" - - - name: Copy custom Redis configuration - become: true - ansible.builtin.copy: - src: ./artifacts/cache/redis.conf - dest: /etc/redis/ - owner: redis - group: redis - force: true - mode: "0640" - - - name: Create download dir - ansible.builtin.file: - path: /tmp/cache-lib - state: directory - mode: "0755" - - - name: Download plugin - ansible.builtin.get_url: - url: https://dl.mcaptcha.org/mcaptcha/cache/master/cache-master-linux-amd64.tar.gz - dest: /tmp/cache-lib/ - checksum: sha256:https://dl.mcaptcha.org/mcaptcha/cache/master/cache-master-linux-amd64.tar.gz.sha256 - - - name: Extract cache-master-linux-amd64.tar.gz into /var/lib/foo - ansible.builtin.unarchive: - src: /tmp/cache-lib/cache-master-linux-amd64.tar.gz - remote_src: true - dest: /tmp/cache-lib/ - - - name: Copy custom Redis configuration - become: true - notify: restart redis - ansible.builtin.copy: - src: /tmp/cache-lib/cache-master-linux-amd64/libcache.so - remote_src: true - dest: /usr/lib/redis/modules/ - owner: redis - group: redis - force: true - mode: "0755" - - # - name: Delete download dir - # ansible.builtin.file: - # path: /tmp/cache-lib - # state: absent - - - name: Allow port 6379 for redis - become: true - community.general.ufw: - state: enabled - rule: allow - proto: tcp - port: "6379" - - handlers: - - name: Restart redis - listen: restart redis - ansible.builtin.service: - name: redis - enabled: true - state: restarted + roles: + - cache diff --git a/ansible/roles/cache/handlers/main.yml b/ansible/roles/cache/handlers/main.yml new file mode 100644 index 0000000..7d2fadb --- /dev/null +++ b/ansible/roles/cache/handlers/main.yml @@ -0,0 +1,6 @@ +- name: Restart redis + listen: restart redis + ansible.builtin.service: + name: redis + enabled: true + state: restarted diff --git a/ansible/roles/cache/tasks/main.yml b/ansible/roles/cache/tasks/main.yml new file mode 100644 index 0000000..85d08ad --- /dev/null +++ b/ansible/roles/cache/tasks/main.yml @@ -0,0 +1,74 @@ +# SPDX-FileCopyrightText: 2023 Aravinth Manivannan +# +# SPDX-License-Identifier: AGPL-3.0-or-later +--- +- name: Install redis-server + become: true + ansible.builtin.apt: + update_cache: true + pkg: + - redis-server + +- name: Create Redis plugins dir + become: true + ansible.builtin.file: + path: /usr/lib/redis/modules + owner: redis + group: redis + state: directory + mode: "0755" + +- name: Copy custom Redis configuration + become: true + ansible.builtin.copy: + src: ./artifacts/cache/redis.conf + dest: /etc/redis/ + owner: redis + group: redis + force: true + mode: "0640" + +- name: Create download dir + ansible.builtin.file: + path: /tmp/cache-lib + state: directory + mode: "0755" + +- name: Download plugin + ansible.builtin.get_url: + url: https://dl.mcaptcha.org/mcaptcha/cache/master/cache-master-linux-amd64.tar.gz + dest: /tmp/cache-lib/ + checksum: sha256:https://dl.mcaptcha.org/mcaptcha/cache/master/cache-master-linux-amd64.tar.gz.sha256 + +- name: Extract cache-master-linux-amd64.tar.gz into /var/lib/foo + ansible.builtin.unarchive: + src: /tmp/cache-lib/cache-master-linux-amd64.tar.gz + remote_src: true + dest: /tmp/cache-lib/ + +- name: Copy custom Redis configuration + become: true + notify: restart redis + ansible.builtin.copy: + src: /tmp/cache-lib/cache-master-linux-amd64/libcache.so + remote_src: true + dest: /usr/lib/redis/modules/ + owner: redis + group: redis + force: true + mode: "0755" + +# - name: Delete download dir +# ansible.builtin.file: +# path: /tmp/cache-lib +# state: absent + +- name: Allow port 6379 for redis + become: true + community.general.ufw: + state: enabled + rule: allow + proto: tcp + port: "6379" + +