redis

Статус сборки

Ansible Роль: Redis

Устанавливает Redis Server на Debian.

Минималистичная версия роли redis с множественными конфигурациями для дистрибутивов на базе Debian, с хорошим покрытием тестами с помощью Molecule (чтобы вы могли тестировать локально с минимальными усилиями) и совместимым с Docker слоем, если вы хотите построить его на основе контейнера Docker.

Она создаст отдельные конфигурационные файлы (находящиеся по адресу /etc/redis/redis-{{name}}.conf), а также отдельные точки ведения журнала в /var/log/redis/ для каждой определенной конфигурации.

Эта роль идеально подходит для разработки, чтобы протестировать несколько конфигураций на одной машине, а также для непосредственного развертывания с минималистичным, полностью покрытым тестами и правильно оформленным кодом.

Использует systemctl на LXD/ baremetal и простой init.d на Docker.

Требования

Нет зависимостей.

Покрытие

В настоящее время собирается и интегрируется на последних дистрибутивах на базе Debian:

Ubuntu: 18.04, 16.04

Debian: stretch

Переменные

по умолчанию

redis_package_name: "redis-server"  

redis_configs:
  - port: 6380      # порт для прослушивания   
    name: "cache"   # имя конфигурации - также повлияет на имя файла журнала (/var/log/redis) и целей pid
    bind: 127.0.0.1 # к какому IP привязываться (localhost — самый безопасный вариант для самообслуживания)
    

пример многоконфигурации

redis_configs:
  - port: 6379,
    name: "cache"
    bind: 127.0.0.1   
  - port: 6380,
    name: "session"
    bind: 127.0.0.1
  - port: 8080,
    name: "shared-cache"
    bind: 0.0.0.0  
    # будьте осторожны, последний откроет порт 8080 для внешнего мира, 
    # поэтому потребуется отдельный набор правил по обеспечению безопасности (не включен в эту роль)        

В настоящее время роль устанавливает последнюю стабильную версию, доступную в upstream соответствующих дистрибутивов.

Пример playbook

при клонировании с GitHub
---
- hosts: all
  vars:
    redis_configs:
      - port: 6379,
        name: "cache0"
        bind: 127.0.0.1
      - port: 6380,
        name: "cache1"
        bind: 127.0.0.1
  roles:
    - role: ansible-redis
    
при использовании ansible-galaxy
---
- hosts: all
  vars:
    redis_configs:
      - port: 6379,
        name: "cache0"
        bind: 127.0.0.1
      - port: 6380,
        name: "cache1"
        bind: 127.0.0.1
  roles:
    - role: grzegorznowak.redis        

Тестирование

Требования

Тестирование с низкоуровневыми LXD chroot контейнерами

molecule test

Тестирование на образах Docker

molecule test --scenario-name=docker_dev

Дополнительные возможности от Molecule

Помните, что вы также можете делать необычные вещи, например, использовать molecule converge, чтобы просто создавать экземпляры по желанию, а затем уничтожать их с помощью molecule destroy. Здесь действительно нет пределов!

Спонсорство

Kwiziq.com - Платформа обучения языкам на основе ИИ

Spottmedia.com - Проектирование, доставка и консалтинг в области технологий

Информация об авторе

С любовью создано Grzegorz Nowak.

О проекте

Redis multiconf for Ubuntu. Molecule covered. Also builds for vanilla docker machines.

Установить
ansible-galaxy install grzegorznowak/ansible-redis
Лицензия
Unknown
Загрузки
6974
Владелец
Let's solve some more problems, shall we ?