- New package app/billing: Init/RecordUsage/Close with auto-migrate - Integration in actionHandler: record tenant_id, operation, msg_count, msg_bytes - Helm chart: billing section in values.yaml, secret-billing.yaml, env vars in deployment - Optional: billing disabled by default (BILLING_PG_HOST not set = no-op) - Table: sqs_usage_records with index on (tenant_id, recorded_at)
98 lines
2.4 KiB
YAML
98 lines
2.4 KiB
YAML
# values.yaml — параметры деплоя shared-sqs
|
||
# Created: 2026-04-11
|
||
# Updated: 2026-04-12 09:57 MSK — image tag v0.1.22 для demo UI showcase mode
|
||
# Все значения — переменные, меняются при деплое через --set или -f override.yaml
|
||
|
||
# -- Namespace для деплоя
|
||
namespace: shared-sqs
|
||
|
||
# -- Количество реплик
|
||
replicaCount: 1
|
||
|
||
# -- Образ приложения
|
||
image:
|
||
repository: naeel/shared-sqs
|
||
tag: "v0.1.22"
|
||
pullPolicy: IfNotPresent
|
||
|
||
# -- imagePullSecrets (имя Secret'а с credentials к registry)
|
||
imagePullSecrets:
|
||
- name: sless-registry-auth
|
||
|
||
# -- Redis: эндпоинт, credentials
|
||
# addr — полный host:port (можно internal K8s DNS или внешний IP)
|
||
redis:
|
||
addr: "rfrm-redisk8s.54467f74-67f5-4ca7-9b4a-bdd50e8c23d6.svc:6379"
|
||
user: "default"
|
||
password: "quiY2oovugaiChiejah9"
|
||
|
||
# -- Admin токен для /admin/* API
|
||
admin:
|
||
token: "sqs-admin-7a7d8bd0c060a75c198d48680f34077a"
|
||
|
||
# -- Seed demo tenant при старте
|
||
seedDemo: true
|
||
|
||
# -- Nubes API endpoint
|
||
nubesEndpoint: "https://deck-api-test.ngcloud.ru/api/v1"
|
||
|
||
# -- Ресурсы контейнера
|
||
resources:
|
||
requests:
|
||
memory: "64Mi"
|
||
cpu: "50m"
|
||
limits:
|
||
memory: "256Mi"
|
||
cpu: "500m"
|
||
|
||
# -- Service
|
||
service:
|
||
type: ClusterIP
|
||
port: 4100
|
||
|
||
# -- Ingress
|
||
ingress:
|
||
enabled: true
|
||
className: nginx
|
||
host: qu.kube5s.ru
|
||
annotations:
|
||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||
nginx.ingress.kubernetes.io/proxy-body-size: "10m"
|
||
nginx.ingress.kubernetes.io/proxy-read-timeout: "30"
|
||
nginx.ingress.kubernetes.io/proxy-send-timeout: "30"
|
||
tls:
|
||
enabled: true
|
||
secretName: shared-sqs-tls
|
||
|
||
# -- Probes
|
||
probes:
|
||
liveness:
|
||
path: /health
|
||
initialDelaySeconds: 5
|
||
periodSeconds: 10
|
||
readiness:
|
||
path: /health
|
||
initialDelaySeconds: 3
|
||
periodSeconds: 5
|
||
|
||
# -- Strategy
|
||
strategy:
|
||
type: RollingUpdate
|
||
rollingUpdate:
|
||
maxSurge: 1
|
||
maxUnavailable: 0
|
||
|
||
# -- Billing: PostgreSQL для учёта использования SQS-операций.
|
||
# Если enabled=false — billing отключён, сервис работает без PostgreSQL.
|
||
billing:
|
||
enabled: false
|
||
postgres:
|
||
host: ""
|
||
port: "5432"
|
||
database: "sqsdb"
|
||
user: ""
|
||
sslmode: "require"
|
||
# Имя существующего K8s Secret с ключом "password"
|
||
existingSecret: ""
|
||
secretKey: "password"
|