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:

O projekcie

An Ansible role to deploy Mercure on Linux amd64 with systemd.

Zainstaluj
ansible-galaxy install teknipc.mercure
Licencja
Unknown
Pobrania
253
Właściciel