GON を使用した Discourse コンテナ名 - システム管理者および開発者向け

このプラグインの機能

このシンプルな Discourse Container Names with GON プラグインは、ENV["DATA_NAME"] 環境変数(またはユーザーが設定した環境変数)を読み取り、Discourse の管理ページにコンテナ名を表示します。

さらに、コンテナ内部から見たアプリケーションの空きディスク容量も表示します:

このプラグインの対象者

このプラグインは、マルチコンテナ環境で Discourse を運用しており、管理画面で自分がどのコンテナを実行しているかを確認したい Discourse システム管理者向けです。また、ディスク容量に関するアップグレード問題が Discourse システム管理者の間でよく見られるため、管理ページを再読み込みするたびに空きディスク容量も表示・更新されます。

さらに、GON Ruby gem の使い方をプロジェクトで学びたい開発者向けでもあります。このプラグインは情報を表示するために GON と jQuery(テーマ内)を使用しており、EmberJS は使用していません。

仕組み

簡単に言うと、このプラグインは AdminController を拡張し、特定の環境変数を読み取るとともに、いくつかのシンプルなシステムコードを実行します。この解析された情報は、GON Ruby gem を使用して GON グローバルオブジェクトに格納され、テーマ内の jQuery のみを使用して表示されます。gon JavaScript オブジェクトは、pups を使用して Discourse のビュー(.erb)レイアウトに注入されます。

Discourse への GON のインストール方法

以下は、Discourse に GON JavaScript オブジェクトをインストールした方法です。

このプラグインのインストール方法

このプラグインのリポジトリと基本的なインストール手順は以下の通りです:

さらに、私のインストールに関するメモはこちらです:

まとめ

このプラグインは、特にマルチコンテナ環境で運用している Discourse システム管理者にとって有用な情報を提供します。また、空きディスク容量を一目で確認できます。コンテナ YAML ファイルでコンテナ名を上書きすることも可能ですが、必須ではありません。さらに、このプラグインは、Discourse プラグイン内で GON Ruby gem を簡単に使用する手法を示しており、情報を JavaScript(この場合は jQuery)を使用して表示する方法を実践しています。

機能拡張

機能拡張に関するアイデアを歓迎します。プルリクエストも大歓迎です。

関連リンク

「いいね!」 6