databases/roles/redis
2024-12-15 12:34:40 +01:00
..
defaults/main feat(redis): add ansible role 2024-11-02 09:57:00 +01:00
handlers feat(redis): add ansible role 2024-11-02 09:57:00 +01:00
meta feat(redis): add ansible role 2024-11-02 09:57:00 +01:00
tasks fix(redis): set container restart policy 2024-12-15 12:34:40 +01:00
vars feat(redis): add ansible role 2024-11-02 09:57:00 +01:00
README.md feat(redis): add ansible role 2024-11-02 09:57:00 +01:00

finallycoffee.databases.redis ansible role

Redis is the self-proclaimed world's fastest data platform for caching, vector search and NoSQL databases. Since version 7.2.4, it is no longer considered "Free and open source software" (FOSS), with redis switching their license to the "Serverside public license" (SSPL).

Setting the redis_version to higher than 7.2.4 means you will deploy the SSPL-licensed version to redis.

Configuration

All container-related options to the docker_container ansible module are available under the redis_container_* namespace, for example use redis_container_ports: [ '127.0.0.1:6379:6370/tcp' ] to map the containers port 6379 to the docker host.

Redis-related config options are either available in the redis_config_* namespace or can be specified by setting them as a dictionary in redis_config

Authentication and authorization

Redis ACL can be specified as an array in the redis_config_user variable

  • see the redis documentation for the format. Per default, the default user is able to connect without any password. To require a password and use a different user, override the variable, for example redis_config_user: [ 'username on +@all -DEBUG ~* >secret' ].

Redis on a unix socket

To make redis available on a unix socket, a directory must be supplied in which the socket lives:

redis_container_socket: /var/run/redis.sock
redis_container_volumes:
  - "/path/to/socket/on/host/redis.sock:{{ redis_container_socket }}:z"
redis_config_unixsocket: "{{ redis_container_socket }}"

Container specific information

Redis publishes their official container image in both a debian-based and an alpine-based variant. Which image should be used can be configured in redis_container_image_flavour, which defaults to alpine, which is smaller in size but also includes less related / debugging tools. To use the debian- based image, unset the flavour using redis_container_image_flavour: ~.