grzegorznowak.redis

Status Buildu

Rola Ansible: Redis

Instaluje Redis Server na systemie Debian.

Jest to uproszczona wersja roli redis o wielu konfiguracjach dla dystrybucji opartych na Debianie, z solidnym pokryciem testami przy użyciu Molecule (jednocześnie możesz testować lokalnie z minimalnym wysiłkiem) oraz warstwą kompatybilną z Dockerem, jeśli chcesz zbudować ją na bazie kontenera Docker.

Tworzy oddzielne pliki konfiguracyjne (znajdujące się w /etc/redis/redis-{{name}}.conf), a także oddzielne punkty logowania w /var/log/redis/ dla każdej zdefiniowanej konfiguracji.

Rola ta jest idealna do celów deweloperskich, aby testować różne konfiguracje na jednej maszynie, jak również do wdrożeń produkcyjnych, z minimalnym, w pełni pokrytym molekułami i lintowanym kodem.

Wykorzystuje systemctl na LXD/baremetal oraz prosty init.d na Dockerze.

Wymagania

Brak zależności.

Pokrycie

Obecnie buduje się i integruje na najnowszych dystrybucjach opartych na Debianie:

Ubuntu: 18.04, 16.04

Debian: stretch

Zmienne

domyślne

redis_package_name: "redis-server"  

redis_configs:
  - port: 6380      # port, na którym nasłuchuje   
    name: "cache"   # nazwa konfiguracji - wpłynie również na nazwy plików dziennika (/var/log/redis) oraz pliku pid
    bind: 127.0.0.1 # do którego IP się wiąże (localhost jest najbezpieczniejszą opcją dla usług samodzielnych)
    

przykładowa konfiguracja wielokrotna

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  
    # uwaga: ostatnia opcja otworzy port 8080 na świat zewnętrzny, 
    # więc będą potrzebne osobne zasady zabezpieczeń (nie zawarte w tej roli)        

Obecnie rola instaluje najnowszą stabilną wersję dostępną w repozytoriach wspieranych dystrybucji.

Przykładowy playbook

przy klonowaniu z 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
    
z 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        

Testowanie

Wymagania

Testowanie z niskopoziomowymi kontenerami LXD chroot

molecule test

Testowanie z użyciem obrazów bazowych Dockera

molecule test --scenario-name=docker_dev

Dodatkowe korzyści z Molecule

Pamiętaj, że możesz również robić różne ciekawe rzeczy, takie jak molecule converge, aby prostokątnie uruchomić instancje, a następnie je zniszczyć za pomocą molecule destroy. Tutaj naprawdę nie ma ograniczeń!

Sponsorzy

Kwiziq.com - Platforma edukacji językowej AI

Spottmedia.com - Projektowanie technologii, dostarczanie i konsulting

Informacje o autorze

stworzono z pasją przez Grzegorza Nowaka.

O projekcie

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

Zainstaluj
ansible-galaxy install grzegorznowak.redis
Licencja
Unknown
Pobrania
7k
Właściciel
Let's solve some more problems, shall we ?