================================================================
 САП «Клавдий» (klvd-node) установлена в namespace {{ .Release.Namespace }}
================================================================

Релиз:        {{ .Release.Name }} (chart {{ .Chart.Name }}-{{ .Chart.Version }}, app {{ .Chart.AppVersion }})
Образ:        {{ .Values.image.repository }}@{{ .Values.image.digest }}
Роли:         {{ include "klvd.roles" . }}
Реплики:      {{ .Values.replicaCount }} (StatefulSet, каждая реплика = узел кластера со своим node UID)

Подключения (внешние, уже в кластере Клавдия):
  PostgreSQL:  {{ .Values.postgresql.host }}:{{ .Values.postgresql.port }}/{{ .Values.postgresql.database }} (ssl={{ .Values.postgresql.ssl }})
  Solr:        {{ .Values.solr.url | default "(НЕ ЗАДАН — проверьте solr.url!)" }}

{{- if include "klvd.hasRole" (dict "root" . "role" "ui") }}

WUI:
{{- if .Values.ingress.enabled }}
{{- range .Values.ingress.hosts }}
  https://{{ .host }}:{{ $.Values.ingress.publicPort }}/
{{- end }}
  (ingress class {{ .Values.ingress.className | default "(default)" }})
{{- else if eq .Values.service.type "LoadBalancer" }}
  LoadBalancer:  kubectl get svc {{ include "klvd.fullname" . }}-wui -n {{ .Release.Namespace }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
{{- else if eq .Values.service.type "NodePort" }}
  NodePort:      kubectl get svc {{ include "klvd.fullname" . }}-wui -n {{ .Release.Namespace }} -o jsonpath='{.spec.ports[0].nodePort}'
{{- else }}
  ClusterIP — доступ через port-forward:
    kubectl port-forward svc/{{ include "klvd.fullname" . }}-wui -n {{ .Release.Namespace }} {{ .Values.wui.listenPort }}:{{ .Values.service.port }}
  затем откройте:  https://127.0.0.1:{{ .Values.wui.listenPort }}/
{{- end }}
{{- end }}

{{- if include "klvd.hasRole" (dict "root" . "role" "imap") }}
IMAP:  Service {{ include "klvd.fullname" . }}-imap ({{ .Values.imap.service.type }})  порт {{ .Values.imap.service.port }}
{{- end }}
{{- if include "klvd.hasRole" (dict "root" . "role" "smtp") }}
SMTP:  Service {{ include "klvd.fullname" . }}-smtp ({{ .Values.smtp.service.type }})  порт {{ .Values.smtp.service.port }} (submission {{ .Values.smtp.service.submissionPort }})
{{- end }}

ВАЖНО — следующие шаги:
  1. IMAP/SMTP слушатели поднимаются ТОЛЬКО после включения роли в панели WUI
     (bootstrap: на чистом узле imap/smtp выключены). Раздел «Кластер/Узлы» → включить роли.
  2. placement.imap_ip/smtp_ip править НЕ нужно — под биндится на 0.0.0.0, Service фронти́т.
  3. Проверить поды:
     kubectl get pods -n {{ .Release.Namespace }} -l app.kubernetes.io/instance={{ .Release.Name }}
  4. Логи:
     kubectl logs -n {{ .Release.Namespace }} statefulset/{{ include "klvd.fullname" . }}

Масштабирование (добавить узлы в кластер):
  helm upgrade {{ .Release.Name }} oci://registry-ru-2.afi-d.ru/afi/klvd/charts/klvd-node \
    --version {{ .Chart.Version }} -n {{ .Release.Namespace }} --set replicaCount=N

Обновление образа:
  helm upgrade {{ .Release.Name }} oci://registry-ru-2.afi-d.ru/afi/klvd/charts/klvd-node \
    --version <NEW_VERSION> -n {{ .Release.Namespace }} -f <ваши-values.yaml>

Ротация секрета:
  bash gen-secrets.sh -n {{ .Release.Namespace }}   # затем:
  kubectl rollout restart statefulset/{{ include "klvd.fullname" . }} -n {{ .Release.Namespace }}
