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:
- Ведущий разработчик: Кевин Дунглас
- Сайт Mercure
- Репозиторий Mercure на GitHub
- Mercure спонсируется Les-Tilleuls.coop
An Ansible role to deploy Mercure on Linux amd64 with systemd.
ansible-galaxy install teknipc/ansible-role-mercure-rocks