teknipc.mercure
Rola Ansible: Mercure
Rola Ansible do wdrożenia Mercure na systemach Linux amd64 z systemd.
Mercure to protokół umożliwiający przesyłanie aktualizacji danych do przeglądarek internetowych i innych klientów HTTP w wygodny, szybki, niezawodny i oszczędny sposób. Jest szczególnie przydatny do publikacji asynchronicznych i bieżących aktualizacji zasobów udostępnianych przez API internetowe, co jest istotne dla aplikacji reaktywnych na platformy internetowe i mobilne.
Odwiedź repozytorium Mercure na GitHubie
Wymagania
System operacyjny Linux z architekturą amd64 oraz systemd jako menedżerem usług.
Zmienne Roli
Wersja
Możesz zdefiniować wersję do zainstalowania za pomocą zmiennej mercure_rocks_release
, np.:
mercure_rocks_release: "0.9.0"
Jeśli nie zdefiniujesz tej zmiennej, zostanie zainstalowana najnowsza dostępna wersja. W takim przypadku, jeśli ponownie uruchomisz swój playbook, a nowa wersja będzie dostępna, Mercure zostanie zaktualizowany.
Zmienne Predefiniowane
mercure_rocks_user: mercure
Użytkownik i grupa systemowa
mercure_rocks_addr: "127.0.0.1:3000"
Adres i port do nasłuchiwania
mercure_rocks_compress: "true"
Wsparcie dla kompresji HTTP. Ustaw na "false"
, aby wyłączyć.
mercure_rocks_cors_allowed_origins: "*"
Lista dozwolonych źródeł CORS.
mercure_rocks_debug: "false"
Ustaw na "true"
, aby włączyć tryb debugowania.
mercure_rocks_demo: "false"
Ustaw na "true"
, aby włączyć tryb demo (automatycznie włączany, gdy debug=true).
mercure_rocks_log_format: "TEXT"
Format logów, może być JSON
, FLUENTD
lub TEXT
(domyślnie).
mercure_rocks_transport_url: "null://"
URL reprezentujący bazę danych historii. Dostarczone bazy danych to "null://"
dla wyłączenia historii, "bolt://"
do użycia bbolt (przykład "bolt:///var/run/mercure.db?size=100&cleanup_frequency=0.4"
).
Bezpieczeństwo
Bezpieczeństwo w Mercure opiera się na JWT.
Masz 3 opcje:
- Zdefiniowanie tego samego klucza tajnego JWT dla subskrybentów i wydawców.
- Zdefiniowanie dwóch różnych kluczy dla subskrybentów i wydawców.
- Zdefiniowanie klucza dla wydawców i zezwolenie na anonimowe połączenie dla subskrybentów bez jakiejkolwiek autoryzacji.
Aby wygenerować klucze tajne, możesz skorzystać z generatorów online, takich jak https://www.allkeysgenerator.com/Random/Security-Encryption-Key-Generator.aspx.
Zdefiniowanie tego samego klucza tajnego JWT dla subskrybentów i wydawców
Zdefiniuj zmienne mercure_rocks_jwt_key
oraz mercure_rocks_jwt_algorithm
, na przykład:
mercure_rocks_jwt_key: "n2r5u8x!A%D*G-KaPdSgVkYp3s6v9y$B"
mercure_rocks_jwt_algorithm: "HS256"
mercure_rocks_jwt_algorithm
może być ustawione na "HS256"
lub "RS512"
.
Zdefiniowanie dwóch różnych kluczy dla subskrybentów i wydawców
Zdefiniuj zmienne mercure_rocks_publisher_jwt_key
, mercure_rocks_publisher_jwt_algorithm
, mercure_rocks_subscriber_jwt_key
i mercure_rocks_subscriber_jwt_algorithm
zgodnie z tym samym schematem, co wcześniej.
Zdefiniowanie klucza dla wydawców i zezwolenie na anonimowe połączenie dla subskrybentów
Zdefiniuj zmienne mercure_rocks_publisher_jwt_key
i mercure_rocks_publisher_jwt_algorithm
, a zmienną mercure_rocks_allow_anonymous
ustaw na "true"
.
Zobacz wszystkie opcje na https://mercure.rocks/docs/hub/config. Po prostu dodaj prefiks mercure_rocks_
w roli.
Zależności
Brak.
Przykładowy Playbook
- hosts: servers
vars_files:
- vars/main.yml
roles:
- { role: teknipc.mercure }
w vars/main.yml
mercure_rocks_jwt_key: "n2r5u8x!A%D*G-KaPdSgVkYp3s6v9y$B"
mercure_rocks_jwt_algorithm: "HS256"
mercure_rocks_release: "0.9.0"
Licencja
BSD
Informacje o autorze
Ta rola została stworzona przez Denisa Soriano z TeKniPC.
Kredyty Mercure:
- Główny deweloper: Kevin Dunglas
- Strona internetowa Mercure
- Repozytorium Mercure na GitHubie
- Mercure jest sponsorowane przez Les-Tilleuls.coop
An Ansible role to deploy Mercure on Linux amd64 with systemd.
ansible-galaxy install teknipc.mercure