image
Разработал собственную PaaS/CI/CD платформу для автоматического развертывания feature-веток в виде изолированных Docker-стендов. Каждая GitLab-ветка автоматически получает отдельный runtime, поддомен, БД и независимое окружение. Платформа используется для QA, демонстраций и тестирования без риска затронуть production-данные. Реализовал: автоматическое создание tenant-стендов из Git-веток; Docker Compose deployment per tenant; one-click pipeline: pull, composer/npm install, build, migrate, restart; rebuild/reset окружений; live-логи и real-time статусы через SSE; WebSocket terminal внутри контейнера; snapshots БД и файлов; seed/unseed тестовых данных; REST API для внешних систем; автоматическую генерацию nginx routing; intercept-layer для мокинга внешних API и OAuth. Backend построен на Go 1.25 + PostgreSQL + River Queue. Использовал chi/v5, pgx, sqlc, Docker Engine API, GitLab API, SSE, WebSocket и LISTEN/NOTIFY. Ключевые решения: отказ от Redis/RabbitMQ в пользу PostgreSQL-only очереди; reconcile-синхронизация Docker ↔ БД ↔ nginx; graceful shutdown активных jobs; динамическое определение capabilities tenant-приложений; полная изоляция tenant-окружений. Результат: вместо часов ручного деплоя новый стенд поднимается автоматически за несколько минут с полным CI/CD pipeline и live-прогрессом.
https://deployer.kmsdev.tech