使用が決定したら、/資料/内部仕様 に移動する。

現状

  • AWS, GCP に対応している。
  • ファイルアップロード設定には AWS 設定のフォームしかない。
    • GCP を使用する場合環境変数を通じて指定が必要。
    • cloud ユーザーは独自設定の gcp 設定をできない。
      • 設定値は /admin/ でサーバー側で設定されている環境変数一覧から確認できる。
      • にも関わらず、AWS設定のフォームは操作できる → 有効にはならないが紛らわしい。

理想状態

  • AWS, GCP のフォームを用意する。
    • 選択している種類の物しか更新できない。
    • ユーザーは GCP フォームで GCP 関連の環境変数を知ることができる。
  • 環境変数 FILE_UPLOAD が設定されている場合、ユーザーはそのフォーム以外は更新できない。
    • GCP において、DB が空の場合、環境変数が使用される(サイトURLのように DB優先)
    • cloud 向けの owned ユーザー向けに IS_GCP_ENV_PRIORITIZEDのような環境変数を用意する。
      • true の場合、DBを操作する input は disabled で更新できない。
      • 環境変数が優先され、DBに値が入っていても使われることはない。

スクリーンショット 2020-09-07 17.31.01.png

理想状態(改訂)

基本的に以下の config はアプリ設定のファイルアップロード設定で変更でき、それぞれ同義の環境変数より db ないの config値が優先される

  • app:fileUploadType
  • aws:s3Bucket
  • aws:s3Region
  • aws:s3AccessKeyId
  • aws:s3SecretAccessKey
  • aws:s3CustomEndpoint
  • gcs:apiKeyJsonPath
  • gcs:bucket
  • gcs:uploadNamespace

以下の config 値がtrueの場合、対応するconfigに関して、環境変数が優先され、ファイルアップロード設定での変更はできなくなる

  • gcs:isFileUploadEnvPrioritized(IS_FILE_UPLOAD_ENV_PRIORITIZED)
    • 対応する config
      • app:fileUploadType (FILE_UPLOAD)
  • gcs:isGcpEnvPrioritized(IS_GCP_ENV_PRIORITIZED)
    • 対応する config
      • gcs:apiKeyJsonPath
      • gcs:bucket
      • gcs:uploadNamespace