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"
ログのフォーマット。JSON
、FLUENTD
、または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_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"
に設定できます。
サブスクライバーとパブリッシャーのために2つの異なる鍵を定義する
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によってスポンサーされています。