Deployard
Control plane деплоев для Kubernetes. UI ходит в типизированный API, а не в API-сервер кластера.
Deployard это control plane деплоев для Kubernetes. Веб-UI и типизированный API стоят перед кластером. Браузеры и скрипты не бьют в API-сервер напрямую.
Репозиторий: github.com/VladimirKostikov/Deployard.
Сделано для учёбы и портфолио. Лицензия MIT.
Задача
Работа с кластером обычно значит прыжки между инструментами. kubectl для раскаток и статуса подов. Docker Compose для локальной сборки. Шелл-скрипты, чтобы загрузить образы в kind. Отдельные вкладки для логов и port-forward. У каждого инструмента свой auth и свои ошибки.
Deployard держит жизненный цикл деплоя: что запущено, какая ревизия живая, здоровье подов, откаты, хвост логов и путь Compose-проекта в кластер без чеклиста.
Что внутри
- Список деплоев, история ревизий, scale, restart, rollback.
- Живой статус подов, хвост логов по SSE, exec-консоль, файловый браузер.
- Разбор Compose, превью манифестов, сборка образов, загрузка в kind, apply.
- Services, endpoints, ingress, доступ из браузера через контролируемый port-forward.
- Пользователи, роли и права по разделам: view, operate, manage.
Как собрано
pnpm-монорепозиторий. React и Vite на фронте. NestJS с Kubernetes-клиентом на бэке. Общие DTO в пакете. OpenAPI из контроллеров.
Фронтенд в Kubernetes не ходит. Процесс NestJS держит kubeconfig, JWT-сессии с отзывом в PostgreSQL и отдаёт только белый список операций.
Локальный стенд как маленькая настоящая среда: kind для демо-нагрузки, Docker Compose для Postgres, API и nginx UI, Helm-чарт для установки ближе к продакшену.
Lens или Kubernetes Dashboard хватает, если нужен общий обзор кластера. Deployard глубже на деплоях, операциях и пути из Compose в кластер. Код в репозитории на GitHub.
