feat: 外部Secret連携(extraEnvFrom / extraEnv / SMTP existingSecret)を追加
Helm Chart Release / release-chart (push) Successful in 6s
Helm Chart Release / release-chart (push) Successful in 6s
helmchart/secret-manager が各ネームスペースへ配布する cred-* Secret を WordPress 側から参照できるようにする(phpfpm と同一方針)。 - extraEnvFrom / extraEnv: 既存 Secret/ConfigMap を wordpress コンテナへ env 注入 - smtp.auth.existingSecret / existingSecretKey: パスワードファイルだけ既存 Secret から取得 - smtp.existingMsmtprcSecret / existingMsmtprcSecretKey: 完成済み msmtprc を そのままマウント(指定時は configmap-smtp を生成せず host/port/auth.* は無視) 既定値は全て空のため既存挙動は不変。手動リリース 7.1.0-b。
This commit is contained in:
@@ -139,12 +139,42 @@ WordPressコンテナ内にはメール送信を行うMTA(sendmail相当のプ
|
||||
| `smtp.auth.enabled` | 認証有効化 | `true` |
|
||||
| `smtp.auth.username` | SMTPユーザー名 | `smtp-user@example.com` |
|
||||
| `smtp.auth.password` | SMTPパスワード | `""`(Secretで指定) |
|
||||
| `smtp.auth.existingSecret` | パスワードを取得する既存 Secret 名(`smtp.auth.password` と自作 Secret の代わり) | `""` |
|
||||
| `smtp.auth.existingSecretKey` | 上記 Secret 内のキー名 | `password` |
|
||||
| `smtp.existingMsmtprcSecret` | 完成済み `msmtprc` を持つ既存 Secret 名。指定時はチャートの msmtprc 生成を行わず host/port/auth.* は無視(`from` のみ使用) | `""` |
|
||||
| `smtp.existingMsmtprcSecretKey` | 上記 Secret 内の `msmtprc` キー名 | `msmtprc` |
|
||||
| `smtp.from` | 送信元メールアドレス(固定) | `noreply@example.com` |
|
||||
| `smtp.tls.verify` | TLS証明書検証 | `true` |
|
||||
| `smtp.tls.allowSelfSigned` | 自己署名証明書を許可 | `false` |
|
||||
|
||||
有効化すると、WordPressコンテナ起動時に `msmtp` を導入し、PHPの `sendmail_path` を `msmtp` 経由に設定します。`wp_mail()` はコード変更なしにそのままSMTP経由で送信されるようになります。
|
||||
|
||||
#### secret-manager チャートとの連携(メール設定の一元管理)
|
||||
|
||||
別リポジトリの **secret-manager** チャートが `cred-gmail` などに生成する完成済み `msmtprc` を
|
||||
そのまま使う場合(メール設定の変更は secret-manager 側だけで済みます):
|
||||
|
||||
```yaml
|
||||
smtp:
|
||||
enabled: true
|
||||
from: "no-reply@your-domain.com" # PHP の sendmail_from 用に必要
|
||||
existingMsmtprcSecret: "cred-gmail" # このSecretの msmtprc キーをそのまま利用
|
||||
```
|
||||
|
||||
サーバ設定は values に残し、パスワードだけ一元管理したい場合:
|
||||
|
||||
```yaml
|
||||
smtp:
|
||||
enabled: true
|
||||
host: "smtp.gmail.com"
|
||||
port: 587
|
||||
auth:
|
||||
enabled: true
|
||||
username: "no-reply@your-domain.com"
|
||||
existingSecret: "cred-gmail"
|
||||
existingSecretKey: "SMTP_PASSWORD"
|
||||
```
|
||||
|
||||
**設定例**:
|
||||
|
||||
```yaml
|
||||
@@ -177,6 +207,32 @@ helm upgrade --install my-wordpress . \
|
||||
|
||||
**注意**: `smtp.enabled: true` の場合、msmtpのインストール(`apk add`)のためWordPressコンテナはrootとして起動し、セットアップ完了後に `php-fpm` へexecします。PHP-FPMのワーカープロセス自体はイメージ標準の設定により引き続き `www-data`(非root)で動作するため、実際のPHPコード実行権限は変わりません。`smtp.enabled: false`(デフォルト)の場合は従来どおり非rootユーザー(uid82)でコンテナが起動します。
|
||||
|
||||
### 追加の環境変数(extraEnvFrom / extraEnv)
|
||||
|
||||
WordPress(php-fpm)コンテナに任意の環境変数を渡します。プラグインが読む API キー等を、
|
||||
別リポジトリの **secret-manager** チャートが配布する `cred-<名前>` Secret から注入する用途を
|
||||
想定しています。認証情報の変更は secret-manager 側を更新するだけで反映できます。
|
||||
|
||||
| パラメータ | 説明 | デフォルト値 |
|
||||
|-----------|------|-------------|
|
||||
| `extraEnvFrom` | 既存の Secret / ConfigMap をまるごと環境変数として注入(`envFrom` 配列) | `[]` |
|
||||
| `extraEnv` | 個別の環境変数を追加(生の `env` エントリ配列。`valueFrom`/`secretKeyRef` 可) | `[]` |
|
||||
|
||||
```yaml
|
||||
extraEnvFrom:
|
||||
- secretRef:
|
||||
name: cred-gemini # GEMINI_API_KEY 等が丸ごと環境変数になる
|
||||
extraEnv:
|
||||
- name: ANTHROPIC_API_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: cred-claude
|
||||
key: ANTHROPIC_API_KEY
|
||||
```
|
||||
|
||||
PHP 側では `getenv('GEMINI_API_KEY')` で取得できます(初期化用の initContainer には注入されず、
|
||||
稼働中の WordPress コンテナにのみ渡ります)。
|
||||
|
||||
### Service設定
|
||||
|
||||
| パラメータ | 説明 | デフォルト値 |
|
||||
|
||||
Reference in New Issue
Block a user