247 lines
8.1 KiB
YAML
247 lines
8.1 KiB
YAML
# デフォルト値設定
|
||
replicaCount: 2
|
||
|
||
image:
|
||
nginx:
|
||
registry: docker.io
|
||
repository: nginx
|
||
tag: "1.31.8-alpine-perl"
|
||
pullPolicy: IfNotPresent
|
||
wordpress:
|
||
registry: docker.io
|
||
repository: wordpress
|
||
tag: "7.1.3-php8.5-fpm-alpine"
|
||
pullPolicy: IfNotPresent
|
||
|
||
# WordPress設定
|
||
wordpress:
|
||
# データベース設定
|
||
dbHost: mysql-service
|
||
dbName: wordpress
|
||
dbUser: wordpress
|
||
# 本番環境ではSecretを使用してください
|
||
dbPassword: "changeme"
|
||
tablePrefix: wp_
|
||
|
||
# WordPress初期設定
|
||
siteTitle: "My WordPress Site"
|
||
adminUser: "admin"
|
||
adminPassword: "" # 空の場合はランダム生成
|
||
adminEmail: "admin@example.com"
|
||
|
||
# WordPress Multisite設定
|
||
multisite:
|
||
enabled: false
|
||
# サブドメイン型: true, サブディレクトリ型: false
|
||
subdomains: false
|
||
# Multisiteのベースドメイン(サブドメイン型の場合必須)
|
||
domain: "example.com"
|
||
|
||
# ads.txt設定
|
||
adsTxt:
|
||
enabled: false
|
||
content: |
|
||
# ads.txt content
|
||
# google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0
|
||
|
||
# SMTP設定(wp_mail()/PHPのmail()関数によるメール送信用)
|
||
# コンテナ内にはメール送信を行うMTA(sendmail相当)が存在しないため、
|
||
# デフォルトのままではWordPressからのメール(パスワードリセット、通知等)は送信できません。
|
||
# 外部SMTPリレー(Gmail、SendGrid、自前のメールサーバー等)経由で送信する場合に有効化してください。
|
||
smtp:
|
||
enabled: false
|
||
|
||
# SMTPサーバー設定
|
||
host: "smtp.example.com"
|
||
|
||
# プロトコルとポート設定
|
||
# - auto: 自動判定(推奨)
|
||
# - starttls: STARTTLS(ポート587)
|
||
# - tls: SSL/TLS(ポート465)
|
||
protocol: "auto"
|
||
port: 587
|
||
|
||
# 認証設定
|
||
auth:
|
||
enabled: true
|
||
username: "smtp-user@example.com"
|
||
# password はSecretで管理する
|
||
# helm install ... --set smtp.auth.password='your-password' 等で指定
|
||
password: ""
|
||
|
||
# 【外部Secret連携】チャートで msmtprc を生成しつつ、パスワードファイルだけ
|
||
# 既存 Secret から取りたい場合に指定する。
|
||
# 例: secret-manager チャートが配布する cred-<プロバイダ> の SMTP_PASSWORD キー
|
||
# existingSecret: "cred-gmail"
|
||
# existingSecretKey: "SMTP_PASSWORD"
|
||
# 指定時は smtp.auth.password と自作の -smtp Secret は使われない。
|
||
existingSecret: ""
|
||
existingSecretKey: "password"
|
||
|
||
# 送信元アドレス(固定値。wp-config.phpやプラグイン側の指定より優先されます)
|
||
from: "noreply@example.com"
|
||
|
||
# TLS/SSL設定
|
||
tls:
|
||
# 証明書検証を有効化(本番環境では true を推奨)
|
||
verify: true
|
||
# 自己署名証明書を許可する場合(テスト環境のみ)
|
||
allowSelfSigned: false
|
||
|
||
# 【外部Secret連携】完成済みの msmtprc がまるごと入っている既存 Secret を使う。
|
||
# 指定するとチャート内の msmtprc 生成(configmap-smtp)は行わず、
|
||
# host / port / protocol / auth.* / tls.* は無視される(from だけ PHP の
|
||
# sendmail_from 用に使用)。
|
||
# secret-manager チャートが cred-<プロバイダ> に生成する msmtprc キーを
|
||
# そのまま利用できる:
|
||
# existingMsmtprcSecret: "cred-gmail"
|
||
# existingMsmtprcSecretKey: "msmtprc"
|
||
existingMsmtprcSecret: ""
|
||
existingMsmtprcSecretKey: "msmtprc"
|
||
|
||
# 既存の Secret / ConfigMap をまるごと環境変数として wordpress コンテナへ注入する(envFrom)。
|
||
# 別リポジトリの secret-manager チャートが各ネームスペースへ配布する
|
||
# cred-<名前> Secret(API キー等)をそのまま読み込む用途を想定。
|
||
# 変更は secret-manager 側を更新するだけで全プロジェクトに反映できる。
|
||
extraEnvFrom: []
|
||
# - secretRef:
|
||
# name: cred-gemini
|
||
# - secretRef:
|
||
# name: cred-openai
|
||
|
||
# 個別の環境変数を追加する(生の env エントリ配列。value / valueFrom(secretKeyRef 等) 使用可)。
|
||
extraEnv: []
|
||
# - name: OPENAI_API_KEY
|
||
# valueFrom:
|
||
# secretKeyRef:
|
||
# name: cred-openai
|
||
# key: OPENAI_API_KEY
|
||
|
||
nginx:
|
||
# Ingress ControllerやCDN(Cloudflare等)、外部LB等、X-Forwarded-Forヘッダーを
|
||
# 付与するリバースプロキシを前段に置く場合にのみ有効にしてください。
|
||
# 本チャートのデフォルト構成(Service直下にPodがぶら下がるベアメタル/MetalLB構成)では
|
||
# X-Forwarded-For を付与する層が存在しないため、この設定を有効にしても効果はありません。
|
||
# その場合は下記の service.externalTrafficPolicy: Local を使用してください。
|
||
forwardRealIP:
|
||
enabled: false
|
||
# 信頼できるプロキシのIPレンジを追加してください
|
||
trustedProxies:
|
||
- 10.0.0.0/8
|
||
- 172.16.0.0/12
|
||
- 192.168.0.0/16
|
||
# CloudflareやAWS ALB等を使っている場合は以下のIPレンジも追加してください
|
||
# - 173.245.48.0/20
|
||
# - 103.21.244.0/22
|
||
|
||
extraConfig: |
|
||
|
||
# Service設定
|
||
service:
|
||
type: LoadBalancer
|
||
# type: ClusterIP
|
||
port: 80
|
||
targetPort: 80
|
||
# ベアメタルクラスター(MetalLB等)でクライアントの実IPを取得するための設定。
|
||
# kube-proxyはデフォルト(Cluster)だと送信元IPをノードIPにSNATしてしまうため、
|
||
# Local にすることでSNATを回避し、Nginxの$remote_addrに実IPがそのまま渡ります。
|
||
# 注意: Local にすると、Podが存在しないノードへのアクセスは失敗するため、
|
||
# DaemonSetまたは全ノードにPodが分散する構成を推奨します。
|
||
# LoadBalancer / NodePort でのみ有効(ClusterIPでは無視されます)。
|
||
externalTrafficPolicy: Local
|
||
|
||
# Ingress設定
|
||
ingress:
|
||
enabled: false
|
||
className: nginx
|
||
annotations: {}
|
||
# コメントを外すだけで有効化できる設定例
|
||
# cert-manager.io/cluster-issuer: "letsencrypt-issuer",
|
||
# acme.cert-manager.io/http01-ingress-class: "nginx",
|
||
# nginx.ingress.kubernetes.io/ssl-redirect: "true",
|
||
# nginx.ingress.kubernetes.io/force-ssl-redirect: "true",
|
||
# nginx.ingress.kubernetes.io/from-to-www-redirect: "true",
|
||
# nginx.ingress.kubernetes.io/proxy-body-size: "100m",
|
||
# nginx.ingress.kubernetes.io/proxy-buffer-size: "16k",
|
||
# IP取得用(Nginx Ingress Controllerの場合)
|
||
# nginx.ingress.kubernetes.io/use-forwarded-headers: "true",
|
||
# nginx.ingress.kubernetes.io/compute-full-forwarded-for: "true",
|
||
# IP取得用(AWS ALBの場合)
|
||
# alb.ingress.kubernetes.io/target-type: ip,
|
||
# IP取得用(GKE Ingressの場合)
|
||
# cloud.google.com/neg: '{"ingress": true}',
|
||
hostname: wordpress.example.com
|
||
path: /
|
||
pathType: Prefix
|
||
# TLS設定(true にするだけで hostname を使用して自動設定)
|
||
tls: false
|
||
# tlsを有効にすると自動的に以下が設定されます:
|
||
# - hosts: [hostname]
|
||
# - secretName: {hostname}-tls
|
||
|
||
# 追加のホスト設定
|
||
extraHosts: []
|
||
# - name: blog.example.com
|
||
# path: /
|
||
|
||
# 追加のTLS設定
|
||
extraTls: []
|
||
# - hosts:
|
||
# - blog.example.com
|
||
# secretName: blog-example-com-tls
|
||
|
||
# PersistentVolume設定(wp-contentのみ永続化 - bitnami方式)
|
||
persistence:
|
||
enabled: true
|
||
storageClass: ""
|
||
accessMode: ReadWriteOnce
|
||
size: 10Gi
|
||
# 注意: WordPress本体はemptyDirに配置(使い捨て)
|
||
# wp-contentディレクトリのみがPVCに永続化されます
|
||
|
||
# リソース設定
|
||
resources:
|
||
nginx:
|
||
limits:
|
||
cpu: 500m
|
||
memory: 512Mi
|
||
requests:
|
||
cpu: 250m
|
||
memory: 256Mi
|
||
wordpress:
|
||
limits:
|
||
cpu: 1000m
|
||
memory: 1Gi
|
||
requests:
|
||
cpu: 500m
|
||
memory: 512Mi
|
||
|
||
# Health Check
|
||
healthCheck:
|
||
enabled: true
|
||
livenessProbe:
|
||
httpGet:
|
||
path: /
|
||
port: 80
|
||
initialDelaySeconds: 60
|
||
periodSeconds: 10
|
||
timeoutSeconds: 5
|
||
failureThreshold: 6
|
||
readinessProbe:
|
||
httpGet:
|
||
path: /
|
||
port: 80
|
||
initialDelaySeconds: 30
|
||
periodSeconds: 5
|
||
timeoutSeconds: 3
|
||
failureThreshold: 3
|
||
|
||
# Node Selector
|
||
nodeSelector: {}
|
||
|
||
# Tolerations
|
||
tolerations: []
|
||
|
||
# Affinity
|
||
affinity: {}
|