Skip to content

Commit

Permalink
Merge pull request #549 from tmnvvv/test/demo-memory-fix-update
Browse files Browse the repository at this point in the history
Test/demo memory fix update
  • Loading branch information
rpiontik authored Jun 20, 2024
2 parents 63cf4c8 + 4639147 commit 6f6399b
Show file tree
Hide file tree
Showing 27 changed files with 743 additions and 135 deletions.
42 changes: 42 additions & 0 deletions example.env
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,48 @@
# По умолчанию кластер выключен (off).
# VUE_APP_DOCHUB_CLUSTER= on / off

# ***********************************************************
# Пример конфигурирования ролевой модели
# ***********************************************************
# (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 или VUE_APP_DOCHUB_GITLAB_URL + VUE_APP_DOCHUB_APP_ID
# (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
Expand Down
22 changes: 22 additions & 0 deletions oidc-settings.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import {Log, UserManager} from 'oidc-client-ts';

Log.setLogger(console);
Log.setLevel(Log.ERROR);

const url = window.location.origin;

export const settings = {
authority: process.env.VUE_APP_DOCHUB_AUTHORITY_SERVER,
client_id: process.env.VUE_APP_DOCHUB_AUTHORITY_CLIENT_ID,
redirect_uri: new URL('/login', url),
post_logout_redirect_uri: new URL('/logout', url),
response_type: 'code',
scope: 'openid',
response_mode: 'fragment',
automaticSilentRenew: true
};

export {
Log,
UserManager
};
56 changes: 56 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,12 @@
"core-js": "3.26.1",
"dateformat": "3.0.3",
"jsonata": "2.0.3",
"jsrsasign": "10.8.6",
"md5": "2.3.0",
"mermaid": "10.6.1",
"monaco-editor": "0.34.1",
"mustache": "4.2.0",
"oidc-client-ts": "2.4.0",
"semver": "7.5.4",
"stream": "0.0.2",
"swagger-ui": "3.52.5",
Expand Down
35 changes: 35 additions & 0 deletions public/documentation/docs/manual/entities/rules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Ролевая модель

Ролевая модель - позволяет разграничивать доступы к элементам архитектуры.
Управление ролями пользователей происходит на стороне keycloack.

Для включения работы с ролевой моделью требуется установить следующий флаг:
VUE_APP_DOCHUB_ROLES_MODEL=y

Описание ролей осуществляется в корневом файле roles.yaml
Пример описания правил доступа:
```
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

Если пользователь имеет несколько ролей, то наборы правил объединяются.

Для работы ролевой модели требуется дополнительно указать в файле .env несколько параметров:

```
Указываем путь до сервера аутентификации с указанием realms
VUE_APP_DOCHUB_AUTHORITY_SERVER=https://dochub-server.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-----
```
5 changes: 5 additions & 0 deletions public/documentation/docs/manual/root.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,11 @@ docs:
subjects:
- dochub.front
source: config/deployment.md
dochub.rules:
location: DocHub/Руководство/Ролевая модель
description: Ролевая модель
type: markdown
source: entities/rules.md
dochub.context.source:
type: plantuml
source: context_source.puml
Expand Down
Loading

0 comments on commit 6f6399b

Please sign in to comment.