Files
wordpress/values.yaml
T

247 lines
8.1 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.
# デフォルト値設定
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: {}