diff --git a/deployments/helm/shared-sqs/values.yaml b/deployments/helm/shared-sqs/values.yaml index 3386684..b993681 100644 --- a/deployments/helm/shared-sqs/values.yaml +++ b/deployments/helm/shared-sqs/values.yaml @@ -1,44 +1,63 @@ # values.yaml — параметры деплоя shared-sqs -# Created: 2026-04-11 -# Updated: 2026-04-13 — все параметры вынесены в values, billing включён +# Updated: 2026-04-13 # -# ВАЖНО: перед деплоем заменить все значения помеченные # REQUIRED -# Чувствительные параметры лучше передавать через --set или -f secrets.yaml +# ЧТО ЭТО: +# shared-sqs — AWS SQS-совместимый сервис очередей сообщений для Kubernetes. +# Работает как замена Amazon SQS: клиенты используют стандартный AWS SDK/CLI, +# просто указывая свой endpoint вместо amazonaws.com. +# +# ЧТО НУЖНО ЗАРАНЕЕ: +# 1. Redis — для хранения очередей и сообщений (любой Redis ≥ 6) +# 2. PostgreSQL — для биллинга (можно отключить: billing.enabled: false) +# 3. Ingress NGINX — установлен в кластере (принимает внешние запросы) +# 4. cert-manager — для автовыпуска TLS-сертификата (letsencrypt) +# 5. DNS-запись — ваш домен должен указывать на IP ingress-контроллера +# +# КАК ДЕПЛОИТЬ: +# helm install shared-sqs ./deployments/helm/shared-sqs -n shared-sqs --create-namespace +# +# КАК ОБНОВИТЬ: +# helm upgrade shared-sqs ./deployments/helm/shared-sqs -n shared-sqs -# -- Namespace для деплоя +# Namespace в Kubernetes куда будет задеплоен сервис namespace: shared-sqs -# -- Количество реплик +# Количество реплик пода (для начала достаточно 1) replicaCount: 1 -# -- Образ приложения +# Docker-образ сервиса image: repository: naeel/shared-sqs tag: "v0.1.24" pullPolicy: IfNotPresent -# -- imagePullSecrets (имя Secret'а с credentials к registry) +# Если образ в приватном registry — укажите имя Secret с credentials. +# Если используете Docker Hub публично — можно убрать эту секцию. imagePullSecrets: - name: sless-registry-auth -# -- Redis: эндпоинт, credentials -# addr — полный host:port (internal K8s DNS или внешний IP) +# Redis — хранит все очереди и сообщения. +# addr: адрес в формате host:port (можно внутренний K8s DNS или внешний IP) redis: addr: "rfrm-redisk8s.54467f74-67f5-4ca7-9b4a-bdd50e8c23d6.svc:6379" user: "default" password: "quiY2oovugaiChiejah9" -# -- Admin токен для /admin/* API +# Токен для административного API (/admin/*). +# Используется для создания тенантов и управления ими. +# Придумайте любую строку, например: openssl rand -hex 20 admin: token: "sqs-admin-7a7d8bd0c060a75c198d48680f34077a" -# -- Seed demo tenant при старте +# Создать demo-тенанта при первом старте (удобно для проверки). +# В продакшне можно поставить false. seedDemo: true -# -- Nubes API endpoint (для JWT-аутентификации через UI) +# Endpoint облачного API Nubes — нужен только если используется UI-консоль +# с аутентификацией через Nubes. Если UI не нужен — можно не менять. nubesEndpoint: "https://deck-api-test.ngcloud.ru/api/v1" -# -- Ресурсы контейнера +# Лимиты ресурсов для пода. Для начала этих значений достаточно. resources: requests: memory: "64Mi" @@ -47,12 +66,14 @@ resources: memory: "256Mi" cpu: "500m" -# -- Service +# Порт внутри контейнера. Менять не нужно. service: type: ClusterIP port: 4100 -# -- Ingress +# Ingress — открывает сервис наружу по домену. +# host: ваш домен, который должен указывать на IP ingress-контроллера кластера. +# После деплоя cert-manager автоматически выпустит TLS-сертификат. ingress: enabled: true className: nginx @@ -64,9 +85,10 @@ ingress: nginx.ingress.kubernetes.io/proxy-send-timeout: "30" tls: enabled: true + # Имя Secret куда cert-manager положит TLS-сертификат secretName: shared-sqs-tls -# -- Probes +# Параметры проверки здоровья пода. Менять не нужно. probes: liveness: path: /health @@ -77,24 +99,27 @@ probes: initialDelaySeconds: 3 periodSeconds: 5 -# -- Strategy +# Стратегия обновления. RollingUpdate — обновление без даунтайма. strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 -# -- Billing: PostgreSQL для учёта использования SQS-операций. -# Если enabled=false — billing отключён, сервис работает без PostgreSQL. +# Биллинг — запись статистики по всем SQS-операциям в PostgreSQL. +# Если PostgreSQL нет — поставьте enabled: false, остальное игнорируется. billing: enabled: true postgres: + # Адрес PostgreSQL (внутренний K8s DNS или внешний хост) host: "postgresqlk8s-master.dc5db45d-f8b4-4fd0-ad33-ec4dd017f2d5.svc.cluster.local" port: "5432" + # База данных должна существовать заранее (CREATE DATABASE sqsdb) database: "sqsdb" user: "super" password: "BQUF5ruECa1ZFlq4wYt3gPJUEmtBMkA9QNK4MM5Sd8al4ArMDlmT16DIKHYBPyif" sslmode: "require" - # Альтернатива: указать имя уже существующего K8s Secret вместо password выше + # Альтернатива паролю выше: указать имя уже существующего K8s Secret. + # Если задан — поле password выше игнорируется. existingSecret: "" secretKey: "password"