Руководство по установке#

Портал позволяет автоматизировать процесс согласования проектов инженерных коммуникаций путём размещения материалов в Системе с указанием перечня согласующих организаций и последующего вынесения решения по ним.

Основные роли пользователей системы: «Администратор», «Проектировщик», «Согласующий», «Орган архитектуры».

Установка с помощью Ansible#

Сформируйте артефакты сборки с помощью утилиты PPB (см. PPB), указав в .json файле следующие параметры: Malachite.Service, включающий в себя сервис подписи, либо Malachite, без сервиса подписи. Сервис будет установлен как отдельное приложение.

При установке через Ansible укажите тэг install_malachite.

Для работы сервиса требуется:

  • Docker 20.10.5+;

  • Сервис подписи;

Предполагаемый расход дискового пространства порталом около 100 Гб за год. Установка сервиса производится с помощью Ansible. См. Обновление и установка Системы с использованием Ansible.

Предварительно необходимо установить средства поддержки Docker и Docker-compose. См. Установка и обновление средств поддержки Docker.

Настройка Ansible#

Укажите следующее переменные в vars.yml-файле. См. Редактирование vars.yml файла.

Переменные, которые являются обязательными к изменению#

Обязательная к изменению

Название переменной

Значение по умолчанию

Описание переменной

gvMALACHITE_INSTALL_DIR

/opt/Malachite

Директория, в которую будет установлен портал согласования ПИК (Malachite)

gvMALACHITE_NGINX_ENABLE

true

Необходимость в создании конфигурационного файла Nginx’а для портала взаимодействия с РСО (Malachite). Возможные значения: true или false

gvMALACHITE_PUBLIC_ORIGIN

https://malahite-{{ gvNGINX_FQDN }}

URL-адрес, по которому доступен портал взаимодействия с РСО (Malachite)

gvMALACHITE_EXTERNAL_PORT

10005

Порт, по которому доступен портал взаимодействия с РСО (Malachite)

gvMALACHITE_IP

10.10.10.10

IP адрес виртуальной машины на которой установлен портал взаимодействия с РСО (Malachite)

gvMALACHITE_POSTGRES_EXTERNAL_PORT

54322

Порт, по которому доступна БД портала взаимодействия с РСО (Malachite)

gvMALACHITE_POSTGRES_USER_LOGIN

postgres

Имя пользователя БД портала взаимодействия с РСО (Malachite)

gvMALACHITE_POSTGRES_USER_PASS

#Qwerty12345!

Пароль пользователя БД портала взаимодействия с РСО (Malachite)

gvMALACHITE_POSTGRES_DB_NAME

approval_portal

Имя БД портал взаимодействия с РСО (Malachite)

gvMALACHITE_WEBAPP_API_DB_CONNECTION_STRING

Server=pgsql;Port=5432;Database={{ gvMALACHITE_POSTGRES_DB_NAME }};User Id={{ gvMALACHITE_POSTGRES_USER_LOGIN }};Password={{ gvMALACHITE_POSTGRES_USER_PASS }};CommandTimeout=120;

Строка подключения к БД. Данная строка формируется автоматически на основе ранее указанных параметров (используется импорт переменных)

gvMALACHITE_SERVICE_API_DB_CONNECTION_STRING

Server=pgsql;Port=5432;Database={{ gvMALACHITE_POSTGRES_DB_NAME }};User Id={{ gvMALACHITE_POSTGRES_USER_LOGIN }};Password={{ gvMALACHITE_POSTGRES_USER_PASS }};CommandTimeout=120;

Строка подключения к БД. Данная строка формируется автоматически на основе ранее указанных параметров (используется импорт переменных)

gvMALACHITE_IDENTITY_DB_CONNECTION_STRING

Server=pgsql;Port=5432;Database={{ gvMALACHITE_POSTGRES_DB_NAME }};User Id={{ gvMALACHITE_POSTGRES_USER_LOGIN }};Password={{ gvMALACHITE_POSTGRES_USER_PASS }};CommandTimeout=120;

Строка подключения к БД. Данная строка формируется автоматически на основе ранее указанных параметров (используется импорт переменных)

gvMALACHITE_MINIO_EXTERNAL_PORT

9090

Порт, по которому доступно файловое хранилище (Minio) портала взаимодействия с РСО (Malachite)

gvMALACHITE_MINIO_USER_LOGIN

minio-root-user

Логин пользователя файлового хранилища (Minio)

gvMALACHITE_MUNIO_USER_PASS

minio-root-password

Пароль пользователя файлового хранилища (Minio)

gvMALACHITE_NGINX_SSL_CERT_FILE

{{ gvNGINX_SSL_CERTS_FILE_NAME }}

Имя файла SSL сертификата, который должен быть в хостовой системе, по пути /etc/ssl/certs. По умолчанию используется значение, указанное в переменной gvNGINX_SSL_CERTS_FILE_NAME

gvMALACHITE_NGINX_SSL_CERT_KEY_FILE

{{ gvNGINX_SSL_CERTS_PRIVATE_KEY_NAME }}

Имя файла приватоного ключа для SSL сертификата, который должен быть в хостовой системе, по пути /etc/ssl/private. По умолчанию используется значение, указанное в переменной gvNGINX_SSL_CERTS_FILE_NAME

gvMALACHITE_PORTAL_NAME

'Портал согласования \\\n проектов инженерных коммуникаций'

Наименование портала выводимое в интерфейсе и в документах формируемых порталом. Важно указать значение переменной в одинарных кавычках. Символ \\\n используется для переноса строки.

gvMALACHITE_LABEL_ORGANIZATION_IS_REGIONAL

Вся Ростовская область

Наименование поля для выбора территории действия в интерфейсе администратора и при создании проекта

gvALACHITE_GISOGD_INTEGRATION_PROJECT_ALIAS

yamal

Псевдоним проекта, с которым будет интегрироваться Malachite в Geometa

gvALACHITE_GISOGD_INTEGRATION_POLL_INTERVAL

600

Интервал опроса Geometa в секундах для получения регистрационных номеров документов, размещенных в ГИСОГД

gvALACHITE_JASPER_IP

10.4.1.227

IP сервера Jasper

gvALACHITE_JASPER_PUBLIC_ORIGIN_URL

{{ gvJASPER_API_PUBLIC_ORIGIN }}

URL Jasper

gvALACHITE_JASPER_CLIENT_ID

Malachite116

Клиент ID Jasper. Значение переменной необходимо искать в настройках клиента. См. Настройки модуля в Jasper API. Rk

gvALACHITE_JASPER_CLIENT_SECRET

Malachite116

Секрет клиента. Значение переменной необходимо искать в настройках клиента. См. Настройки модуля в Jasper API.

gvALACHITE_RABBITMQ_USER

rmuser

Логин Rabbit (сервиса очереди общения Geometa и Malachite)

gvALACHITE_RABBITMQ_PASSWORD

rmpassword

Пароль Rabbit

gvALACHITE_RABBIMQ_PUBLIC_WEB_PORT

Порт Rabbit

gvMALACHITE_DEPLOY_INPUT_FILES_PATH:

./directories

Путь относительной директории установки, где должны лежать два JSON-файла со справочниками систем координат и муниципальных образований, специфичных для заказчика

Настройки объектов в Geometa#

  1. Обновите метаданные на проекте с подключенной подсистемой ГИСОГД (См. Как скачать протокол).

  2. Выполните скрипт по заполнению справочника «Состояние объекта» (EngExistStatus) и «Тип напряжения ЛЭП, кВ» (EngTypeVoltageGISOGD). Скрипт располагается по пути Подсистемы.zip\Подсистемы\ГИСОГД\Для установки\Скрипты\Дополнение справочников (для Малахит)\1_dictionaries.sql.

  3. Подготовьте справочник систем координат проекта и справочника «Муниципальных образований». Для этого:

    3.1. Скопируйте на ПК содержимое папки …\SVN\GeoMeta\Requirements 4.0\1. Платформа Geometa\API\Схемы\XSD схемы для Малахит\Заполнение справочников.

    3.2. Заполните файл …\input\spatialReferencesMap.json системами координат, используемыми в регионе заказчика. Образец заполнения файла находится по пути …\samples\spatialReferencesMap.json.

    Пример заполнения файла spatialReferencesMap.json:

    {
    
        "1": {
            "Value": "МСК-61 зона 1",
            "Proj4": "+proj=tmerc +lat_0=0 +lon_0=37.98333333333 +k=1 +x_0=1300000 +y_0=-4811057.628 +ellps=krass +towgs84=23.57,-140.95,-79.8,0,0.35,0.79,-0.22 +units=m +no_defs"
        }
    }
    

    Где:

    "1" — номер системы координат для файла с муниципальными образованиями. Номер используется в таблице для связи с системой координат.

    "Value" — наименование системы координат.

    "Proj4" — описание системы координат в Proj4.

    Для получения описаний систем координат в формате Proj4 используйте ресурс Территория ГИС.

    3.3. Заполните файл …\input\sample.xlsx по образцу …\samples\sample.xlsx данными о муниципальных образованиях региона заказчика. В качестве источника данных используйте ресурс Общероссийский классификатор.

    ../../../_images/rso91.png

    1 — Порядковый номер муниципального образования;

    2 — Наименование городского округа или муниципального района первого уровня;

    3 — Наименование района города или поселения второго уровня;

    4 — ОКТМО;

    5 — Номер системы координат территорий заданый в файле .inputspatialReferencesMap.json соответсвующий муниципальному образования.

  4. Выполните командный файл builder.bat. После выполнения команды будут сформированы файлы …\output\MunicipalityPopulatorData.json и …\output\SpatialReferenceDirectoryPopulatorData.json.

  5. Заберите результаты: …\outputMunicipalityPopulatorData.json и …\output\SpatialReferenceDirectoryPopulatorData.json. Файлы необходимо использовать при развёртывании Malachite, предварительно разместив в директории, заданной переменной DEPLOY_INPUT_FILES_PATH из vars.yml, на сервере, где предполагается развёртывание.

Настройки модуля в Jasper API#

Чтобы настроить модуль в Jasper API, выполните следующие действия:

  1. Добавьте в Jasper API клиента для реализации интеграции с Malachite (См. Как добавить нового клиента, Как назначить права клиенту). Клиент Jasper должен имень такой же логин и пароль, что указан при установке Malachite.

  2. Добавьте в созданном клиенте в раздел просмотр:

  • EngWaterNetwork;

  • EngElectroNetwork;

  • EngGazNetwork;

  • EngWaterSNetwork;

  • EngTeploNetwork;

  • EngCommNetwork.

XSD схемы на доступ к объектам расположенны на ..\Портал согласования проектов с РСО\XSD схемы, коллекция запросов Postman\XSD схемы.

  1. Добавьте права на создание следующих объектов:

  • Сети водоотведения EngWaterNetwork;

  • Линии электропередач EngElectroNetwork;

  • Распределительные трубопроводы для транспортировки газа EngGazNetwork;

  • Сети водоснабжения EngWaterSNetwork;

  • Сети теплоснабжения EngTeploNetwork;

  • Сети электросвязи EngCommNetwork.