fix: useComposerJson使用時のYAML parse errorを修正 (v8.5.6-d)
Helm Chart Release / release-chart (push) Successful in 5s
Helm Chart Release / release-chart (push) Successful in 5s
heredoc内の {{ .Values.composer.composerJson }} がインデント無しで
展開され、複数行JSONの2行目以降が行頭に出力されてブロックスカラーを
破壊していた潜在バグを修正。trim | nindent 14 で展開するよう変更
(composerLock も同様)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# Changelog - Version 8.5.6-d
|
||||
|
||||
## 修正
|
||||
|
||||
### useComposerJson 使用時の YAML parse error を修正
|
||||
|
||||
`composer.useComposerJson: true` を指定すると、以下のエラーでデプロイに失敗する問題を修正しました。
|
||||
|
||||
```
|
||||
YAML parse error on phpfpm/templates/deployment.yaml:
|
||||
error converting YAML to JSON: yaml: line 96: did not find expected key.
|
||||
```
|
||||
|
||||
**原因**: `templates/deployment.yaml` の heredoc 内で `{{ .Values.composer.composerJson }}` を
|
||||
インデント処理なしで展開していたため、複数行の JSON の2行目以降が行頭に出力され、
|
||||
YAML のブロックスカラー構造を破壊していました(`useComposerJson` 経路の潜在バグ)。
|
||||
|
||||
**対応**: `composerJson` / `composerLock` の展開を `trim | nindent 14` に変更し、
|
||||
ブロックスカラーのインデントに揃えて出力するようにしました。
|
||||
コンテナ内に書き出される `composer.json` / `composer.lock` は行頭からのクリーンな JSON になります。
|
||||
|
||||
## アップグレード手順
|
||||
|
||||
```bash
|
||||
helm repo update
|
||||
helm upgrade <リリース名> cafepieters/phpfpm --version 8.5.6-d -f values.yaml
|
||||
```
|
||||
|
||||
## 使用例
|
||||
|
||||
```yaml
|
||||
composer:
|
||||
enabled: true
|
||||
useComposerJson: true
|
||||
composerJson: |
|
||||
{
|
||||
"require": {
|
||||
"phpoffice/phpspreadsheet": "^2.0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
PHPコードからの読み込み:
|
||||
|
||||
```php
|
||||
require_once '/composer/vendor/autoload.php';
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**リリース日**: 2026-07-19
|
||||
**担当**: プロサーバーエンジニア(Claude)
|
||||
@@ -22,6 +22,12 @@ Raspberry Pi などのベアメタルで稼働することを想定した、Kube
|
||||
|
||||
## チャート改修履歴
|
||||
|
||||
### 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 のコメントにも明記)。
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@ apiVersion: v2
|
||||
name: phpfpm
|
||||
description: Nginx + PHP-FPM Helm Chart with external DB and optional Selenium support
|
||||
type: application
|
||||
version: 8.5.6-c
|
||||
version: 8.5.6-d
|
||||
appVersion: "8.5.6"
|
||||
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/PHP-logo.svg/330px-PHP-logo.svg.png
|
||||
|
||||
@@ -121,13 +121,13 @@ spec:
|
||||
# composer.jsonファイルを使用
|
||||
echo "Creating composer.json from values..."
|
||||
cat > composer.json << 'COMPOSER_JSON_EOF'
|
||||
{{ .Values.composer.composerJson }}
|
||||
{{- .Values.composer.composerJson | trim | nindent 14 }}
|
||||
COMPOSER_JSON_EOF
|
||||
|
||||
{{- if .Values.composer.composerLock }}
|
||||
echo "Creating composer.lock from values..."
|
||||
cat > composer.lock << 'COMPOSER_LOCK_EOF'
|
||||
{{ .Values.composer.composerLock }}
|
||||
{{- .Values.composer.composerLock | trim | nindent 14 }}
|
||||
COMPOSER_LOCK_EOF
|
||||
{{- end }}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user