silverlogic.rabbitmq

Ogłoszenie

Długo nie było aktualizacji. Wracam do tego podręcznika. Połączę poprawki (url, sprawdzanie kluczy itd.) w główną gałąź i wydam działającą wersję oznaczoną.

Następnie skupię się na stworzeniu nowej gałęzi, która będzie wersją 2.0 tego podręcznika. Główne zmiany, które planuję w wersji 2, to oddzielenie kroków instalacji od samej konfiguracji. Nie chcę wspierać niezliczonej liczby systemów operacyjnych w jednym podręczniku. Dlatego będziesz mógł samodzielnie stworzyć ansible-playbook-rabbitmq-install-my-little-snowflake-os :)

Dziękuję wszystkim za udział!

Podręcznik RabbitMQ

Podręcznik do instalacji i konfiguracji RabbitMQ. W późniejszym czasie będzie dostępnych wiele opcji konfiguracyjnych.

Jeśli chcesz omówić zmiany lub pomóc w wsparciu większej liczby platform, otwórz zgłoszenie.

Instalacja

Użyj Ansible Galaxy, aby zainstalować ten podręcznik:

$ ansible-galaxy install Mayeu.RabbitMQ,1.4.0

Gałąź master jest obecnie niestabilna. Proszę unikać jej używania do celów innych niż testowe :)

Obsługiwane systemy

Obecnie wspierane są tylko Debian Jessie i Wheezy na amd64. Zapraszam do przesyłania poprawek, aby wspierać inne dystrybucje lub systemy operacyjne.

Wersjonowanie semantyczne 2.0.0

Od momentu zatwierdzenia 67c608826a140868a71854ce3129b5f3d67ddcce podręcznik korzysta z wersjonowania semantycznego. Zgodnie ze specyfikacją, a ponieważ podręcznik jest używany w produkcji i chcę uniknąć łamania kompatybilności, pierwsza wersja to 1.0.0.

Publiczne API zdefiniowane w wersjonowaniu semantycznym odpowiada ustawieniom dostępnym dla użytkownika. Złamanie API (przechodzenie z X.Y.Z do (X+1).Y.Z) w tym kontekście oznacza, że użytkownik musi zmienić nazwę zmiennej, aby jego podręcznik działał.

Każda nowa funkcja dodana (z X.Y.Z do X.(Y+1).Z) powinna mieć działającą wartość domyślną, która nie wymaga interakcji ze strony użytkownika. Jeśli dodanie funkcji wymaga interakcji użytkownika, to nie jest to aktualizacja drobna, lecz główna.

Zmienne roli

Instalacja

Nazwa Typ Opis Domyślnie
rabbitmq_os_package Bool Gdy prawda, używa domyślnego pakietu proponowanego przez system operacyjny lub dystrybucję zamiast tego dystrybuowanego przez RabbitMQ. false

Środowisko

Nazwa Typ Opis Domyślnie
rabbitmq_conf_env Hash Ustaw zmienną środowiskową undef

Przykład:

rabbitmq_conf_env:
  RABBITMQ_ROCKS: poprawnie

Spowoduje wygenerowanie:

RABBITMQ_ROCKS="poprawnie"

Certyfikat

Nazwa Typ Opis Domyślnie
rabbitmq_cacert String Ścieżka do pliku certyfikatu CA. files/rabbitmq_cacert.pem
rabbitmq_server_key String Ścieżka do pliku klucza SSL. files/rabbitmq_server_key.pem
rabbitmq_server_cert String Ścieżka do pliku certyfikatu SSL. files/rabbitmq_server_cert.pem
rabbitmq_ssl Boolean Określa, czy należy używać SSL true

Domyślny plik konfiguracyjny

Nazwa Typ Opis Domyślnie
rabbitmq_conf_tcp_listeners_address String Adres nasłuchujący dla interfejsu tcp ''
rabbitmq_conf_tcp_listeners_port Integer Port nasłuchujący dla interfejsu tcp 5672
rabbitmq_conf_ssl_listeners_address String Adres nasłuchujący dla interfejsu ssl '0.0.0.0'
rabbitmq_conf_ssl_listeners_port Integer Port nasłuchujący dla interfejsu ssl 5671
rabbitmq_conf_ssl_options_cacertfile String Ścieżka do certyfikatu CA "/etc/rabbitmq/ssl/cacert.pem"
rabbitmq_conf_ssl_options_certfile String Ścieżka do certyfikatu serwera "/etc/rabbitmq/ssl/server_cert.pem"
rabbitmq_conf_ssl_options_keyfile String Ścieżka do pliku klucza prywatnego "/etc/rabbitmq/ssl/server_key.pem"
rabbitmq_conf_ssl_options_fail_if_no_peer_cert Boolean Wartość opcji SSL fail_if_no_peer_cert "true"

Wtyczki

Nazwa Typ Opis Domyślnie
rabbitmq_new_only String Dodaj wtyczki jako nowe, bez dezaktywacji innych wtyczek 'nie'
rabbitmq_plugins String Lista Lista wtyczek do aktywacji

Vhost

Nazwa Typ Opis Domyślnie
rabbitmq_vhost_definitions List Zdefiniuj listę vhost do utworzenia []
rabbitmq_users_definitions List of hash Zdefiniuj użytkowników i powiązane vhost oraz hasła (patrz poniżej) []

Definiując konfigurację vhosts:

rabbitmq_vhost_definitions:
  - name:    vhost1
    node:    node_name # Opcjonalne, domyślnie "rabbit"
    tracing: tak       # Opcjonalne, domyślnie "nie"

Definiując konfigurację użytkowników:

rabbitmq_users_definitions:
  - vhost:    vhost1
    user:     user1
    password: hasło1
    node:     node_name  # Opcjonalne, domyślnie "rabbit"
    configure_priv: "^resource.*" # Opcjonalne, domyślnie ".*"
    read_priv: "^$" # Zabrania czytania.
    write_priv: "^$" # Zabrania pisania.
  - vhost:    vhost1
    user:     user2
    password: hasło2
    force:    nie
    tags:                # Opcjonalne, tagi użytkowników
    - administrator

Federacja

Nazwa Typ Opis Domyślnie
rabbitmq_federation Boolean Określa, czy należy skonfigurować federację false
rabbitmq_federation_configuration List of hashes Zdefiniuj wszystkie federacje, które należy skonfigurować Nie zdefiniowany
rabbitmq_policy_configuration List of hashes Zdefiniuj wszystkie polityki, które należy skonfigurować Nie zdefiniowany

Definiując konfigurację rurociągu federacji:

rabbitmq_federation_upstream:
  - name: nazwa rurociągu
    vhost: lokalny vhost do federacji
    value: opis w formacie json federacji
    local_username: lokalna nazwa użytkownika do federacji

Zobacz dokumentację RabbitMQ dla możliwych wartości JSON.

Definiując konfigurację polityki:

rabbitmq_policy_configuration:
  - name: nazwa polityki
    vhost: vhost, w którym polityka będzie stosowana
    pattern: wzorzec polityki
    tags: opis polityki w formie słownika # przykład: "ha-mode=all"

Wymagane pliki

Musisz umieścić potrzebne certyfikaty w swoim folderze files/, na przykład:

files/
 |- cacert.crt
 |- myserver_key.key
 |- myserver_cert.crt

A następnie skonfigurować rolę:

    rabbitmq_cacert: files/cacert.crt
    rabbitmq_server_key: files/myserver_key.key
    rabbitmq_server_cert: files/myserver_cert.crt

Testowanie

Są pewne testy, które próbują skonfigurować maszynę wirtualną przy użyciu Vagranta. Uruchom je po prostu z:

$ vagrant up # testuj z Debianem jessie
$ export VAGRANT_BOX_NAME='chef/centos-6.5' vagrant up # testuj z Centos

Możesz zmienić maszynę wirtualną używaną podczas testu, ustawiając zmienną środowiskową VAGRANT_BOX_NAME na coś innego niż deb/jessie.

Licencja

BSD

O projekcie

RabbitMQ is a complete and highly reliable enterprise messaging system based on the emerging AMQP standard.

Zainstaluj
ansible-galaxy install silverlogic.rabbitmq
Licencja
Unknown
Pobrania
7.7k
Właściciel