{{- if .Values.ingress.enabled }} {{- $fullName := include "claude-code.fullname" . -}} {{- $svcPort := .Values.service.port -}} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ $fullName }} namespace: {{ .Release.Namespace }} labels: {{- include "claude-code.labels" . | nindent 4 }} annotations: {{- /* WebSocket を長時間維持できるよう read/send タイムアウトを既定で延長(明示指定があれば優先) */}} {{- $defaults := dict "nginx.ingress.kubernetes.io/proxy-read-timeout" "3600" "nginx.ingress.kubernetes.io/proxy-send-timeout" "3600" }} {{- toYaml (merge (deepCopy .Values.ingress.annotations) $defaults) | nindent 4 }} spec: {{- with .Values.ingress.className }} ingressClassName: {{ . }} {{- end }} {{- with .Values.ingress.tls }} tls: {{- toYaml . | nindent 4 }} {{- end }} rules: {{- range .Values.ingress.hosts }} - host: {{ .host | quote }} http: paths: {{- range .paths }} - path: {{ .path }} pathType: {{ .pathType | default "Prefix" }} backend: service: name: {{ $fullName }} port: number: {{ $svcPort }} {{- end }} {{- end }} {{- end }}