Fessでは、以前からMinIOクライアントライブラリを使ったストレージ機能をサポートしてきました。しかし、MinIOライブラリがメンテナンスモードになったため、Fess 15.4ではFessの内部ライブラリとしての利用をやめ、AWS SDK for S3とGoogle Cloud Storageライブラリに置き換えました。
これにより、管理画面のストレージ画面でもAmazon S3やGoogle Cloud Storage (GCS) を直接指定して利用できるようになりました。
変更内容
今回の変更では、以下の対応を行いました。
- MinIOクライアントライブラリを削除し、AWS SDK for S3とGoogle Cloud Storageライブラリを導入
StorageClientインターフェースによるストレージ抽象化レイヤーの導入S3StorageClientとGcsStorageClientの実装追加StorageClientFactoryによるストレージタイプの自動検出- 管理画面のストレージ設定でS3とGCSを選択可能に
ストレージタイプの自動検出
StorageClientFactoryは、設定されたエンドポイントURLからストレージタイプを自動的に判別します。
storage.googleapis.comを含む場合はGCSクライアントを使用amazonaws.comを含む場合はS3クライアントを使用- その他の場合(MinIOなど)はS3互換クライアントを使用
また、storage.type設定で明示的にストレージタイプ(s3、gcs、auto)を指定することもできます。
新しい設定項目
管理画面の一般設定に、以下のストレージ設定が追加されました。
| 設定項目 | 説明 |
|---|---|
| Storage Type | ストレージタイプ(s3, gcs, auto) |
| Storage Region | S3のリージョン(例:us-east-1) |
| Storage Project ID | GCSのプロジェクトID |
| Storage Credentials Path | GCSの認証情報JSONファイルパス |
対応プロトコル
クローラーが対応するファイルプロトコルにもs3とgcsが追加され、storage://に加えて、s3://やgcs://でのクロールも可能になります。
詳細
詳細はPR #2983を参照してください。