mercure

Ansible Роль: Mercure

Это роль Ansible для развертывания Mercure на Linux amd64 с systemd.

Mercure - это протокол, который позволяет отправлять обновления данных в веб-браузеры и другие HTTP-клиенты удобным, быстрым, надежным и эффективным способом. Он особенно полезен для публикации асинхронных и реальных обновлений ресурсов, предоставляемых через веб-API, для реактивных веб- и мобильных приложений.

Посетите репозиторий Mercure на GitHub

Требования

Операционная система Linux с архитектурой amd64 и systemd в качестве менеджера служб.

Переменные Роли

Версия релиза

Вы можете определить версию для установки с помощью переменной mercure_rocks_release, например:

mercure_rocks_release: "0.9.0"

Если вы не зададите эту переменную, будет установлена последняя версия. В этом случае, если вы повторите свой плейбук и выйдет новая версия, Mercure будет обновлен.

Предопределенные Переменные

mercure_rocks_user: mercure

Системный пользователь и группа

mercure_rocks_addr: "127.0.0.1:3000"

Адрес и порт для прослушивания

mercure_rocks_compress: "true"

Поддержка HTTP-сжатия. Установите на "false", чтобы отключить

mercure_rocks_cors_allowed_origins: "*"

Список разрешенных источников CORS

mercure_rocks_debug: "false"

Установите на "true", чтобы включить режим отладки

mercure_rocks_demo: "false"

Установите на "true", чтобы включить демо-режим (автоматически включается, когда debug=true)

mercure_rocks_log_format: "TEXT"

Формат журнала, может быть JSON, FLUENTD или TEXT (по умолчанию)

mercure_rocks_transport_url: "null://"

URL-адрес базы данных истории. Предоставленные базы данных: "null://" для отключения истории, "bolt://" для использования bbolt (например, "bolt:///var/run/mercure.db?size=100&cleanup_frequency=0.4")

Безопасность

Безопасность в Mercure основана на JWT.

У вас есть 3 варианта:

  • Определить один и тот же секретный ключ JWT для подписчиков и издателей
  • Определить два разных ключа для подписчиков и издателей
  • Определить ключ для издателей и разрешить анонимное подключение для подписчиков без авторизации

Чтобы сгенерировать секретные ключи, вы можете использовать онлайн-генераторы, такие как https://www.allkeysgenerator.com/Random/Security-Encryption-Key-Generator.aspx

Определите тот же секретный ключ JWT для подписчиков и издателей

Определите переменные mercure_rocks_jwt_key и mercure_rocks_jwt_algorithm, например:

mercure_rocks_jwt_key: "n2r5u8x!A%D*G-KaPdSgVkYp3s6v9y$B"
mercure_rocks_jwt_algorithm: "HS256"

mercure_rocks_jwt_algorithm может быть установлен на "HS256" или "RS512"

Определите два различных ключа для подписчиков и издателей

Определите переменные mercure_rocks_publisher_jwt_key, mercure_rocks_publisher_jwt_algorithm, mercure_rocks_subscriber_jwt_key и mercure_rocks_subscriber_jwt_algorithm по той же схеме, что и ранее.

Определите ключ для издателей и разрешите анонимное подключение для подписчиков

Определите переменные mercure_rocks_publisher_jwt_key и mercure_rocks_publisher_jwt_algorithm и установите mercure_rocks_allow_anonymous на "true".

Смотрите все варианты на https://mercure.rocks/docs/hub/config. Просто добавьте к ним префикс mercure_rocks_ в роли.

Зависимости

Нет.

Пример Плейбука

- hosts: servers
  vars_files:
    - vars/main.yml
  roles:
    - { role: teknipc.mercure }

в vars/main.yml

mercure_rocks_jwt_key: "n2r5u8x!A%D*G-KaPdSgVkYp3s6v9y$B"
mercure_rocks_jwt_algorithm: "HS256"
mercure_rocks_release: "0.9.0"

Лицензия

BSD

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

Эта роль была создана Денисом Сориано из TeKniPC.

Кредиты Mercure:

О проекте

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

Установить
ansible-galaxy install teknipc/ansible-role-mercure-rocks
Лицензия
Unknown
Загрузки
244
Владелец