seaf-bok

1

Описание

Base Of Knowledge - репозиторий для публикации базы знаний, wiki, постов, календаря событий SEAF, анонсов мероприятий.

Языки

  • Python90,6%
  • Shell5,8%
  • Jinja2,4%
  • Dockerfile0,9%
  • Smarty0,3%
README.MD

SEAF ArchPortal

SEAF ArchPortal - портал управления корпоративной архитектурой на базе фреймворка SEAF. Портал позволяет визуализировать и документировать архитектуру предприятия, используя декларативные манифесты в формате YAML.

Манифесты можно загружать из GitLab-репозитория или из локальной файловой системы. Портал поддерживает рендеринг PlantUML-диаграмм, ролевую модель доступа через OIDC-провайдер (Keycloak, ADFS).

Готовые Docker-образы

Для быстрого старта доступны готовые образы на Docker Hub:

  • SEAF ArchTool Core -
    seaf/seaf-archtool-core
    - основной образ портала (backend + frontend)
  • PlantUML Server -
    seaf/plantuml-server
    - сервер для рендеринга UML-диаграмм

Все образы доступны в организации SEAF на Docker Hub: https://hub.docker.com/u/seaf

Архитектура решения

В полной конфигурации решение состоит из следующих компонентов:

В минимальной конфигурации (АРМ архитектора) достаточно только SEAF ArchTool. Манифесты загружаются с локального диска, PlantUML-диаграммы рендерятся на публичном сервере, аутентификация не требуется.

Компоненты

КомпонентНазначениеОбязательныйОбраз
SEAF ArchToolЯдро портала: backend + frontendда
seaf/seaf-archtool-core
(DockerHub) или локальная сборка
PlantUML ServerРендеринг UML-диаграмм (опционально, по умолчанию используется публичный сервер)нет
seaf/plantuml-server:jetty
NGINX Reverse ProxyTLS-терминация и маршрутизация запросовнет
nginx
KeycloakАутентификация и авторизация (OIDC)нет
quay.io/keycloak/keycloak
PostgreSQLХранение данных KeycloakнетPostgreSQL (сборка из
keycloak/dockerfiles/
)
GitLabХранение манифестов, версионированиенет
gitlab/gitlab-ce

Сценарии развертывания

Выберите подходящий сценарий в зависимости от ваших задач:

1. Запуск на рабочей машине архитектора

Минимальный вариант для персональной работы. Запускается из готового образа на DockerHub, манифесты загружаются с локального диска. Без аутентификации, без GitLab и без отдельного PlantUML-сервера (рендеринг диаграмм выполняется на публичном сервере).

Подходит для: знакомства с инструментом, локальной разработки метамоделей.

Инструкция по развертыванию

2. Референсное развертывание со всеми компонентами

Пошаговое развертывание всех компонентов: ArchTool, PlantUML, Keycloak, GitLab, NGINX. Каждый компонент настраивается отдельно. Этот сценарий можно адаптировать под конкретное окружение и требования.

Подходит для: развертывания в организации, когда нужен полный контроль над настройкой каждого компонента.

Инструкция по развертыванию

3. Автоматическое развертывание одним скриптом

Все компоненты поднимаются и настраиваются автоматически одной командой. Скрипт создаёт realm в Keycloak, настраивает GitLab, импортирует тестовые данные.

Подходит для: быстрого запуска демонстрационного стенда, тестирования.

Инструкция по развертыванию

4. Развертывание в Kubernetes

Установка SEAF ArchTool в кластер Kubernetes с помощью Helm-чарта. Keycloak и GitLab предполагаются уже развернутыми.

Подходит для: промышленной эксплуатации в контейнерной инфраструктуре.

Инструкция по развертыванию

Дополнительные материалы