Skip to content

Commit

Permalink
Merge pull request #435 from RabotaRu/v3.6.0
Browse files Browse the repository at this point in the history
v3.6.0
  • Loading branch information
rpiontik committed Nov 14, 2023
2 parents 37235d5 + be521d8 commit 5c11037
Show file tree
Hide file tree
Showing 19 changed files with 712 additions and 119 deletions.
2 changes: 2 additions & 0 deletions Dockerfile
Expand Up @@ -6,6 +6,7 @@ ARG NODE_VERSION=20
FROM node:${NODE_VERSION}-alpine AS deps
WORKDIR /var/www
COPY package.json package-lock.json ./
COPY plugins/*/package.json ./plugins/
# RUN --mount=type=cache,target=/root/.npm npm install
RUN npm install

Expand All @@ -15,6 +16,7 @@ FROM node:${NODE_VERSION}-alpine AS builder
WORKDIR /var/www
COPY --from=deps /var/www .
COPY . .
COPY --from=deps /var/www/plugins/*/node_modules ./plugins/*/node_modules/
ENV NODE_ENV=production
# RUN --mount=type=cache,target=./node_modules/.cache npm run build
RUN npm run build
Expand Down
85 changes: 82 additions & 3 deletions example.env
Expand Up @@ -73,8 +73,10 @@
# VUE_APP_DOCHUB_BUILDING_CACHE= memory / filesystem

# (BF) Определяет принцип кэширования ответов к Data Lake через backend
# none - не кэшируется (по умолчанию)
# memory - кеширование в памяти. При перезагрузке буде очищаться.
# none - не кэшируется (по умолчанию)
# redis - для кеширования используется СУБД Redis (https://redis.io/).
# Конфигурация подключения задается в переменной VUE_APP_DOCHUB_REDIS_URL
# memory - кеширование в памяти. При перезагрузке буде очищаться.
#
# Иное значение рассматривается как относительный путь к папке кеширования. Папка должна существовать!
# В этом случае результат запроса будет сохраняться в файле. При перезагрузке кэш будет сохраняться.
Expand Down Expand Up @@ -123,6 +125,21 @@
# 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) Кластер DocHub (beta)
# Обеспечивает высокую доступность сервиса. На производительность не влияет.
# Количество нод в кластере условно не ограничено. Для работы кластер требует Redis.
# По умолчанию кластер выключен (off).
# VUE_APP_DOCHUB_CLUSTER= on / off



# ***********************************************************
# Примеры конфигурирования
Expand All @@ -140,6 +157,8 @@
# - Войдя на портал, пользователь увидит только документацию DocHub.
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.



# (F)******** Портал с собственной документацией *****************

# Развертывание в режиме frontend (толстый клиент)
Expand All @@ -157,6 +176,7 @@
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием собственного сервера https://plantuml.local/svg/ (требуется развернуть).



# (F)* Портал с собственной документацией и без документации DocHub **

# Развертывание в режиме frontend (толстый клиент)
Expand All @@ -173,6 +193,7 @@
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.



# (F)* Портал с собственной документацией из GitLab без авторизации **

# Развертывание в режиме frontend (толстый клиент)
Expand All @@ -191,6 +212,7 @@
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием собственного сервера https://plantuml.local/svg/ (требуется развернуть).



# (F)* Портал с собственной документацией из GitLab с авторизацией **

# Развертывание в режиме frontend (толстый клиент)
Expand All @@ -210,6 +232,7 @@
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.



# (FB)******** Портал с документацией DocHub и backend *****************

# Развертывание в режиме frontend + backend (тонкий клиент)
Expand All @@ -224,7 +247,8 @@
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.


# (FB)* Портал с собственной документацией и backend и без документации DocHub**

# (FB)* Портал с собственной документацией и backend, без документации DocHub**

# Развертывание в режиме frontend + backend (тонкий клиент)
# содержимое файла .env:
Expand All @@ -242,5 +266,60 @@
# - Рендеринг 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

0 comments on commit 5c11037

Please sign in to comment.