docs: nginx.customConfig の取り違えと client_max_body_size 重複を防ぐ記述に修正
Helm Chart Release / release-chart (push) Successful in 6s

あるプロジェクトから「serverSnippet が効かない」「snippet は古いキー」との
指摘があり調査した結果、指摘の前提は誤りだった。

- 実際に使われる templates/configmap.yaml が読むのは snippet で、values.yaml と
  README も snippet で一致している。
- serverSnippet / httpSnippet は、.Values.nginx.enabled が存在せず一度も出力
  されない configmap-nginx.yaml だけが読むキーで、values・README に載ったことが
  なく、指定しても黙って無視される。
- README 例6・例9 が snippet に client_max_body_size を書く手順になっており、
  v8.5.9-b 以降は uploadMaxSize の自動出力と重複して nginx が起動しない
  (2026-09-29 の障害の発生源)。例6 は location ~ \.php$ も重複定義していた。

挙動の変更はなくドキュメント・コメントのみ。
- values.yaml / README: 読まれるキーは snippet のみ、挿入先は server ブロック内、
  client_max_body_size は書かず uploadMaxSize を使うことを明記
- README 例6・例9 を uploadMaxSize 指定に修正
- configmap-nginx.yaml: 未使用であることを示す注記を追加

手動リリース 8.5.11-a。
This commit is contained in:
2026-10-20 20:38:07 +09:00
parent 5ab3428893
commit f8aaa5944d
5 changed files with 51 additions and 15 deletions
+10
View File
@@ -27,6 +27,16 @@ Websites 組織の各サイト(e-learn.jp / fcdomain.com / hotels / tskholding
## チャート改修履歴
### nginx.customConfig の取り違え防止(ドキュメント修正、2026-10-20, v8.5.11-a)
- **症状 / 背景**: あるプロジェクトのレポートで「`serverSnippet` が効かない。既定の `snippet:` はどのテンプレートも読まない古いキーでは」という指摘があった。別件で、`snippet` に `client_max_body_size` を書いていたプロジェクトが `directive is duplicate` で nginx 起動失敗する障害(2026-09-29)も起きていた。
- **原因**:
- 指摘は誤り。実際に使われる `templates/configmap.yaml` が読むのは `snippet` で、`values.yaml`・README と一致している。`serverSnippet` / `httpSnippet` は、一度も出力されない `templates/configmap-nginx.yaml`(`.Values.nginx.enabled` が values に無く常に偽)だけが読むキーで、values・README に載ったことがない(コミット `31106e0` 由来)。指定すると黙って無視される。
- README 例6・例9 が `snippet` に `client_max_body_size` を書く手順を案内しており、v8.5.9-b 以降は `uploadMaxSize` の自動出力と重複して起動失敗する。例6 はチャート本体と重複する `location ~ \.php$` も再定義していた。
- **修正内容**: 挙動の変更なし(ドキュメント・コメントのみ)。`values.yaml` と README に「読まれるキーは `snippet` のみ、挿入先は server ブロック内、`client_max_body_size` は書かず `uploadMaxSize` を使う」を明記。README 例6・例9 を `uploadMaxSize` 指定に修正。`configmap-nginx.yaml` 先頭に「未使用」の注記を追加。
- **やらなかったこと**: `snippet` を `serverSnippet` に改名する(動いているキーを壊すため)。`serverSnippet` を `snippet` の別名として有効化する(これまで無視されていた設定が突然有効になり、重複で起動失敗する恐れがあるため)。`http` レベルの snippet が必要になった場合は、別途 `configmap.yaml` に正式対応を追加する。
- **対象ファイル**: `values.yaml`, `README.md`, `templates/configmap-nginx.yaml`(コメントのみ), `Chart.yaml`
### Cron(CronJob)定期実行機能を追加(2026-09-27, v8.5.10-e)
- **背景**: 定期実行したいPHPスクリプト(レポート送信・バッチ処理等)を動かす手段がなく、外部で別途スケジューラを用意する必要があった。