# Миграция shared-sqs: k8s → Nubes Managed ## Сессия 2026-08-13 --- ## Текущая архитектура (k8s) - Go-бинарник, HTTP-сервер, ~50MB RAM - Deployment в k8s: `naeel/shared-sqs:v0.1.22` - Redis sidecar — write-through persistence - Exposed через Ingress + TLS ## Целевая архитектура (Nubes Managed) | Компонент | Сейчас | После | |---|---|---| | Рантайм | k8s Deployment | Nubes Simple HTTP Container | | Persistence | Redis pod в k8s | Nubes Managed Redis | | Секреты | k8s Secret | Env vars в Container | | Ingress/TLS | k8s Ingress | встроен в Simple HTTP Container | **Код не меняется вообще.** Только инфраструктура. ## Совместимость Сервис протестирован как AWS SQS совместимый — работает с AWS CLI, AWS SDK, Yandex. ## Открытые вопросы (уточнить перед деплоем) 1. Managed Redis: TLS или plain endpoint? → влияет на флаг `REDIS_INSECURE` в коде 2. Simple HTTP Container: поддержка custom domain или только `*.containerk8s.services.ngcloud.ru`? ## План миграции **Шаг 1** — Создать Managed Redis на Nubes **Шаг 2** — Задеплоить образ в Simple HTTP Container: ``` image: naeel/shared-sqs:v0.1.22 PORT=4100 SHARED_SQS_ADMIN_TOKEN=<секрет> REDIS_ADDR= REDIS_USER= REDIS_PASSWORD= SHARED_SQS_SEED_DEMO=false ``` **Шаг 3** — Проверить работоспособность (AWS CLI / SDK) **Шаг 4** — Выключить k8s Deployment ## Что НЕ нужно делать - Переписывать код на Node.js/Flask — не нужно - Менять Redis persistence layer — не нужно - Мигрировать данные вручную — Redis восстановит состояние автоматически при старте (LoadAllQueues / LoadAllTenantsRaw)