使用が決定したら、/資料/内部仕様 に移動する。
現状
- 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に値が入っていても使われることはない。
理想状態(改訂)
基本的に以下の 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
)
- 対応する config
gcs:isGcpEnvPrioritized
(IS_GCP_ENV_PRIORITIZED
)- 対応する config
gcs:apiKeyJsonPath
gcs:bucket
gcs:uploadNamespace
- 対応する config