FessにはKopfというクラスター管理UIがバンドルされている。元々はelasticsearch-kopfをfess用にフォークしたものを使っていたのだけど、今回fess-kopfとして新しいリポジトリに移行しました。
なぜ移行したのか
Kopfはクラスターの状態確認やインデックス管理ができるWebベースの管理ツールで、結構便利に使えるものだったりする。ただ、元々のelasticsearch-kopfはもうメンテナンスされていない状態で、何か改善しようにも手を入れづらい状態だった。
ということで、Fess専用として独自にメンテナンスできるようにフォークすることにしました。
何を変えたか
OpenSearch対応
OpenSearch 2.x/3.xで動くように、以下のあたりを対応した。
- OpenSearchのバージョン検出を追加
- 廃止された機能をメニューから削除
- Percolator(Elasticsearch 5.xで非推奨になったやつ)
- Index Warmers(同上)
- Benchmark API(Elasticsearch 5.xで消えた)
- 設定名を
elasticsearch_root_pathからopensearch_root_pathに変更(古い設定名でも動くようにはしてある)
見た目の改善
せっかくなので、見た目も今風にしてみた。
- AdminLTE風のボタンやレイアウトに変更
- dark、light、fessの3テーマ対応
- 全体的にスペーシングとか見やすさを改善
古いコードも結構残っていたので、その辺も整理した。
開発環境まわり
- Node.js 20.0.0以上を必須に
- GitHub ActionsでCI/CDを整備
- テストも追加
今後について
fess-kopfとして独立したことで、Fessの管理画面で利用しているダッシュボードのUIも改善していけるようになった。今まではメンテされていないkopfをそのまま使っていたので、なかなか手を入れられなかったのだけど、これからは必要に応じて改善を進めていけるはずです。