Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Cache settings: CADDY_CACHE_BACKEND_TIMEOUT, CADDY_CACHE_STORAGE, extra-only CADDY_CACHE_EXTRA_CONFIG, two-pass postStart warm, scoped purges (template #170)

クローズ
#254 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
ドキュメント
明瞭さ
おおむね明確
活発さ
活発
技術スタック
kubernetes

調査の方向性

Read the template changelog and the existing caching and Kubernetes deploy pages after the template fix is released. Update the cache settings, upgrade note, pod warm-up behavior, and scoped purge guidance described here; check the referenced template and bundle issues for released details. Done when the docs match the released behavior and explain when to use scoped purges versus a full flush.

索引モデルが issue の本文から書いたものです。

説明

Template components-web-app#170 (cold cache after a rollout or full flush gave Cloudflare 504s on a heavy CMS page). Fix on the template branch fix/cold-cache-170, landing in the next template release after 2.0.0-alpha.37; the template's CHANGELOG.md will link the final commits. Document it once it's released.

Cache settings (variables / caching page)

  • New CADDY_CACHE_BACKEND_TIMEOUT (default 30s, was Souin's 10 s): how long Souin waits for the origin before a 504. A cold CMS page that takes ~12 s is now served and cached instead of 504ing. Optional; on deploys set it as CWA_API_CADDY_CACHE_BACKEND_TIMEOUT. Must be a Go duration (45s, 1m30s); the deploy refuses anything else.
  • New CADDY_CACHE_STORAGE (default otter): the Souin store, now its own setting, so otter is used everywhere (dev and e2e too, not only deploys). On deploys: CWA_API_CADDY_CACHE_STORAGE. A store that isn't built into the image only fails when Caddy starts (php crash-loops), so check frankenphp build-info first.
  • CADDY_CACHE_EXTRA_CONFIG is now extra directives only: no store line and no timeout block. The deploy refuses both and names the variable to use instead (a second timeout block replaces the whole first one in Souin's parser, so it silently brought back the 10 s 504). Its old meaning ("otter" by default) is gone; remove any page that tells readers to set it to otter.
  • A CWA_API_ copy of CADDY_CACHE_CDN_CONFIG or CADDY_CACHE_EXTRA_CONFIG is refused (reserved); the error now says to set the plain CI variable.
  • Chart: php.caddy.storageConfig is renamed php.caddy.extraConfig and the secret key caddy-cache-storage-config is caddy-cache-extra-config (written only when set). No fallback.
  • Upgrade note to show: a project that set CADDY_CACHE_EXTRA_CONFIG to otter and/or a timeout { backend … } block deletes it in the same deploy as the template update, or the deploy fails.

Deploy / Kubernetes page (new pod warm, template #160)

  • The php pod's postStart now runs warm-http-cache twice: the gzip keys SSR uses, then --accept-encoding=br for the keys browsers and Cloudflare use. Each pass stops at CWA_CI_API_WARM_HTTP_CACHE_MAX_TIME (60 s); the whole hook is capped at 2 × that + 270 s (390 s by default); 0 still turns it off. A new pod can take up to that long before readiness.
  • Page HTML is not warmed in postStart (the deploy's purge drops it straight after the rollout; old PWA pods could render it with old /_nuxt hashes; reasons on #170). The post-deploy warm_cache still warms pages.

Purging (suggestion 3 on #170, agreed)

  • Steer content purges to silverback:api-components:purge-http-cache --path /<path> or --tag <tag> (bundle #390). Present the full flush ("Purge all cached data", purge-http-cache with no options) as a last resort: it empties the API entries too, and on a CMS-heavy page the next visitor waits for a full cold render (12 s on Cymru Kitchens' home page). Bundle side: components-web-app/api-components-bundle (issue linked in a comment below).
主要言語
TypeScript
スター
0
フォーク
0
平均マージ
1時間 20分
マージ済み PR(30日)
1

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

components-web-app/docs のほかの issue

components-web-app/docs の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。