feat: phpEnv による汎用 PHP 環境変数サポートを追加
All checks were successful
Helm Chart Release / release-chart (push) Successful in 5s

values.yaml の phpEnv マップに設定した任意のキーと値を
PHP-FPM コンテナの環境変数として渡せるようにした。
APIキー・外部サービス設定など DB 接続以外の情報も
同様の方法で PHP に共有できる。

- values.yaml: phpEnv セクション追加
- templates/deployment.yaml: phpEnv を env としてレンダリング
- README.md: パラメータ説明と使用例(例10)を追加
- CLAUDE.md: 新規作成(PHP環境なし・git情報・改修履歴を記録)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-17 09:58:13 +09:00
parent 84ed9e478e
commit f48879446c
4 changed files with 97 additions and 2 deletions

View File

@@ -147,6 +147,14 @@ kubectl logs -l app.kubernetes.io/name=phpfpm -c nginx
| `externalDatabase.username` | ユーザー名 | `user` |
| `externalDatabase.password` | パスワード | `pass` |
### PHP 汎用環境変数phpEnv
| パラメータ | 説明 | デフォルト |
|-----------|------|-----------|
| `phpEnv` | PHP-FPM コンテナに渡す任意の環境変数(キーと値のマップ) | `{}` |
PHP 側では `$_ENV['KEY']` または `getenv('KEY')` で取得できます。
### SMTP設定
| パラメータ | 説明 | デフォルト |
@@ -564,7 +572,43 @@ helm install production-api cafepieters/phpfpm \
--set externalDatabase.password=$(kubectl get secret db-password -o jsonpath='{.data.password}' | base64 -d)
```
### 例10: SMTP設定によるメール送信
### 例10: APIキーなどの任意環境変数を PHP に渡すphpEnv
`phpEnv` を使うと、DB 接続情報と同様に任意のキーと値を PHP-FPM コンテナの環境変数として渡せます。
```yaml
# values.yaml
phpEnv:
API_KEY: "your-api-key"
STRIPE_SECRET: "sk_live_xxxxxxxxxxxxxxxx"
REDIS_URL: "redis://localhost:6379"
EXTERNAL_SERVICE_URL: "https://api.example.com"
```
**PHPでの使用例**:
```php
<?php
// $_ENV または getenv() で取得
$apiKey = getenv('API_KEY');
$stripe = $_ENV['STRIPE_SECRET'];
$redisUrl = getenv('REDIS_URL');
echo "API Key: " . $apiKey;
```
**確認コマンド**:
```bash
# 設定された環境変数を確認
kubectl exec -it <pod-name> -c php-fpm -- env | grep -E "API_|STRIPE_|REDIS_"
```
**注意事項**:
- 機密性の高い値APIキー、シークレット等`--set phpEnv.KEY=value` でデプロイ時に注入するか、Kubernetes の Secret を別途作成して参照することを推奨します。
- `phpEnv` の値はすべてプレーンテキストとして環境変数に設定されますexternalDatabase の password のみ Secret 経由)。
### 例11: SMTP設定によるメール送信
PHPアプリケーションからSMTP経由でメール送信を行う設定です。