seaf-bok
Описание
Base Of Knowledge - репозиторий для публикации базы знаний, wiki, постов, календаря событий SEAF, анонсов мероприятий.
Языки
- Python90,6%
- Shell5,8%
- Jinja2,4%
- Dockerfile0,9%
- Smarty0,3%
SEAF ArchPortal
SEAF ArchPortal - портал управления корпоративной архитектурой на базе фреймворка SEAF. Портал позволяет визуализировать и документировать архитектуру предприятия, используя декларативные манифесты в формате YAML.
Манифесты можно загружать из GitLab-репозитория или из локальной файловой системы. Портал поддерживает рендеринг PlantUML-диаграмм, ролевую модель доступа через OIDC-провайдер (Keycloak, ADFS).
Готовые Docker-образы
Для быстрого старта доступны готовые образы на Docker Hub:
- SEAF ArchTool Core -
- основной образ портала (backend + frontend)seaf/seaf-archtool-core - PlantUML Server -
- сервер для рендеринга UML-диаграммseaf/plantuml-server
Все образы доступны в организации SEAF на Docker Hub: https://hub.docker.com/u/seaf
Архитектура решения
В полной конфигурации решение состоит из следующих компонентов:
В минимальной конфигурации (АРМ архитектора) достаточно только SEAF ArchTool. Манифесты загружаются с локального диска, PlantUML-диаграммы рендерятся на публичном сервере, аутентификация не требуется.
Компоненты
| Компонент | Назначение | Обязательный | Образ |
|---|---|---|---|
| SEAF ArchTool | Ядро портала: backend + frontend | да | (DockerHub) или локальная сборка |
| PlantUML Server | Рендеринг UML-диаграмм (опционально, по умолчанию используется публичный сервер) | нет | |
| NGINX Reverse Proxy | TLS-терминация и маршрутизация запросов | нет | |
| Keycloak | Аутентификация и авторизация (OIDC) | нет | |
| PostgreSQL | Хранение данных Keycloak | нет | PostgreSQL (сборка из ) |
| GitLab | Хранение манифестов, версионирование | нет | |
Сценарии развертывания
Выберите подходящий сценарий в зависимости от ваших задач:
1. Запуск на рабочей машине архитектора
Минимальный вариант для персональной работы. Запускается из готового образа на DockerHub, манифесты загружаются с локального диска. Без аутентификации, без GitLab и без отдельного PlantUML-сервера (рендеринг диаграмм выполняется на публичном сервере).
Подходит для: знакомства с инструментом, локальной разработки метамоделей.
2. Референсное развертывание со всеми компонентами
Пошаговое развертывание всех компонентов: ArchTool, PlantUML, Keycloak, GitLab, NGINX. Каждый компонент настраивается отдельно. Этот сценарий можно адаптировать под конкретное окружение и требования.
Подходит для: развертывания в организации, когда нужен полный контроль над настройкой каждого компонента.
3. Автоматическое развертывание одним скриптом
Все компоненты поднимаются и настраиваются автоматически одной командой. Скрипт создаёт realm в Keycloak, настраивает GitLab, импортирует тестовые данные.
Подходит для: быстрого запуска демонстрационного стенда, тестирования.
4. Развертывание в Kubernetes
Установка SEAF ArchTool в кластер Kubernetes с помощью Helm-чарта. Keycloak и GitLab предполагаются уже развернутыми.
Подходит для: промышленной эксплуатации в контейнерной инфраструктуре.
Дополнительные материалы
- Справочник переменных окружения - описание всех настроек ArchTool
- Ролевая модель - настройка доступа к данным по ролям
- Настройка Keycloak - создание realm, клиента и пользователей
- Настройка ADFS - интеграция с Active Directory Federation Services
- Настройка GitLab - подготовка репозитория с манифестами
- Reverse - реверс инфраструктуры Cloud.ru/Kubernetes