Skip to content

bilalcaliskan/redis-ansible-role

Repository files navigation

Redis Ansible Role

CI GitHub tag

Installs and configures Redis servers as cluster or sentinel on Redhat/Debian based hosts.

Requirements

This role has below requirements:

You can install suggested version with pip3:

$ pip3 install "ansible==2.9.16"

Note that this role requires root access, so either run it in a playbook with a global become: true, or invoke the role in your playbook.

Role Variables

See the default values in defaults/main.yml. You can overwrite them in vars/main.yml if neccessary or you can set them while running playbook.

Please note that this role can ensure that firewalld systemd service on your servers are started and enabled by default. If you want to start and enable firewalld service, please modify below variable as true while running playbook:

firewalld_enabled: true

Dependencies

This role depends on bilalcaliskan.remi role on Redhat based hosts.

Examples

Inventory

[redis]
node01.example.com
node02.example.com
node03.example.com

Installation

Standalone mode

- hosts: redis
  become: true
  roles:
    - role: bilalcaliskan.redis
      vars:
        install_redis: true
        sentinel_enabled: false
        cluster_enabled: false

Sentinel mode

- hosts: redis
  become: true
  roles:
    - role: bilalcaliskan.redis
      vars:
        install_redis: true
        sentinel_enabled: true
        cluster_enabled: false

Cluster mode

- hosts: redis
  become: true
  roles:
    - role: bilalcaliskan.redis
      vars:
        install_redis: true
        sentinel_enabled: false
        cluster_enabled: true

Uninstallation

- hosts: redis
  become: true
  roles:
    - role: bilalcaliskan.redis
      vars:
        install_redis: false

Development

This project requires below tools for development:

After you install all the tools above, you can simply configure pre-commit by typing:

$ pre-commit install

License

Apache License 2.0