Files
secret-manager/values.yaml
T
claude 2b17088fae
Helm Chart Release / release-chart (push) Successful in 7s
fix: mail プロバイダの msmtprc を既定で常に出力 + SMTP メタ項目を拡充
phpfpm の smtp.existingMsmtprcSecret が「references non-existent secret key:
msmtprc」でマウント失敗する件の対処。renderMsmtprc が opt-in で忘れやすかった。

- renderMsmtprc を既定 true に(明示 false のときだけ抑止)
- smtp.tlsVerify(既定 true)を追加。false で msmtprc に tls_certcheck off
  values.schema.json の smtp にも tlsVerify を追加
- 派生キー SMTP_TLS / SMTP_SSL / SMTP_TLS_VERIFY / SMTP_AUTH を Secret に追加
- from 未設定時に msmtprc へ空の from 行を出さないよう修正
- values.yaml / examples / README を更新。0.1.2。
2026-09-08 18:47:25 +09:00

157 lines
7.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ==========================================================================
# secret-manager
# --------------------------------------------------------------------------
# クラスター内の複数プロジェクトで横断的に使う「認証情報」を、この1チャートで
# 一元管理する。ここを更新して `helm upgrade` するだけで、配布先の全ネーム
# スペースの Secret がまとめて更新される。
#
# セキュリティ上の注意(必読):
# - この values.yaml には平文の資格情報を "書かない"。Git にコミットしない。
# - 実際の値は次のいずれかで注入する:
# 1) CI(Gitea Actions)から `--set` / `--set-file` で Gitea Secrets を注入
# 2) SOPS で暗号化した values ファイル(helm-secrets プラグイン)
# 3) git 管理外の `secrets.values.yaml` を `-f` で渡す(.gitignore 済み)
# - 詳細は README.md「セキュリティモデル」を参照。
# ==========================================================================
# --------------------------------------------------------------------------
# distribution: 生成した Secret を「どこへ」配るか
# --------------------------------------------------------------------------
distribution:
# 同一 Secret を複製配置するネームスペースのリスト。
# ここに挙げるネームスペースは事前に存在している必要がある。
# リストから外して `helm upgrade` すると、そのネームスペースのコピーは削除される。
namespaces:
- default
# true の場合、リリース先ネームスペース (.Release.Namespace) も配布対象に自動追加する。
includeReleaseNamespace: true
# emberstack/kubernetes-reflector を使った自動同期(任意 / クラスターにコントローラーが必要)
# 有効化すると Secret はリリース先ネームスペースにのみ作成し、reflector アノテーションを
# 付与する。namespaceRegex に一致する全ネームスペースへコントローラーが複製・追従する。
# namespaces の列挙より柔軟だが、外部コンポーネントへの依存が増える。
reflector:
enabled: false
# 同期先ネームスペースを絞る正規表現(例: "team-.*" / "prod|staging")
namespaceRegex: ".*"
# stakater/Reloader 連携(任意 / クラスターにコントローラーが必要)
# 有効化すると各 Secret に `reloader.stakater.com/match: "true"` を付与する。
# 参照側の Deployment/StatefulSet に `reloader.stakater.com/auto: "true"` があれば、
# Secret 更新時に自動でローリング再起動される。
reloader:
enabled: false
# --------------------------------------------------------------------------
# common: 生成する全 Secret に共通の設定
# --------------------------------------------------------------------------
common:
# 生成される Secret 名のプレフィックス。エントリキーの前に付く。
# 例: namePrefix="cred-" + mail プロバイダ "gmail" -> Secret 名 "cred-gmail"
namePrefix: "cred-"
# 全 Secret に付与する追加ラベル
labels: {}
# 全 Secret に付与する追加アノテーション
annotations: {}
# Secret を immutable にする(kind: Secret の immutable: true)。
# 誤編集を防ぎ apiserver 負荷を下げるが、値を変えるには一度 delete が必要。
immutable: false
# --------------------------------------------------------------------------
# mail: 外部メールの接続情報(パスワード + サーバ情報)
# --------------------------------------------------------------------------
# providers.<キー> ごとに 1 つの Secret を生成する。Secret には以下が入る:
# 個別キー(送信 SMTP):
# SMTP_HOST / SMTP_PORT / SMTP_SECURITY (none|starttls|tls)
# SMTP_TLS ... "true" if starttls (フレームワーク互換の派生フラグ)
# SMTP_SSL ... "true" if 暗黙TLS(tls) (同上)
# SMTP_TLS_VERIFY ... 証明書検証 "true"/"false"
# SMTP_USERNAME / SMTP_PASSWORD / SMTP_AUTH ("true" if username あり)
# SMTP_FROM / SMTP_FROM_NAME / SMTP_REPLY_TO / SMTP_AUTH_METHOD
# 個別キー(受信・任意):
# IMAP_HOST / IMAP_PORT / IMAP_SECURITY / IMAP_USERNAME / IMAP_PASSWORD (imap 定義時)
# POP3_HOST / POP3_PORT / POP3_SECURITY / POP3_USERNAME / POP3_PASSWORD (pop3 定義時)
# まとめ:
# smtp.env ... `export KEY=VALUE` 形式。コンテナ内で `source` して利用可能
# msmtprc ... msmtp / PHP sendmail 用の完成済み設定ファイル
# ★ 既定で常に含まれる。抑止したい場合のみ renderMsmtprc: false
#
# 代表的なプロバイダの設定値は examples/ および README.md の一覧表を参照。
mail:
providers: {}
# gmail:
# enabled: true
# # msmtprc キーを出力するか(既定 true)。IMAP だけ使いたい等で不要なら false
# renderMsmtprc: true
# smtp:
# host: "smtp.gmail.com"
# port: 587
# security: "starttls" # none | starttls | tls
# username: "no-reply@example.com"
# password: "APP_PASSWORD" # ← 実値は --set / SOPS 経由で注入する
# from: "no-reply@example.com"
# fromName: "Example"
# replyTo: ""
# authMethod: "plain" # plain | login | cram-md5
# tlsVerify: true # false で証明書検証を無効化(社内リレー等)
# imap:
# host: "imap.gmail.com"
# port: 993
# security: "tls" # none | starttls | tls
# username: "" # 空なら smtp.username を流用
# password: "" # 空なら smtp.password を流用
# # pop3:
# # host: "pop.gmail.com"
# # port: 995
# # security: "tls"
# # このプロバイダだけ別ネームスペースへ配る場合(省略時は distribution 準拠)
# namespacesOverride: []
# # このプロバイダ Secret だけに付ける追加アノテーション
# annotations: {}
# --------------------------------------------------------------------------
# api: API 認証情報(任意のキー/値の集合)
# --------------------------------------------------------------------------
# credentials.<キー> ごとに 1 つの Opaque Secret を生成する。
# data 配下のキーがそのまま Secret のキーになる(`envFrom` でまとめて注入しやすい)。
api:
credentials: {}
# stripe:
# enabled: true
# data:
# STRIPE_SECRET_KEY: "sk_live_xxx"
# STRIPE_WEBHOOK_SECRET: "whsec_xxx"
# namespacesOverride: []
# annotations: {}
# openai:
# enabled: true
# data:
# OPENAI_API_KEY: "sk-xxx"
# --------------------------------------------------------------------------
# generic: 汎用 Secret(type を指定したい場合など)
# --------------------------------------------------------------------------
# 上記カテゴリに当てはまらない資格情報。任意の Secret type を指定できる。
generic:
secrets: {}
# private-registry:
# enabled: true
# type: kubernetes.io/dockerconfigjson
# data:
# .dockerconfigjson: '{"auths":{"registry.example.com":{"auth":"BASE64"}}}'
# namespacesOverride: []
# internal-tls:
# enabled: true
# type: kubernetes.io/tls
# data:
# tls.crt: |
# -----BEGIN CERTIFICATE-----
# ...
# tls.key: |
# -----BEGIN PRIVATE KEY-----
# ...