helm: rewrite values.yaml comments for clarity

This commit is contained in:
Naeel
2026-04-13 06:38:47 +03:00
parent d3a88adb5b
commit 5707f279dc
+46 -21
View File
@@ -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"