teknipc.mercure

Ansibleロール:Mercure

Linux amd64上にsystemdを使用してMercureをデプロイするためのAnsibleロールです。

Mercureは、データ更新をウェブブラウザや他のHTTPクライアントに便利で高速、信頼性が高く、バッテリー効率の良い方法でプッシュするためのプロトコルです。特に、ウェブAPIを通じて提供されるリソースの非同期およびリアルタイム更新を公開するのに役立ちます。

MercureのGitHubリポジトリを訪問してください。

要件

amd64アーキテクチャのLinux OSとservice managerとしての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"

ログのフォーマット。JSONFLUENTD、またはTEXT(デフォルト)から選択できます。

mercure_rocks_transport_url: "null://"

履歴データベースのURL表現。履歴を無効にするには"null://"、bboltを使用するには"bolt://"(例:"bolt:///var/run/mercure.db?size=100&cleanup_frequency=0.4"

セキュリティ

MercureのセキュリティはJWTに基づいています。

3つのオプションがあります:

  • サブスクライバーパブリッシャーのために同じJWT秘密鍵を定義する
  • サブスクライバーパブリッシャーのために2つの異なる鍵を定義する
  • パブリッシャーのために鍵を定義し、サブスクライバーには認証なしで匿名接続を許可する

秘密鍵を生成するために、https://www.allkeysgenerator.com/Random/Security-Encryption-Key-Generator.aspxのようなオンラインジェネレーターを使用できます。

サブスクライバーとパブリッシャーのために同じJWT秘密鍵を定義する

mercure_rocks_jwt_keymercure_rocks_jwt_algorithm変数を定義します。例えば:

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

mercure_rocks_jwt_algorithm"HS256"または"RS512"に設定できます。

サブスクライバーとパブリッシャーのために2つの異なる鍵を定義する

mercure_rocks_publisher_jwt_keymercure_rocks_publisher_jwt_algorithmmercure_rocks_subscriber_jwt_keymercure_rocks_subscriber_jwt_algorithm変数を前述のスキーマに基づいて定義します。

パブリッシャーのために鍵を定義し、サブスクライバーには匿名接続を許可する

mercure_rocks_publisher_jwt_keymercure_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.mercure
ライセンス
Unknown
ダウンロード
253
所有者