# リダイレクト設定 redirect: # リダイレクトモード: "path-preserve" | "root-only" | "custom" # path-preserve: パスを維持したまま転送 (例: /page -> https://new-domain.com/page) # root-only: パスを無視して指定URLに転送 (例: /any/path -> https://new-domain.com) # custom: 個別パスごとに転送先を指定 mode: "path-preserve" # HTTPステータスコード: 301 (永久) | 302 (一時) statusCode: 301 # path-preserve / root-only モード用の転送先ドメイン targetDomain: "https://example.com" # custom モード用の個別パス設定 customPaths: # パスごとの転送先を指定 # 例: # - path: "/old-page" # target: "https://new-domain.com/new-page" # - path: "/products" # target: "https://shop.example.com/products" # - path: "/blog/*" # target: "https://blog.example.com" [] # customモード用のフォールバック設定 # 設定にないパスへのアクセス時の転送先 fallbackTarget: "https://example.com" # Ingress設定 ingress: enabled: true className: "nginx" annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/ssl-redirect: "true" hosts: - host: old-domain.example.com paths: - path: / pathType: Prefix tls: - secretName: nginx-redirect-tls hosts: - old-domain.example.com # Deployment設定 replicaCount: 2 image: repository: nginx tag: "1.25.3-alpine" pullPolicy: IfNotPresent # セキュリティコンテキスト securityContext: runAsNonRoot: true runAsUser: 101 runAsGroup: 101 fsGroup: 101 allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault # リソース制限 resources: limits: cpu: 100m memory: 128Mi requests: cpu: 50m memory: 64Mi # ヘルスチェック livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 10 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 5 periodSeconds: 5 # Service設定 service: type: ClusterIP port: 80 targetPort: 8080 # Pod Disruption Budget podDisruptionBudget: enabled: true minAvailable: 1 # Node Affinity / Pod Anti-Affinity affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - nginx-redirect topologyKey: kubernetes.io/hostname # Additional labels labels: {} # Additional annotations annotations: {}