feat(valkey): add ansible role

This commit is contained in:
2024-11-03 17:28:40 +01:00
parent ccc4f52d56
commit 383a89aef7
13 changed files with 261 additions and 0 deletions

View File

@ -0,0 +1,41 @@
---
valkey_config_bind:
- "127.0.0.1"
- "-::1"
valkey_config_protected_mode: true
valkey_config_port: 6379
valkey_config_unixsocket: ~
valkey_config_unixsocketperm: '700'
valkey_config_user:
- "default on +@all -DEBUG ~* nopass"
valkey_config_databases: 16
valkey_config_supervised: false
valkey_config_daemonize: false
valkey_config_dbfilename: dump.rdb
valkey_config_dir: "{{ valkey_data_path }}"
valkey_config_save: "3600 1 300 100 60 10000"
valkey_config_appendfsync: everysec
valkey_base_config:
bind: "{{ valkey_config_bind | join(' ') }}"
"protected-mode": "{{ valkey_config_protected_mode | bool | ternary('yes', 'no') }}"
port: "{{ valkey_config_port }}"
user: "{{ valkey_config_user }}"
databases: "{{ valkey_config_databases }}"
daemonize: "{{ valkey_config_daemonize | bool | ternary('yes', 'no') }}"
supervised: "{{ valkey_config_supervised | bool | ternary('yes', 'no') }}"
save: "{{ valkey_config_save }}"
dbfilename: "{{ valkey_config_dbfilename }}"
dir: "{{ valkey_config_dir }}"
appendfsync: "{{ valkey_config_appendfsync }}"
valkey_config: ~
valkey_merged_config: >-2
{{ valkey_base_config
| combine(({
'unixsocket': valkey_config_unixsocket,
'unixsocketperm': valkey_config_unixsocketperm,
})
if (valkey_config_unixsocket | default(false, true)) else {},
recursive=True)
| combine(valkey_config | default({}, true), recursive=True) }}

View File

@ -0,0 +1,49 @@
---
valkey_container_image_registry: docker.io
valkey_container_image_namespace: valkey
valkey_container_image_name: valkey
valkey_container_image_tag: ~
valkey_container_image_flavour: alpine
valkey_container_image_source: pull
valkey_container_image_force_source: >-2
{{ valkey_container_image_tag | default(false, true) | bool }}
valkey_container_image: >-2
{{
([
valkey_container_image_registry | default([], true),
valkey_container_image_namespace | default([], true),
valkey_container_image_name,
] | flatten | join('/'))
+ ':' +
(valkey_container_image_tag | default(
valkey_version + (
((valkey_container_image_flavour is string)
and (valkey_container_image_flavour | length > 0))
| ternary('-' + (valkey_container_image_flavour | default('')), '')
),
true,
))
}}
valkey_container_name: "valkey{{ valkey_instance_suffix }}"
valkey_container_env: ~
valkey_container_user: >-2
{{ valkey_run_user_id }}:{{ valkey_run_group_id }}
valkey_container_ports: ~
valkey_container_labels: ~
valkey_container_volumes: ~
valkey_container_merged_volumes: >-2
{{ valkey_container_base_volumes
+ valkey_container_volumes | default([], true) }}
valkey_container_command:
- "valkey-server"
- "{{ valkey_config_file }}"
valkey_container_networks: ~
valkey_container_etc_hosts: ~
valkey_container_dns_servers: ~
valkey_container_restart_policy: "unless-stopped"
valkey_container_state: >-2
{{ (valkey_state == 'present') | ternary('started', 'absent') }}
valkey_container_base_volumes:
- "{{ valkey_config_file }}:{{ valkey_config_file }}:ro"
- "{{ valkey_data_path }}:{{ valkey_data_path }}:rw"

View File

@ -0,0 +1,15 @@
---
valkey_version: "8.0.1"
valkey_state: "present"
valkey_instance: ~
valkey_instance_suffix: >-2
{{ ((valkey_instance is string) and (valkey_instance | length > 0))
| ternary('-' + (valkey_instance | default('', true)), '') }}
valkey_user: >-2
valkey{{ valkey_instance_suffix }}
valkey_config_path: "/etc/valkey"
valkey_config_file: >-2
{{ valkey_config_path }}/valkey{{ valkey_instance_suffix }}.conf
valkey_data_path: "/var/lib/valkey{{ valkey_instance_suffix }}"
valkey_deployment_method: docker

View File

@ -0,0 +1,10 @@
---
valkey_run_user_id: >-2
{{ valkey_user_info.uid | default(valkey_user, true) }}
valkey_run_group_id: >-2
{{ valkey_user_info.group | default(valkey_user, true) }}
valkey_user_system: true
valkey_user_create_home: false
valkey_user_groups: ~
valkey_user_append_groups: >-2
{{ valkey_user_groups | default(true, false) | bool }}