feat(redis): add ansible role
This commit is contained in:
41
roles/redis/defaults/main/config.yml
Normal file
41
roles/redis/defaults/main/config.yml
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
redis_config_bind:
|
||||
- "127.0.0.1"
|
||||
- "-::1"
|
||||
redis_config_protected_mode: true
|
||||
redis_config_port: 6379
|
||||
redis_config_unixsocket: ~
|
||||
redis_config_unixsocketperm: '700'
|
||||
redis_config_user:
|
||||
- "default on +@all -DEBUG ~* nopass"
|
||||
redis_config_databases: 16
|
||||
redis_config_supervised: false
|
||||
redis_config_daemonize: false
|
||||
redis_config_dbfilename: dump.rdb
|
||||
redis_config_dir: "{{ redis_data_path }}"
|
||||
redis_config_save: "3600 1 300 100 60 10000"
|
||||
redis_config_appendfsync: everysec
|
||||
|
||||
redis_base_config:
|
||||
bind: "{{ redis_config_bind | join(' ') }}"
|
||||
"protected-mode": "{{ redis_config_protected_mode | bool | ternary('yes', 'no') }}"
|
||||
port: "{{ redis_config_port }}"
|
||||
user: "{{ redis_config_user }}"
|
||||
databases: "{{ redis_config_databases }}"
|
||||
daemonize: "{{ redis_config_daemonize | bool | ternary('yes', 'no') }}"
|
||||
supervised: "{{ redis_config_supervised | bool | ternary('yes', 'no') }}"
|
||||
save: "{{ redis_config_save }}"
|
||||
dbfilename: "{{ redis_config_dbfilename }}"
|
||||
dir: "{{ redis_config_dir }}"
|
||||
appendfsync: "{{ redis_config_appendfsync }}"
|
||||
|
||||
redis_config: ~
|
||||
redis_merged_config: >-2
|
||||
{{ redis_base_config
|
||||
| combine(({
|
||||
'unixsocket': redis_config_unixsocket,
|
||||
'unixsocketperm': redis_config_unixsocketperm,
|
||||
})
|
||||
if (redis_config_unixsocket | default(false, true)) else {},
|
||||
recursive=True)
|
||||
| combine(redis_config | default({}, true), recursive=True) }}
|
49
roles/redis/defaults/main/container.yml
Normal file
49
roles/redis/defaults/main/container.yml
Normal file
@ -0,0 +1,49 @@
|
||||
---
|
||||
redis_container_image_registry: docker.io
|
||||
redis_container_image_namespace: ~
|
||||
redis_container_image_name: redis
|
||||
redis_container_image_tag: ~
|
||||
redis_container_image_flavour: alpine
|
||||
redis_container_image_source: pull
|
||||
redis_container_image_force_source: >-2
|
||||
{{ redis_container_image_tag | default(false, true) | bool }}
|
||||
redis_container_image: >-2
|
||||
{{
|
||||
([
|
||||
redis_container_image_registry | default([], true),
|
||||
redis_container_image_namespace | default([], true),
|
||||
redis_container_image_name,
|
||||
] | flatten | join('/'))
|
||||
+ ':' +
|
||||
(redis_container_image_tag | default(
|
||||
redis_version + (
|
||||
((redis_container_image_flavour is string)
|
||||
and (redis_container_image_flavour | length > 0))
|
||||
| ternary('-' + (redis_container_image_flavour | default('')), '')
|
||||
),
|
||||
true,
|
||||
))
|
||||
}}
|
||||
|
||||
redis_container_name: "redis{{ redis_instance_suffix }}"
|
||||
redis_container_env: ~
|
||||
redis_container_user: >-2
|
||||
{{ redis_run_user_id }}:{{ redis_run_group_id }}
|
||||
redis_container_ports: ~
|
||||
redis_container_labels: ~
|
||||
redis_container_volumes: ~
|
||||
redis_container_merged_volumes: >-2
|
||||
{{ redis_container_base_volumes
|
||||
+ redis_container_volumes | default([], true) }}
|
||||
redis_container_command:
|
||||
- "redis-server"
|
||||
- "{{ redis_config_file }}"
|
||||
redis_container_networks: ~
|
||||
redis_container_etc_hosts: ~
|
||||
redis_container_dns_servers: ~
|
||||
redis_container_restart_policy: "unless-stopped"
|
||||
redis_container_state: >-2
|
||||
{{ (redis_state == 'present') | ternary('started', 'absent') }}
|
||||
redis_container_base_volumes:
|
||||
- "{{ redis_config_file }}:{{ redis_config_file }}:ro"
|
||||
- "{{ redis_data_path }}:{{ redis_data_path }}:rw"
|
15
roles/redis/defaults/main/main.yml
Normal file
15
roles/redis/defaults/main/main.yml
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
redis_version: "7.2.4"
|
||||
redis_state: "present"
|
||||
redis_instance: ~
|
||||
redis_instance_suffix: >-2
|
||||
{{ ((redis_instance is string) and (redis_instance | length > 0))
|
||||
| ternary('-' + (redis_instance | default('', true)), '') }}
|
||||
redis_user: >-2
|
||||
redis{{ redis_instance_suffix }}
|
||||
|
||||
redis_config_path: "/etc/redis"
|
||||
redis_config_file: >-2
|
||||
{{ redis_config_path }}/redis{{ redis_instance_suffix }}.conf
|
||||
redis_data_path: "/var/lib/redis{{ redis_instance_suffix }}"
|
||||
redis_deployment_method: docker
|
10
roles/redis/defaults/main/user.yml
Normal file
10
roles/redis/defaults/main/user.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
redis_run_user_id: >-2
|
||||
{{ redis_user_info.uid | default(redis_user, true) }}
|
||||
redis_run_group_id: >-2
|
||||
{{ redis_user_info.group | default(redis_user, true) }}
|
||||
redis_user_system: true
|
||||
redis_user_create_home: false
|
||||
redis_user_groups: ~
|
||||
redis_user_append_groups: >-2
|
||||
{{ redis_user_groups | default(true, false) | bool }}
|
Reference in New Issue
Block a user