Цель и назначение системы
Deckhouse Development Portal (DDP, портал) — это IDP (Internal Developer Platform), внутренний портал разработки, который объединяет в себе инструменты, инфраструктурные сервисы и процессы разработки.
Портал предоставляет единый слой взаимодействия с инфраструктурными и инженерными сервисами и используется для автоматизации операций, связанных с жизненным циклом продуктов. DDP обеспечивает единый доступ к инструментам и ресурсам, формализует и автоматизирует процессы разработки, а также упрощает подключение новых пользователей и команд.
Основные задачи портала:
- Обеспечение единых стандартов разработки для команд через шаблоны и типовые конфигурации.
- Управление динамическими окружениями с автоматическим созданием, обновлением и удалением сред.
- Интеграция с внешними инфраструктурными сервисами через API.
- Упрощённый онбординг разработчиков и команд за счёт шаблонных решений и документации.
- Оцифровка процессов и сценариев разработки через BPMN-подобный механизм описания процессов.
- Встроенная CMDB для автоматического сбора данных из инфраструктурных сервисов и визуализации зависимостей.
- Контроль параметров сущностей через механизм проверок статуса.
Пользователи системы
Команды разработки
Команды разработки используют DDP для работы с сущностями и ресурсами портала. Эти команды создают и управляют сущностями, запускают действия, просматривают данные из источников данных, используют виджеты и работают с процессами.
Менеджмент
Менеджмент получает статистику и данные для принятия решений. Пользователи управленческого уровня могут просматривать дашборды с метриками, анализировать эффективность разработки, отслеживать ключевые показатели и получать отчёты о работе команд.
Команды инфраструктуры
Эти команды отвечают за предоставление сервисов и ресурсов через DDP. Они настраивают интеграции с внешними сервисами, конфигурируют ресурсы, создают шаблоны и автоматизации, управляют окружениями и обеспечивают работу портала.
Команды безопасности
Команды безопасности используют DDP для предоставления и управления средствами защиты, проведения аудита и контроля соблюдения требований. В рамках портала они настраивают политики безопасности и права доступа, просматривают аудит-логи и управляют механизмами защиты.
Администраторы
Администраторы — пользователи, обладающие полными правами на настройку и сопровождение портала. Они управляют учётными записями пользователей, настраивают роли и права доступа через систему RBAC, конфигурируют интеграции с внешними сервисами, управляют учётными данными, ресурсами, автоматизациями и параметрами портала, а также просматривают аудит-логи.
Права доступа для всех групп пользователей настраиваются через систему ролевого доступа (RBAC), которая обеспечивает гибкое управление разрешениями на уровне глобальных ролей, ролей ресурсов и ролей сущностей.
Доступ к системе
Веб-интерфейс
Все группы пользователей получают доступ к порталу через веб-интерфейс DDP Frontend, предназначенный для работы с порталом в веб-браузере.
Протокол доступа: HTTPS (TCP/443)
Аутентификация: Пользователи проходят аутентификацию через компонент Dex, который интегрируется с внешними провайдерами аутентификации (Keycloak, LDAP и др.) через стандартные протоколы (OIDC, LDAP). После успешной аутентификации пользователь получает JWT-токен доступа, который используется для авторизации запросов к порталу.
REST API
Администраторы и разработчики могут напрямую обращаться к DDP Backend через REST API для программного взаимодействия с порталом.
Протокол доступа: HTTPS (TCP/443)
Аутентификация:
- Браузер: сессия по файлу cookie с флагом
HttpOnly(JWT от Dex). - Программный доступ: API-токен из раздела «Профиль», заголовок
Authorization: Bearer <API_TOKEN>.
REST API предоставляет полный набор функций для управления всеми объектами портала: сущностями, ресурсами, действиями, источниками данных, виджетами, процессами и другими компонентами.
Доступ снаружи/внутри периметра компании
DDP развёртывается в кластере Kubernetes и может быть доступен как внутри корпоративного периметра, так и снаружи в зависимости от конфигурации сетевой инфраструктуры.
Доступ внутри периметра
Типичный сценарий: Пользователи получают доступ к порталу через внутреннюю сеть компании.
- Веб-интерфейс и REST API доступны через внутренний Ingress-контроллер.
- Доступ осуществляется по внутренним доменным именам (например,
ddp.internal.company.com). - Аутентификация может быть интегрирована с корпоративным LDAP или Active Directory через Dex.
- Дополнительная защита может обеспечиваться на уровне сетевых политик Kubernetes.
Доступ снаружи периметра
Типичный сценарий: Пользователи получают доступ к порталу извне корпоративной сети.
- Веб-интерфейс и REST API доступны через публичный Ingress-контроллер.
- Доступ осуществляется по публичным доменным именам (например,
ddp.company.com). - Аутентификация может быть интегрирована с внешними провайдерами аутентификации через Dex.
Гибридный доступ
Портал может быть настроен для поддержки обоих сценариев одновременно:
- Внутренние пользователи получают доступ через внутренний Ingress.
- Внешние пользователи (например, удалённые сотрудники) получают доступ через публичный Ingress или VPN.
- Различные группы пользователей могут использовать разные провайдеры аутентификации через Dex.
Конфигурация доступа настраивается администратором при развёртывании портала через параметры Ingress-контроллера и сетевые политики Kubernetes.