{{- $name := include "hrbox.component" (dict "ctx" . "name" "chatbox") -}} {{/* Chatbox — вебсокет-сервер чатов и real-time уведомлений. До версии 2.0 назывался websocket; имена объектов не менялись с тех пор. */}} --- apiVersion: apps/v1 kind: Deployment metadata: name: {{ $name }} labels: {{- include "hrbox.labels" (dict "ctx" . "name" "chatbox") | nindent 4 }} spec: minReadySeconds: 5 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 1 replicas: {{ .Values.app.replicas.chatbox }} selector: matchLabels: {{- include "hrbox.selectorLabels" (dict "ctx" . "name" "chatbox") | nindent 6 }} template: metadata: labels: {{- include "hrbox.selectorLabels" (dict "ctx" . "name" "chatbox") | nindent 8 }} app: chatbox annotations: prometheus.io/scrape: 'true' prometheus.io/port: '9797' prometheus.io/path: "/info" checksum/app-secret: {{ include (print $.Template.BasePath "/00-app-secret.yaml") . | sha256sum }} spec: {{- include "hrbox.imagePullSecrets" . | nindent 6 }} containers: - name: chatbox image: {{ .Values.image.chatbox | quote }} imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: http containerPort: 9797 env: {{- include "envs_all" . | indent 12 }} {{- include "hrbox.resources" (dict "ctx" . "component" "chatbox") | indent 10 }} --- apiVersion: v1 kind: Service metadata: name: {{ $name }} labels: {{- include "hrbox.labels" (dict "ctx" . "name" "chatbox") | nindent 4 }} spec: selector: {{- include "hrbox.selectorLabels" (dict "ctx" . "name" "chatbox") | nindent 4 }} ports: - name: http port: 80 targetPort: 9797 protocol: TCP