このプラグインの機能
このシンプルな 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)を使用して表示する方法を実践しています。
機能拡張
機能拡張に関するアイデアを歓迎します。プルリクエストも大歓迎です。
