Цифровой модуль управления государственными программами субъекта Российской Федерации

Руководство администратора
Перечень терминов и сокращений

Термин, сокращение

Определение

Git

Распределенная система управления версиями

PostgreSQL

Свободная объектно-реляционная система управления базами данных

Web-браузер

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

Web-приложение

Клиент-серверное приложение, в котором клиентом выступает web-браузер, а сервером – web-сервер

Win -приложение

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

Внешние информационные системы

Информационные системы поставщиков услуг

ВП

Ведомственный проект

ГИИС «Электронный бюджет», ЭБ

Государственная интегрированная информационная система управления общественными финансами «Электронный бюджет»

ГП

Государственная программа

Единый портал бюджетной системы

Составная часть Государственной интегрированной информационной системы управления общественными финансами «Электронный бюджет»

КПМ

Комплекс процессных мероприятий

Модуль

Цифровой модуль управления государственными программами субъекта Российской Федерации

ОС

Операционная система

ПО

Программное обеспечение

РП

Региональный проект

РСУБД

Реляционная система управления базами данных

РФ

Российская Федерация

СМЭВ

Система межведомственного электронного взаимодействия

СУБД

Система управления базами данных

СЭ

Структурный элемент государственной программы

ЭП

Электронная подпись

1            Введение
1.1           Область примененияМодуль предназначен для выполнения следующих задач:
-       организация электронного юридически значимого документооборота, предусматривающего взаимосвязь документов, созданных в ходе деятельности, осуществляемой в рамках реализации ГП, с иными документами государственного управления, в том числе с ГП/КПМ РФ;
-       создание технологических инструментов, направленных на автоматизацию процессов управления ГП, в том числе за счет внедрения единой методологии процессов управления ГП;
-       интеграция с Внешними информационными системами, включая подсистемы ЭБ, в том числе с использованием инфраструктуры, обеспечивающей информационно-технологическое взаимодействие информационных систем;
-       обеспечение безопасности обрабатываемой и передаваемой информации;
-       оптимизация процессов мониторинга и контроля исполнения ГП.
1.2           Краткое описание возможностейВ рамках Модуля реализованы следующие функциональные возможности:
-       формирование паспортов ГП/ РП/ КПМ;
-       формирование и ведение реестров ГП, СЭ ГП;
-       формирование отчетности по ГП и их СЭ;
-       формирование запросов на изменение паспорта ГП, паспортов СЭ ГП (РП, КПМ);
-       формирование справочников и администрирование ПО.
1.3           Уровень подготовки пользователяПользователи Модуля должны обладать навыками работы с операционной системой Microsoft Windows (или семейством операционных систем Linux), а также навыками работы с web-браузером (например, Google Chrome 13 и выше, Яндекс Браузер, Chromium-Gost).
Перед началом работы с Модулем пользователи, не обладающие такими навыками, должны пройти соответствующие курсы.
Администратор Модуля должен иметь опыт работы по установке, настройке и сопровождению следующих программных средств:
-       операционной системы CentOS, Astra Linux, Ubuntu и другие дистрибутивы Linux;
-       интернет-обозревателя Google Chrome 54, Яндекс Браузер, Chromium-Gost;
-       криптопровайдера КриптоПро ЭП;
-       контейнеризации: Docker;
-       управляемой РСУБД: PostgresSQL;
-       управляемой NoSQL СУБД: Redis;
-       управляемого брокера сообщений: Apache Kafka;
-       управляемого распределенного кэша: Redis;
-       управления версиями исходного кода: GitLab CE.
1.4           Перечень эксплуатационной документации, с которой необходимо ознакомитьсяДля работы с Модулем администратору необходимо ознакомиться с данным руководством.
1.5           Программные средстваПрограммные средства, требуемые для обеспечения работы Модуля:
а)       клиентское рабочее место:
-        ОС (операционная система) с наличием web–браузера (Google Chrome 13 и выше, Яндекс Браузер, Chromium-Gost);
-        криптопровайдер КриптоПро ЭП Browser plug-in версии 4.0.
б)      сервер:
-        ОС: CentOS, Astra Linux, Ubuntu и другие дистрибутивы Linux;
-        СУБД: PostgreSQL;
-        NoSQL СУБД: Redis;
-        файловое хранилище: S3;
-        криптопровайдер КриптоПро ЭП;
-        управление версиями исходного кода: Git.
2            Назначение и условия применения
2.1           Виды деятельности, функции
Основными целями Модуля являются:
-       обеспечение автоматизации процессов реализации и мониторинга ГП;
-       содействие достижению целей и показателей ГП за счет внедрения принятой на федеральном уровне единой методологии процессов управления ГП субъектов РФ, РП в структуре ГП;
-       формирование единого источника информации о ГП;
-       обеспечение оперативности и сбалансированности управленческих решений по результатам непрерывного мониторинга реализации ГП.
В Модуле реализованы следующие функции:
-       формирования и ведения реестров мероприятий (результатов) и показателей;
-       формирования паспортов ГП;
-       формирования ВП;
-       формирования РП;
-       формирования КПМ;
-       утверждения документов;
-       мониторинга паспортов ГП и их СЭ;
-       формирования отчетов ГП и их СЭ;
-       печати документов;
-       интеграции с ГИИС «Электронный бюджет»;
-       интеграции с Единым порталом бюджетной сметы.
2.2           Условия применения
2.2.1      Требования к программному обеспечению
2.2.1.1      Требования к обеспечению клиентских рабочих мест web-клиента
Требования к обеспечению клиентских рабочих мест web-клиента приведены в п. 1.5.
2.2.1.2      Требования к обеспечению сервера баз данных
Операционная система: любая, на которой работает СУБД PostgreSQL или Redis.
2.2.1.3      Требования к обеспечению сервера web-приложений
Требования к обеспечению сервера web-приложений представлены в таблице (Таблица 1).
Таблица 1 – Требования к обеспечению сервера web-приложений

Требование к количеству одновременно работающих пользователей

Операционная система

До 200 пользователей

рекомендуется: ОС на основе Linux

От 200 пользователей

рекомендуется: ОС на основе Linux

2.2.2      Требования к техническому обеспечению
Компьютеры на рабочих местах должны обеспечивать комфортную работу в web-браузере.
Для серверов устанавливаются следующие минимальные характеристики:
-       Процессор: не менее 4 ядер, тактовая частота не менее 2.5 ГГц
-       Оперативная память: не менее 8 ГБ
-       Жесткий диск: не менее 100 ГБ свободного места
-       Сетевой адаптер: 1 Гбит/с
Требования к ПО для клиентских машин, подключенных к серверам через web-интерфейс с использованием удаленного доступа, включают следующие минимальные характеристики:
-       процессор: не менее 2 ядер, тактовая частота не менее 1.8 ГГц;
-       оперативная память: не менее 4 ГБ;
-       жесткий диск: не менее 50 ГБ свободного места;
-       сетевой адаптер: 100 Мбит/с.
В случае использования дополнительных модулей или расширенных функций ПО, требования к техническому обеспечению могут быть увеличены.
2.2.2.1      Требования к обеспечению сервера баз данных
Требования к обеспечению сервера баз данных представлены в таблице (Таблица 2).
Таблица 2 – Аппаратное обеспечение

Требование к количеству одновременно работающих пользователей

Аппаратное обеспечение

До 200 пользователей

Процессор: не менее 4 ядер.

Оперативная память: не менее 8 ГБ.

Жесткий диск: не менее 100 ГБ свободного места

От 200 пользователей

Процессор: не менее 4 ядер.

Оперативная память: не менее 8 ГБ.

Жесткий диск: не менее 100 ГБ свободного места

Кластер из трех серверов


2.2.2.2      Требования к обеспечению сервера web-приложенийТребования к обеспечению сервера web-приложений представлены в таблицах (Таблица 3, Таблица 4).
Таблица 3 – Аппаратное обеспечение

Требование к количеству одновременно работающих пользователей

Аппаратное обеспечение

До 200 пользователей

Процессор: не менее 4 ядер.

Оперативная память: не менее 8 ГБ.

Жесткий диск: не менее 100 ГБ свободного места

От 200 пользователей

Процессор: не менее 4 ядер.

Оперативная память: не менее 8 ГБ.

Жесткий диск: не менее 100 ГБ свободного места

Кластер из трех серверов


Таблица 4 – Каналы связи

Требование к количеству пользователей, подключенных к каналу связи

Требование к каналу связи

До 200 пользователей

web-канал: 100Мбит/с

Канал связи с БД: 1Гбит/с

От 200 пользователей

web-канал: 100Мбит/с

Канал связи с БД: 1Гбит/с

Примечание – Подразумевается стабильный канал связи



3            Микросервисная архитектура Модуля
Микросервисная архитектура представлена на рисунке (Рисунок 1).
Рисунок 1 – Микросервисная архитектура Модуля
Сервис согласования управляет бизнес-процессами согласования документов, включая функциональность электронной подписи документов.
Сервис печати генерирует печатные формы в форматах .pdf, .docx и .xlsx.
Сервис идентификации обеспечивает безопасность и защиту персональных данных пользователей в сети. Может включать в себя различные функции, такие как управление пользователями и их правами, двухфакторную аутентификацию, мониторинг и регистрацию активности пользователей, а также другие механизмы обеспечения безопасности.
4            Подготовка к работе
4.1           Состав и содержание дистрибутивного носителя данных
Дистрибутивный носитель данных состоит из архива формата .zip. Развертывание Модуля представлено в п. 4.3.
4.2            Настройка LinuxДля настройки Linux необходимо выполнить следующую команду:
apt upgrade
В результате до последних версий будут обновлены пакеты ПО.
4.3            Установка Модуля
4.3.1               Установка программных средств
Для установки объектно-реляционной СУБД PostgreSQL версии 14.4 необходимо запустить следующую команду:
apt install postgresql-14
Для установки платформы .NET версии 7 необходимо запустить следующую команду:
apt install dotnet-sdk-7.0
Для установки платформы Node.js версии 18 необходимо осуществить ряд последовательных действий:
1       Осуществить обновление списка доступных пакетов и их версий командой «update»:
sudo apt-get update
2       Осуществить установку ПО, запустив следующую команду:
sudo apt-get install -y ca-certificates curl gnupg
3       Осуществить создание необходимых директорий с использованием команды «mkdir»:
sudo mkdir -p /etc/apt/keyrings
4       Осуществить установку подписи:
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
5       Добавить репозиторий согласно следующей команде:
NODE_MAJOR=18
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
6       Завершить установку Node.js согласно следующему описанию:
sudo apt-get update
sudo apt-get install nodejs -y
sudo curl --compressed -o- -L https://yarnpkg.com/install.sh | bash
4.3.2               Создание директорий и БД
После установки программных средств необходимо осуществить создание директорий для серверной и клиентской частей Программы согласно следующему описанию:
mkdir /opt/bars
mkdir /opt/bars/gp_box_backend
mkdir /opt/bars/gp_box_frontend
Далее необходимо создать БД, осуществив следующие команды:
sudo -u postgres psql --command="CREATE USER bars PASSWORD '123';"
sudo -u postgres psql --command="ALTER USER bars WITH SUPERUSER;"
sudo -u postgres psql --command="CREATE DATABASE gp_box OWNER bars;"
После создания БД требуется создать ее резервную копию – сохранить информацию в текстовом SQL-файле следующим образом:
psql -U bars -h localhost -d gp_box -f gp_box_dev.sql &> psql_restore-gp.log
psql -U bars -h localhost -d gp_box -c "ANALYZE;"
4.3.3               Установка серверной части
Для сборки серверной части необходимо перейти в требуемую рабочую директорию с указанием пути, используя команду «cd»:
cd /root/gp-box/gp_box_backend/
Далее необходимо осуществить развертывание приложения командой «dotnet publish» в указанном файле:
dotnet publish "src/GpBoxBackend.Web.Host/GpBoxBackend.Web.Host.csproj" -c Release -o /opt/bars/gp_box_backend/
После выполнения вышеописанных действий необходимо изменить файлы конфигурации в БД согласно следующим командам:
sed -i "s/Server=192.168.233.84/Server=localhost/g" /opt/bars/gp_box_backend/appsettings.json
sed -i "s/Database=gp_box_migration/Database=gp_box/g" /opt/bars/gp_box_backend/appsettings.json
Далее в systemd необходимо создать службу для запуска приложения следующим образом:
touch /etc/systemd/system/gp_box_backend.service
chmod 644 /etc/systemd/system/gp_box_backend.service
Созданный системным администратором текстовый файл (юнит) необходимо заполнить следующим образом:
[Unit]
Description=gp_box_backend
 
[Service]
Type=simple
WorkingDirectory=/opt/bars/gp_box_backend
ExecStart=/usr/bin/dotnet GpBoxBackend.Web.Host.dll automigrate
ExecStartPost=/bin/sleep 20
Restart=always
RestartSec=10
SyslogIdentifier=gp_box_backend
 
[Install]
WantedBy=multi-user.target
Далее необходимо загрузить внесенные изменения следующей командой:
systemctl daemon-reload
После выполнения вышеописанных действий необходимо включить сервис и осуществить его запуск с помощью следующих команд:
systemctl enable gp_box_backend
systemctl start gp_box_backend
Для получения статуса сервиса необходимо ввести команду «systemctl status»:
systemctl status gp_box_backend
Для проверки, открыт ли порт, необходимо выполнить следующую команду:
netstat -nlpt
4.3.4               Установка клиентской части
Для сборки клиентской части необходимо перейти в требуемую рабочую директорию с указанием пути, используя команду «cd»:
cd /root/gp-box/gp_box_frontend/
После чего выполнить следующие команды:
export APOLLO_SERVER_URL=http://localhost:5000/graphql
export REST_SERVER_URL=http://localhost:5000/
export VERSION=special
export NEXT_PUBLIC_APOLLO_SERVER_URL=$APOLLO_SERVER_URL
export NEXT_PUBLIC_NEW_YEAR_MODE=false
export NEXT_PUBLIC_23_FEBRUARY_MODE=false
export NEXT_PUBLIC_VICTORY_DAY_MODE=false
export NEXT_PUBLIC_WOMEN_DAY_MODE=false
export NEXT_PUBLIC_RUSSIA_DAY=false
export NODE_OPTIONS=--max_old_space_size=2048
export YARN_CACHE_FOLDER=$(pwd)/node_modules
 
yarn install --frozen-lockfile
yarn build
Далее необходимо осуществить копирование каталога с помощью команды «cp»:
cp -r ./ /opt/bars/gp_box_frontend
После чего в systemd необходимо создать службу для запуска приложения следующим образом:
touch /etc/systemd/system/gp_box_frontend.service
chmod 644 /etc/systemd/system/gp_box_frontend.service
Созданный системным администратором текстовый файл (юнит) etc/systemd/system/gp_box_frontend.service необходимо отредактировать следующим образом:
[Unit]
Description=gp_box_frontend
 
[Service]
Type=simple
WorkingDirectory=/opt/bars/gp_box_frontend
ExecStart=/root/.yarn/bin/yarn start
ExecStartPost=/bin/sleep 10
Restart=always
RestartSec=10
SyslogIdentifier=gp_box_frontend
Environment=NODE_ENV=production
Environment=NEXT_TELEMETRY_DISABLED=1
Environment=APOLLO_SERVER_URL=http://localhost:5000/graphql
Environment=REST_SERVER_URL=http://localhost:5000/
 
[Install]
WantedBy=multi-user.target
Далее необходимо загрузить внесенные изменения следующей командой:
systemctl daemon-reload
После выполнения вышеописанных действий необходимо включить сервис и осуществить его запуск с помощью следующих команд:
systemctl enable gp_box_frontend
systemctl start gp_box_frontend
Для получения статуса сервиса необходимо ввести команду «systemctl status»:
systemctl status gp_box_frontend
Для проверки, открыт ли порт, необходимо выполнить следующую команду:
netstat -nlpt
4.4           Порядок проверки работоспособности
Проверку работоспособности Модуля осуществляется в следующем порядке:
-       запустить web-браузер, в случае возникновения ошибки проверить интернет-соединение;
-       осуществить вход в Модуль, введя логин и пароль в соответствующие поля;
-       осуществить выход из Модуля, нажав кнопку «Выйти из аккаунта» в меню «Профиль».
5            Управление конфигурацией приложения
Начальные настройки Модуля приведены в конфигурационном файле appsettings.json, состоящим из следующих разделов:
-       строки подключения к базе данных, в которых указываются адрес сервера, порт, имя базы данных, логин и пароль:
-       IdentityServerConfigurationConnection;
-       IdentityServerPersistedGrantConnection;
-       Data.MasterConnectionString;
-       Data.ReadonlyConnectionString;
-       Identity.DatabaseOptions.ConnectionString.
-       DistributedCache – конфигурация распределенного кэша Redis;
-       UserModuleIntegrationSettings – интеграция с модулем управления пользователями;
-       S3FileStorageSettings – настройка хранилища S3;
-       SmevOptions – интеграция со СМЭВ;
-       DocFlowClientOptions – подключение к сервису согласования;
-       DocFlowConfiguration – настройки сервиса согласования;
-       ReportServiceConfiguration – настройки сервиса печати.
6            Описание операций
6.1            Запуск
МодуляДля запуска Модуля необходимо:
-       запустить интернет-обозреватель двойным нажатием левой кнопки мыши на его ярлыке на рабочем столе или нажать на кнопку «Пуск» и в открывшемся меню выбрать пункт, соответствующий используемому интернет-обозревателю;
-       в адресной строке интернет-обозревателя ввести необходимый адрес.
Откроется окно авторизации пользователя в системе регистрации пользователей.
Для перехода на главную страницу необходимо использовать персональные логин и пароль (Рисунок 2).
Рисунок 2 – Окно авторизации пользователя
При успешной авторизации откроется главная страница Модуля (Рисунок 3).
Рисунок 3 – Главная страница Модуля
Главная страница Модуля предоставляет возможность быстрого перехода к разделам и отображает статистику (см. Рисунок 3).

6.2            Порядок остановки
Для выхода из Модуля необходимо нажать на кнопку «стрелка вниз» в правом верхнем углу страницы (Рисунок 4).
Рисунок 4 – Кнопка «стрелка вниз»
Далее в открывшемся меню «Профиль» необходимо нажать на кнопку «Выйти из аккаунта» (Рисунок 5).
Рисунок 5 – Кнопка «Выйти из аккаунта»