プライベートネットワーク内の Node-RED でもパレットマネージャを使いたい!
何故、困っているか?
パレットマネージャはブラウザ側でカタログを読み込んでいるため、ブラウザ側がインターネットに接続できなければ、パレットマネージャを使用できない。
もちろん、ポッド(コンテナ)がインターネットにアクセスできれば、直接 npm install
コマンドを実行することでノードは追加できるが、Node-RED 利用者にポッドを直接操作して欲しくない。
前提条件
以下の環境を想定しています。
- プライベート Kubernetes クラスタ上で Node-RED が起動しており、ポッドはインターネットアクセスできる環境になっている。(DMZやプロキシなど)
- ブラウザ側(クライアント)からは Kubernetes クラスタのサービスにはアクセスできるが、インターネットアクセスはできない。
セットアップ
公式カタログを読み込ませるフローを作成する
パレットマネージャ カタログを API から読み込むように設定する
-
Node-RED の公式ガイド のエディタテーマに沿って
settings.json
を編集します。 -
editorTheme.palette.catalogues
に/catalogue.json
を追加します。settings.jsonpalette: { + catalogues: [ // Alternative palette manager catalogues + '/catalogue.json' + ] }
-
アクセスできるようになりました🎉