/
luferov
/
seaf-archtool-core
Обзор
Документация
Войти
/
luferov
/
seaf-archtool-core
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
example.env
415 строк
25 KB
Vladislav Markin
Запрос на слияние 'feature/ERA-538' (#64) из feature/ERA-538 в release/v3.15.0
03 дек 2024, 14:56
03 дек 2024, 14:56
b1f0a8b
Код
Авторство
О чём код?
# *********************************************************** # Режимы сборки и развертывания # *********************************************************** # DocHub может работать в трех режимах: # (F) frontend - "Толстый" клиент. Вся бизнес-логика находится на стороне фронта. # (FB) frontend + backend - "Тонкий" клиент. Бизнес-логика в основном находится на стороне backend. # (P) IDEA Plugin - Плагин для IDEA. Бизнес-логика в основном находится на стороне плагина. # *********************************************************** # Переменные среды # *********************************************************** # (B) Заголовок который подтягивается в хедере (По умолчанию - SEAF) # VUE_APP_DOCHUB_TITLE = SEAF # (F / FB) URI в формате DocHub корневого манифеста (обязательно) # VUE_APP_DOCHUB_ROOT_MANIFEST = workspace/sberauto/root.yaml # Варианты использования: # documentation/root.yaml - (F / FB) Относительная ссылка на файл расположенный в папке @/public/ # https://dochub.info/documentation/root.yaml - (F / FB) прямая ссылка на внешний http/https ресурс # gitlab:34:main@root.yaml - Прямая ссылка на на файл в GitLab репозитории. # (F) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # (FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # Структура ссылки: # gitlab - протокол GitLab # 34 - идентификатор репозитория # main - бранч # root.yaml - путь к файлу # # file://root.yaml - (FB) Прямая ссылка на файл в хранилище VUE_APP_DOCHUB_BACKEND_FILE_STORAGE. # Если VUE_APP_DOCHUB_BACKEND_FILE_STORAGE не задан, то ./public/* # bitbucket:myproject:myrepo:mybranch@dochub.yaml Прямая ссылка на на файл в BitBucket репозитории. # (F/FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # (F / FB) Идентификатор документа главной страницы (необязательно). По умолчанию dochub_welcome # VUE_APP_DOCHUB_ROOT_DOCUMENT=dochub_welcome # (F / FB) URL GitLab (необязательно) # VUE_APP_DOCHUB_GITLAB_URL=https://foo.space # с base url слеш на конце обязателен # VUE_APP_DOCHUB_GITLAB_URL=https://foo.space/baseurl/ # (F / FB) URL BitBucket (необязательно) # VUE_APP_DOCHUB_BITBUCKET_URL=https://foo.space # с base url слеш на конце обязателен # VUE_APP_DOCHUB_BITBUCKET_URL=https://foo.space/baseurl/ # (F / FB) Персональный токен gitlab/bitbucket. Используется для развертывания в backend режиме и для локальной разработки (npm run serve) # VUE_APP_DOCHUB_PERSONAL_TOKEN=9H...FR # (FB) Secret для доступа к перезагрузке данных архитектуры # VUE_APP_DOCHUB_RELOAD_SECRET=9H...FR # (F / FB) Сервер рендеринга PlantUML (По умолчанию www.plantuml.com/plantuml/svg/) # При сборке через docker-compose по умолчанию localhost:8079/svg/ # VUE_APP_PLANTUML_SERVER=localhost:8079/svg/ # (F / FB) Метод запроса к серверу рендеринга PlantUML (По умолчанию GET) # POST - в теле запрос в формате plantuml как есть # POST_COMPRESSED - аналогично GET сжат zopfli, но не перекодирован в base64 # VUE_APP_PLANTUML_REQUEST_TYPE= GET | POST | POST_COMPRESSED # (P) Если "plugin" сборка осуществляется для использования в IDEA плагине https://github.com/RabotaRu/DocHubIdeaPlugin # Для production сборки используйте npm run plugin. # Данный параметр удобен для разработки в режиме плагина, т.к. подключает моки $PAPI. # VUE_APP_DOCHUB_MODE=plugin # (PBF) Отключает "hot reload" в DEV режиме # VUE_APP_DOCHUB_HOTRELOAD=off # (BF) Если "backend" сборка осуществляется для работы с backend # Данный параметр удобен для разработки в режиме backend. # VUE_APP_DOCHUB_MODE=backend # (F/BF) Определяет тип кэширования при сборке webpack # memory - по умолчанию. Кэширование ведется в памяти. Оптимизирует только текущую сборку. # filesystem - Кэширование ведется в файловой системе. Оптимизирует текущую и последующие сборки. Радикальный эффект заметен на последующих сборках. # VUE_APP_DOCHUB_BUILDING_CACHE= memory / filesystem # (BF) Определяет принцип кэширования ответов к Data Lake через backend # none - не кэшируется (по умолчанию) # redis - для кеширования используется СУБД Redis (https://redis.io/). # Конфигурация подключения задается в переменной VUE_APP_DOCHUB_REDIS_URL # memory - кеширование в памяти. При перезагрузке буде очищаться. # # Иное значение рассматривается как относительный путь к папке кеширования. Папка должна существовать! # В этом случае результат запроса будет сохраняться в файле. При перезагрузке кэш будет сохраняться. # Для его очистки необходимо самостоятельно очистить папку с кэшем. # Пример пути: # VUE_APP_DOCHUB_DATALAKE_CACHE=cache/ # (F / FB) Если "y" подключает в описание документацию DocHub # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS= y / n # (F / FB) Содержит ссылку на базовую метамодель. По умолчанию - /metamodel/root.yaml # VUE_APP_DOCHUB_METAMODEL = /metamodel/root.yaml # (F / FB / P) (УСТАРЕЛО с версии 3.0.2) Определяет движок рендеринга (graphviz | smetana | elk). По умолчанию ELK # VUE_APP_DOCHUB_RENDER_CORE=ELK # С версии v3.0.2 конфигурирование осуществляется через параметры сущности "contexts" см. документацию # (F / FB) [КЭШ] Включить/отключить кэширование(NONE | HEAD | GET) - По умолчанию NONE # VUE_APP_DOCHUB_CACHE=NONE # (F / FB) [УРОВЕНЬ кэширования] (1 | 2) - По умолчанию 1 # 1 - [low level] кэш сетевых запросов(requests) # 2 - [high level] full кэш(уровень 1 + манифест) # VUE_APP_DOCHUB_CACHE_LEVEL=1 # (F) Анализатор запросов JSONata # Выводит информацию о выполняемых запросах в консоль/лог. # Если включен в режиме бекенда вместе с логированием в файл, то размер лога будет рости очень быстро! # VUE_APP_DOCHUB_JSONATA_ANALYZER= y / n # (FB) Режим backend # Если установлено, считается, что DocHub функционирует в режиме frontend + backend. # По умолчанию DocHub функционирует в режиме "толстый клиент" (F). Т.е. вся бизнес-логика реализуется в frontend. # VUE_APP_DOCHUB_BACKEND_URL= http://localhost:3030 # (FB) Порт для backend сервера. По умолчанию 3030. # VUE_APP_DOCHUB_BACKEND_PORT=3030 # (FB) Каталог, где размещаются файлы манифестов # По умолчанию @/public/ # ВНИМАНИЕ! Размещение файлов в @/public/ будет приводить к их прямой доступности из фронта по URL. # VUE_APP_DOCHUB_BACKEND_FILE_STORAGE=~/DocHub/storage # (FB) Количество попыток и таймаут между попытками при ошибке загрузки источника при импорте манифеста # По умолчанию 3 и 1000 мс, соответственно. # VUE_APP_DOCHUB_IMPORT_RETRY_COUNT=3 # VUE_APP_DOCHUB_IMPORT_RETRY_TIMEOUT=1000 # (F / FB) Источник кода SmartAnts # По умолчанию /src/assets/libs/smartants.js # VUE_APP_DOCHUB_SMART_ANTS_SOURCE=/src/hidden/smartants.js # (FB) Режим работы SmartAnts # front - в браузере пользователя как веб-воркер. Режим по-умолчанию. # thread - на бекенде как воркер-тред. # service - отдельным экземпляром ноды. # VUE_APP_DOCHUB_SMART_ANTS_MODE=thread # (B) Адрес хоста SmartAnts # Для работы SmartAnts в режиме service. По умолчанию http://127.0.0.1 # VUE_APP_DOCHUB_SMART_ANTS_ADDRESS=http://smartants.example.com # (B) Путь до эндпойнта SmartAnts # Для работы SmartAnts в режиме service. По умолчанию smartants/ # VUE_APP_DOCHUB_SMART_ANTS_PATH=smartants-service/ # (B) Порт SmartAnts # Для работы SmartAnts в режиме service. По умолчанию 3040. # VUE_APP_DOCHUB_SMART_ANTS_PORT=2050 # (B) Количество воркер-тредов SmartAnts # Для работы в режимах thread/service. По умолчанию: количество процессоров минус два, но не меньше одного. # VUE_APP_DOCHUB_SMART_ANTS_MAX_THREADS=22 # (B) Таймаут воркер-треда SmartAnts в мс # Для работы в режимах thread/service. По умолчанию 50000. # Если воркер не может отрисовать схему до истечения таймаута, его работа будет прекращена и сервер вернёт ошибку. # VUE_APP_DOCHUB_SMART_ANTS_WORKER_TIMEOUT=10000 # (B) Callback URL уведомления о наличии ошибок при загрузке манифестов # В случае наличия ошибок при загрузке манифестов URL будет вызван методом GET # VUE_APP_DOCHUB_BACKEND_EVENT_LOADING_ERRORS_FOUND=http://foo.local/error # (B) Интеграция с СУБД Redis (https://redis.io/) # Redis применяется для кэширования результатов запросов на стороне backend, а также для создания кластера DocHub. # Формат URL подключения: redis[s]://[[username][:password]@][host][:port][/db-number] # Пример: redis://alice:foobared@awesome.redis.server:6380 # По умолчанию значение - redis://localhost:6379 # VUE_APP_DOCHUB_REDIS_URL=redis://localhost:6379 # *********************************************************** # Пример конфигурирования ролевой модели # *********************************************************** # (B) Режим backend # Если "y", то включается режим работы с ролевой модель. # VUE_APP_DOCHUB_ROLES_MODEL= y / n # Указываем путь до манифеста с описанием ролей # Пример описания: # roles: # users: # - '^kadzo.v2023.data_objects*$' # - '^ecogroup.berezka.data_objects[a-zA-Z\._0-9]*$' # uek: # - '^kadzo\.v2023\.kb_systems[a-zA-Z\._0-9]*$' # - '^ecogroup.berezka.kb[a-zA-Z\._0-9]*$' # default: # - '^kadzo\.v2023\.data_objects*$' #VUE_APP_DOCHUB_ROLES=file:///workspace/sberauto/roles.yaml # Варианты использования: # documentation/roles.yaml - (F / FB) Относительная ссылка на файл расположенный в папке @/public/ # https://dochub.info/documentation/roles.yaml - (F / FB) прямая ссылка на внешний http/https ресурс # gitlab:34:main@roles.yaml - Прямая ссылка на на файл в GitLab репозитории. # (F) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # (FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # Структура ссылки: # gitlab - протокол GitLab # 34 - идентификатор репозитория # main - бранч # root.yaml - путь к файлу # # file://roles.yaml - (FB) Прямая ссылка на файл в хранилище VUE_APP_DOCHUB_BACKEND_FILE_STORAGE. # Если VUE_APP_DOCHUB_BACKEND_FILE_STORAGE не задан, то ./public/* # bitbucket:myproject:myrepo:mybranch@roles.yaml Прямая ссылка на на файл в BitBucket репозитории. # (F/FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # Указываем путь до сервера аутентификации с указанием realms #VUE_APP_DOCHUB_AUTHORITY_SERVER=https://auth.slsdev.ru/realms/dochub # Указываем client id, например: dochub #VUE_APP_DOCHUB_AUTHORITY_CLIENT_ID={CLIENTID} # {PUBLIC KEY} - указываем public key, смотрим настройки keycloack #VUE_APP_DOCHUB_AUTH_PUBLIC_KEY=-----BEGIN PUBLIC KEY-----{PUBLIC KEY}-----END PUBLIC KEY----- # (FB) Включение поддержки HTML тэгов в markdown документах # По умолчанию поддержка выключена (off). # VUE_APP_DOCHUB_MARKDOWN_HTML= on / off # (B) Включение логирования # По умолчанию off # VUE_APP_DOCHUB_LOGGER_ENABLE=on # (B) Путь к лог-файлу # Если не задан, логирование в файл вестись не будет # VUE_APP_DOCHUB_LOGGER_LOGFILE=src/hidden/log.log # (B) Путь к лог-файлу JSONata # Если не задан, логирование в файл вестись не будет # VUE_APP_DOCHUB_JSONATA_LOGFILE=src/hidden/jsonata.log # (B) Уровень логирования # Возможные уровни: # alert # error # warn # info - уровень по умолчанию # verbose # debug # VUE_APP_DOCHUB_LOGGER_LEVEL=debug # *********************************************************** # Примеры конфигурирования # *********************************************************** # (F)******** Портал с документацией DocHub ***************** # Развертывание в режиме frontend (толстый клиент) # содержимое файла .env - ПУСТО. # Команда сборки: # npm run build # Результат: # - В папке ./dist будет сгенерированы статические файлы, которые нужно подключить к WEB серверу # - Войдя на портал, пользователь увидит только документацию DocHub. # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # (F)******** Портал с собственной документацией ***************** # Развертывание в режиме frontend (толстый клиент) # содержимое файла .env: # VUE_APP_PLANTUML_SERVER=https://plantuml.local/svg/ # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # Команда сборки: # npm run build # Результат: # - В папке ./dist будет сгенерированы статические файлы, которые нужно подключить к WEB серверу # - Войдя на портал, пользователь увидит документацию DocHub # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием собственного сервера https://plantuml.local/svg/ (требуется развернуть). # (F)* Портал с собственной документацией и без документации DocHub ** # Развертывание в режиме frontend (толстый клиент) # содержимое файла .env: # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n # Команда сборки: # npm run build # Результат: # - В папке ./dist будет сгенерированы статические файлы, которые нужно подключить к WEB серверу # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # (F)* Портал с собственной документацией из GitLab без авторизации ** # Развертывание в режиме frontend (толстый клиент) # содержимое файла .env: # VUE_APP_DOCHUB_GITLAB_URL=https://gitlab.com/ # VUE_APP_DOCHUB_ROOT_MANIFEST=gitlab:43847396:master@root.yaml # VUE_APP_DOCHUB_PERSONAL_TOKEN=gl...4g # VUE_APP_PLANTUML_SERVER=https://plantuml.local/svg/ # Команда сборки: # npm run build # Результат: # - В папке ./dist будет сгенерированы статические файлы, которые нужно подключить к WEB серверу # - Войдя на портал, пользователь увидит документацию размещенную по в репозитории GitLab - gitlab:43847396:master@root.yaml # - Рендеринг PlantUML диаграмм будет осуществляться с использованием собственного сервера https://plantuml.local/svg/ (требуется развернуть). # (FB)******** Портал с документацией DocHub и backend ***************** # Развертывание в режиме frontend + backend (тонкий клиент) # содержимое файла .env - ПУСТО # Команда сборки: # npm run backend # Результат: # - Будет собран frontend проект в режиме backend # - Будет запущен nodejs сервер на порту 3030 (http://localhost:3030/), где будет поднят портал и backend сервер # - Войдя на портал, пользователь увидит только документацию DocHub. # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # (FB)* Портал с собственной документацией и backend, без документации DocHub** # Развертывание в режиме frontend + backend (тонкий клиент) # содержимое файла .env: # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n # Команда сборки: # npm run backend # Результат: # - Будет собран frontend проект в режиме backend # - Будет запущен nodejs сервер на порту 3030 (http://localhost:3030/), где будет поднят портал и backend сервер # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # (FB) Портал с собственной документацией и backend, без документации DocHub, с кешированием в Redis # Развертывание в режиме frontend + backend (тонкий клиент) + Redis # содержимое файла .env: # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n # VUE_APP_DOCHUB_DATALAKE_CACHE=redis # VUE_APP_DOCHUB_REDIS_URL=redis://alice:foobared@awesome.redis.server:6380 # Команда сборки: # npm run backend # Результат: # - Будет собран frontend проект в режиме backend # - Будет запущен nodejs сервер на порту 3030 (http://localhost:3030/), где будет поднят портал и backend сервер # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # - Результаты запросов будут кэшироваться в Redis, что увеличит производительность # (FB) Портал с собственной документацией в кластере, без документации DocHub, с кешированием в Redis # Развертывание в режиме frontend + backend (тонкий клиент) + Redis + Cluster # Для работы кластера необходимо самостоятельно развернуть балансировщик запросов. # Например на nginx - https://nginx.org/ru/docs/http/ngx_http_upstream_module.html # Недоступная нода определяется по коду ответа - 503. # # Конфигурация идентична для всех нод. Содержимое файла .env: ## Доступ к ресурсам с манифестами должен быть у всех нод кластера # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n # VUE_APP_DOCHUB_DATALAKE_CACHE=redis # VUE_APP_DOCHUB_REDIS_URL=redis://alice:foobared@awesome.redis.server:6380 # VUE_APP_DOCHUB_CLUSTER=on # VUE_APP_DOCHUB_BACKEND_PORT=3030 ## Вызов бэкенда должен происходить через балансировщик, который перенаправляет запросы на действующую ноду. # VUE_APP_DOCHUB_BACKEND_URL=http://node-balancer:3030 # Команда сборки: # npm run backend # Результат: # - Будет собран frontend проект в режиме backend # - Будет запущена нода кластера на порту 3030 (http://localhost:3030/), где будет поднят портал backend сервер # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # - Результаты запросов будут кэшироваться в Redis, что увеличит производительность # - Запросы к backend будут направляться на балансировщик, который перенаправит их на действующую ноду # - Ноды backend будут работать в кластере, что увеличит надежность # Больше информации о переменных среды выполнения # https://cli.vuejs.org/ru/guide/mode-and-env.html # (B) Добавляет API для мутации объекта манифеста # MANIFEST_MUTATION=y