Skip to content

S3互換ストレージ (SigV4) アドオンの追加#20

Draft
tishin-endou wants to merge 15 commits intoRCOSDP:mainfrom
tishin-endou:feature/s3compatsigv4
Draft

S3互換ストレージ (SigV4) アドオンの追加#20
tishin-endou wants to merge 15 commits intoRCOSDP:mainfrom
tishin-endou:feature/s3compatsigv4

Conversation

@tishin-endou
Copy link

@tishin-endou tishin-endou commented Feb 9, 2026

Ticket

https://redmine.devops.rcos.nii.ac.jp/issues/56471

Purpose

AWS Signature Version 4 認証に対応した新しいストレージアドオン「S3 Compatible Storage (SigV4)」のE2Eテストを追加します。

Changes

関連プルリクエスト

機能を有効にするために同時にリリースが必要なプルリクエスト:

E2Eテストノートブック

  • 取りまとめ-S3CompatSigV4.ipynb (新規): S3CompatSigV4アドオンの総合テスト取りまとめノートブック。ユーザー設定でのストレージ接続・ファイル基本操作を2つのS3互換サービスで実施
  • テスト手順-管理者機能-S3CompatSigV4-機関ストレージ.ipynb (新規): 管理者画面での機関ストレージ設定テスト。S3CompatSigV4を機関ストレージとして設定し、プロジェクト作成・ファイルアップロードを確認

scripts/grdm.py

  • IdPリスト選択のXPathセレクタを更新 (selectwayf_list_idp)
  • クリック前に expect(...).to_be_visible() で要素の表示を待機するよう改善

.github/workflows/e2e-test.yml

  • WB_REPOSITORY / WB_BRANCH パラメータを追加し、RDM-waterbutlerのカスタムブランチからDockerイメージをビルドしてテストできるように対応
  • PR本文およびworkflow_dispatchの両方から指定可能

背景

一部のS3互換ストレージサービス(新しいバージョンのMinIOなど)では、Signature Version 4 による認証が必須となっています。既存の s3compat アドオンでは対応できないため、新規アドオンとして実装しました。

テスト

E2Eテストの概要

  1. ユーザー設定テスト (取りまとめ-S3CompatSigV4.ipynb)

    • GRDMにログインし、アドオン設定画面でS3CompatSigV4ストレージを接続
    • 2つのS3互換サービス(例: さくらクラウド、Wasabi)でそれぞれ接続・ファイル操作を実施
    • ファイルアップロード、リネーム、ドラッグ&ドロップ移動、削除等の基本操作を確認
  2. 機関ストレージテスト (テスト手順-管理者機能-S3CompatSigV4-機関ストレージ.ipynb)

    • 管理者画面で機関ストレージにS3CompatSigV4を設定
    • Endpoint URL、Access Key、Secret Key、Bucketを入力し接続テスト
    • ユーザー画面でプロジェクト作成後、ファイルアップロード・表示を確認

Side effects

なし

QA Notes

  • ユニットテスト実装済み(RDM-osf.io、RDM-waterbutler)
  • MinIO等のSigV4必須ストレージで動作確認済み

Custom Test Configuration

  • RDM_REPOSITORY: tishin-endou/RDM-osf.io
  • RDM_BRANCH: feature/s3compatsigv4
  • WB_REPOSITORY: tishin-endou/RDM-waterbutler
  • WB_BRANCH: feature/s3compatsigv4

Add WB_REPOSITORY and WB_BRANCH parameters to allow testing with custom
WaterButler branches. When specified, the workflow clones the repository,
merges the branch into develop, and builds a Docker image locally.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tishin-endou tishin-endou force-pushed the feature/s3compatsigv4 branch 2 times, most recently from 0c40b9e to 7f37806 Compare February 20, 2026 01:26
- 取りまとめ: ダッシュボードのプロジェクトクリック前にpage.reloadとto_be_visible待機を追加
- 機関ストレージ: 機関リストページ送りの終端チェック、GRDMトップページの条件分岐を追加
- setup_minio.sh: s3compatsigv4 addonのsettings.jsonにもMinIOサービスを登録
- generate_ci_config.sh: --s3compatsigv4 / --s3compatsigv4-inst フラグを追加
- run_tests.py: run_s3compatsigv4_tests() と run_s3compatsigv4_institutional_storage_tests() を新設
- e2e-test.yml: user-minioグループにs3compatsigv4を追加、admin-minioグループを新設、
  MinIOバケット生成・設定生成フラグの追加
setup_minio_buckets.shは2つの異なるバケット名を要求するが、
同じバケット名を渡していたため mc mb が重複エラーで失敗していた。
2つ目のバケット名を別名(inst2)に変更。
s3_bucket = #None → s3_bucket = None
不正なPython行 (Server Side Encryption: False = NO) をコメントに修正
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant