Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f48879446c |
38
CLAUDE.md
Normal file
38
CLAUDE.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 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` |
|
||||
|
||||
## チャート改修履歴
|
||||
|
||||
### phpEnv — 汎用 PHP 環境変数サポート(2026-04-17)
|
||||
|
||||
`values.yaml` に `phpEnv` セクションを追加し、DB 接続情報と同様に任意のキーと値を PHP-FPM コンテナの環境変数として渡せるようにした。
|
||||
|
||||
```yaml
|
||||
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`
|
||||
46
README.md
46
README.md
@@ -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経由でメール送信を行う設定です。
|
||||
|
||||
|
||||
@@ -220,6 +220,10 @@ spec:
|
||||
name: {{ include "phpfpm.fullname" . }}-db-secret
|
||||
key: {{ include "phpfpm.fullname" . }}-db-key
|
||||
{{- end }}
|
||||
{{- range $key, $value := .Values.phpEnv }}
|
||||
- name: {{ $key }}
|
||||
value: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.selenium.enabled }}
|
||||
- name: selenium
|
||||
image: "{{ .Values.image.selenium.registry }}/{{ .Values.image.selenium.repository }}:{{ .Values.image.selenium.tag }}"
|
||||
|
||||
@@ -174,3 +174,12 @@ smtp:
|
||||
allowSelfSigned: false
|
||||
|
||||
resources: {}
|
||||
|
||||
# PHP-FPM コンテナに渡す任意の環境変数
|
||||
# DB接続情報(externalDatabase)と同様に、values.yamlで設定した値がPHPに環境変数として渡される
|
||||
# PHPからは $_ENV['KEY'] または getenv('KEY') で取得可能
|
||||
phpEnv: {}
|
||||
# API_KEY: "your-api-key"
|
||||
# STRIPE_SECRET: "sk_live_xxxxxxxxxxxxxxxx"
|
||||
# REDIS_URL: "redis://localhost:6379"
|
||||
# SOME_SERVICE_URL: "https://api.example.com"
|
||||
Reference in New Issue
Block a user