Skip to content

feat: application.local.yml replaces application.yml#561

Merged
watura merged 4 commits intoNetCommons3:availabilityfrom
WillBooster:wtr/replace-and-merge-application.yml
Dec 26, 2019
Merged

feat: application.local.yml replaces application.yml#561
watura merged 4 commits intoNetCommons3:availabilityfrom
WillBooster:wtr/replace-and-merge-application.yml

Conversation

@watura
Copy link

@watura watura commented Dec 18, 2019

やったこと

複数の application.yml系を用意した場合に、application.yml をベースとして、差分があった箇所のみを上書きするようにしました。
現状では、後に読み込まれたymlの内容で、設定全部が上書きされるようになっています。

また、application.yml 系のファイル名として、 httpヘッダーのHost および、X-FORWARDED-HOSTも使うようにしました。

なぜやるか

同じ環境に複数のドメインからアクセスした場合に、fullBaseUrlをアクセス元に合わせて書き換える必要があったため。
Router::fullBaseUrl() で fullBaseUrl は取得できるようなんですが、 application.yml が使われているようなので、application.yml の読み込み周りを変更してみました。

ドメインごとに application.yml と fullBaseUrl だけが違う xxx.yml を用意するよりも、差分がある箇所のみ変更したymlを用意する方がミスが減ると考えたので、差分を読み込んで、更新がある箇所のみ上書きするようにしました。

Host および、X-FORWARDED-HOST

フラット化で、どのapplication.yml を使うかを決めるためHost名を利用するようにしました。
X-FORWARDED-HOST は、CDNからアクセスした場合にセットされるヘッダーになります。

懸念点

  • Security 以下の内容の扱いをどうすべきか
    • Security の内容は、ホストごとの方に書かれるとよさそう
  • application.yml とホストの組み合わせをもっとセキュアにやる方法はないか

eg:

application.yml

---
debug: 0
App:
  imageBaseUrl: img/
  cssBaseUrl: css/
  fullBaseUrl: http://html.local

application.local.yml

---
App:
  fullBaseUrl: https://willbooster.com
  sCacheMaxAge: 3600

この場合

---
debug: 0
App:
  imageBaseUrl: img/
  cssBaseUrl: css/
  fullBaseUrl: https://willbooster.com
  sCacheMaxAge: 3600

を読み込んだ場合と同じ内容が、Configure に書き込まれます。

@watura watura self-assigned this Dec 18, 2019
@watura watura requested a review from exKAZUu December 18, 2019 23:12
Copy link

@exKAZUu exKAZUu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

概ね良さそう!細かい指摘だけ。

watura and others added 2 commits December 19, 2019 09:53
Co-Authored-By: Sakamoto, Kazunori <exKAZUu@users.noreply.github.com>
@watura watura requested a review from exKAZUu December 19, 2019 01:02
Copy link

@exKAZUu exKAZUu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CIでエラーが出ていて、1行は120文字以内でないとだめみたいだよ

 30 | ERROR | Line exceeds maximum limit of 120 characters; contains 159
    |       | characters

@coveralls
Copy link

coveralls commented Dec 23, 2019

Coverage Status

Coverage decreased (-0.5%) to 57.188% when pulling e98ee21 on WillBooster:wtr/replace-and-merge-application.yml into ec303cf on NetCommons3:availability.

@watura watura requested a review from exKAZUu December 23, 2019 00:14
@watura watura merged commit 2a4a4ee into NetCommons3:availability Dec 26, 2019
@watura watura deleted the wtr/replace-and-merge-application.yml branch December 26, 2019 05:19
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.

3 participants