Files
phpfpm/CLAUDE.md
T
claudeandClaude Fable 5 85b7f69ccb
Helm Chart Release / release-chart (push) Successful in 6s
feat: PVCルートを /var/www にマウント、/composer を使い捨て領域に変更 (v8.5.6-e)
php-fpm コンテナのマウントを html サブパスのみから PVCルート
(/var/www)に変更。html/ は公開フォルダ、それ以外は非公開ファイル
の格納先として利用可能に。nginx は従来どおり html サブパスのみ
マウントするため、非公開ディレクトリがWebに公開されることはない。

あわせて /composer のPVC永続化マウントを廃止し、Pod再起動ごとに
クリーン再構築される使い捨て領域とした(マルウェア書き込み対策)。
永続化したい場合は composer.workingDir に /var/www/composer 等を指定。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:03:16 +09:00

4.7 KiB
Raw Blame History

CLAUDE.md — phpfpm Helm Chart

リポジトリ概要

Raspberry Pi などのベアメタルで稼働することを想定した、Kubernetes 上で動作する Nginx + PHP-FPM の Helm チャート。

  • Gitea リポジトリ: ssh://git@192.168.9.65/helmchart/phpfpm
  • Helm リポジトリ: https://git.cafepieters.com/api/packages/helmchart/helm

実行環境について

PHP の実行環境(インタープリタ)はこのリポジトリには含まれていない。 チャートは docker.io/php:<tag>-fpm-alpine の公式イメージを Kubernetes 上で起動するものであり、PHP コードそのものは PVC(/var/www/html)に別途配置する必要がある。

Git コミット情報

項目
名前 Claude
メール claude@cafepieters.com
SSH キー P:\Claude\.ssh\id_claude

チャート改修履歴

PVCルートを /var/www にマウント + /composer を使い捨て化(2026-07-19, v8.5.6-e

php-fpm コンテナのマウントを「html サブパスのみ」から「PVCルート → /var/www」に変更。html/ は公開フォルダ、それ以外(/var/www/<任意>)は非公開ファイルの格納先として使える。nginx は html サブパスのみマウントするため非公開分は公開されない。あわせて /composer のPVC永続化マウントを廃止し、Pod再起動ごとにクリーン再構築される使い捨て領域とした(マルウェア混入対策、ユーザー要望)。永続化したい場合は workingDir/var/www/composer 等を指定。

対象ファイル: templates/deployment.yaml, values.yaml, README.md, Chart.yaml, CHANGELOG-8.5.6-e.md

useComposerJson の YAML parse error 修正(2026-07-19, v8.5.6-d

useComposerJson: true 指定時、heredoc 内の {{ .Values.composer.composerJson }} がインデント無しで展開され、複数行JSONの2行目以降がブロックスカラーを破壊して YAML parse error になる潜在バグを修正。trim | nindent 14 で展開するよう変更(composerLock も同様)。

対象ファイル: templates/deployment.yaml, Chart.yaml, CHANGELOG-8.5.6-d.md

Composerデフォルト導入先を /composer に変更(2026-07-19, v8.5.6-c

/var/www はWebルート /var/www/html の親のため、ネストマウントでPVCの composer サブパス内に空の html/ が生成されていた。デフォルトをWebルートと親子関係にない /composer に変更してネストを解消。autoloadは require_once '/composer/vendor/autoload.php';values.yaml のコメントにも明記)。

対象ファイル: values.yaml, templates/deployment.yaml, README.md, Chart.yaml, CHANGELOG-8.5.6-c.md

旧composer.jsonの自動移行 + mbstring依存の自動追加(2026-07-19, v8.5.6-b

v8.5.6-a のフォローアップ。起動時に workingDircomposer.json が無く旧Webルート /var/www/html にある場合、composer.json / composer.lock / vendor/ を自動移行する。また additionalPhpExtensionsmbstring 指定時、ビルドに必要な oniguruma-dev を自動追加(GDと同じ仕組み)。

なお、PVC上の composer/html/(空ディレクトリ)はネストマウントのマウントポイント作成による正常な副産物で、実害なし。

対象ファイル: templates/deployment.yaml, README.md, Chart.yaml, CHANGELOG-8.5.6-b.md

composer.workingDir — Composer導入先のWebルート外への変更(2026-07-19, v8.5.6-a

Composerの導入先をWebルート /var/www/html からWebルート外の /var/www に変更し、vendor/composer.json がWeb経由で公開されないようにした。values.yamlcomposer.workingDir で導入先を変更可能(旧動作に戻すには "/var/www/html" を指定)。導入先がWebルート以外の場合、PVCの composer サブパスをマウントして永続化する。

PHP側の読み込みは require_once '/var/www/vendor/autoload.php';

対象ファイル: values.yaml, templates/deployment.yaml, README.md, Chart.yaml, CHANGELOG-8.5.6-a.md

phpEnv — 汎用 PHP 環境変数サポート(2026-04-17)

values.yamlphpEnv セクションを追加し、DB 接続情報と同様に任意のキーと値を PHP-FPM コンテナの環境変数として渡せるようにした。

phpEnv:
  API_KEY: "your-api-key"
  STRIPE_SECRET: "sk_live_..."
  REDIS_URL: "redis://localhost:6379"

PHP 側では $_ENV['API_KEY'] または getenv('API_KEY') で取得できる。

対象ファイル: values.yaml, templates/deployment.yaml, README.md