40 lines
1.6 KiB
Markdown
40 lines
1.6 KiB
Markdown
|
# `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](https://github.com/redis/redis/blob/unstable/redis.conf#L869)
|
||
|
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:
|
||
|
```yaml
|
||
|
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 }}"
|
||
|
```
|