Перейти к основному содержимому

Сервис лицензирования Платформы

Сервис лицензирования предназначен для хранения, обработки и выдачи информации о лицензиях Платформы.

Сервис реализован на языке Java (Liberica JDK версия 17.0.9-11 ) и представляет из себя контейнер Docker (версия не ниже 19.03.8), запуск которого осуществляется в соответствии с инструкцией по развёртыванию Платформы. В случае успешного запуска, сервис будет доступен по адресу: https://<hostname>/services/licenses_module.

Порядок настройки​

Настройка сервиса лицензирования Платформы включает в том числе и настройку данных о продукте.

Параметры настройки​

Основные параметры конфигурации сервиса, соответствующие им переменные окружения, задаваемые при запуске контейнера Docker-сервиса, и параметры конфигурации сервиса конфигурации Платформы приведены в таблице.

НаименованиеЗначение по умолчаниюПримечания
RABBITMQ_URIamqp://admin:admin@rabbitmq:5672Параметр осуществления аудита операций сервиса.
discovery:heartbeat.period10000Интервал между пингами discavery сервиса. Значение параметра указывается в миллисекундах.
licenses.module:namelicenses_moduleНаименование сервиса.
licenses.module:skills[ "licenses processing", "Product" ]Значение данного параметра представляет собой массив строк.
ConfigServer{ConfigServer}Базовый url платформы. (В случае, если платформа развёрнута без оркестраторов - путь до nginx)
identityConfiguration__identityServiceUrl{ConfigServer}/identityUrl функционала identity
spring.datasource.driver-class-name{Не задано}Настройки для подключения к базе данных
SPRING_DATASOURCE_URL{Не задано}Настройки для подключения к базе данных
SPRING_DATASOURCE_USERNAME{Не задано}Настройки для подключения к базе данных
SPRING_DATASOURCE_PASSWORD{Не задано}Настройки для подключения к базе данных
http:request:timeout10Величина интервала ожидания отклика по протоколу HTTP(S), выраженная в секундах.
logging:LogLevel:DefaultdebugУровень журналирования корневого журнала сервиса.
ApiConfiguration__ClientSecrets__0__ClientId{Не задано}Логин клиента identity.
ApiConfiguration__ClientSecrets__0__Secret{Не задано}Пароль клиента identity.
ApiConfiguration__ClientSecrets__1__ClientId{Не задано}Логин клиента identity.
ApiConfiguration__ClientSecrets__1__Secret{Не задано}Пароль клиента identity.
ApiConfiguration__ClientSecrets__2__ClientId{Не задано}Логин клиента identity.
ApiConfiguration__ClientSecrets__2__Secret{Не задано}Пароль клиента identity.
ApiConfiguration__ClientSecrets__3__ClientId{Не задано}Логин клиента identity.
ApiConfiguration__ClientSecrets__3__Secret{Не задано}Пароль клиента identity.
ApiConfiguration__ClientSecrets__4__ClientId{Не задано}Логин клиента identity.
ApiConfiguration__ClientSecrets__4__Secret{Не задано}Пароль клиента identity.
ApiConfiguration__ClientSecrets__5__ClientId{Не задано}Логин клиента identity.
ApiConfiguration__ClientSecrets__5__Secret{Не задано}Пароль клиента identity.
ProductName{Не задано}Наименование продукта
ProductVersion{Не задано}Версия продукта
PlatformVersion{Не задано}Версия платформы
DiscoveryNodeFileLocation/usr/src/nodeId.txtМестоположение файла с сохранённым nodeId Discovery сервиса
StandNameLocalStandНазвание стенда, на котором развёрнут сервис
Kafka__AuditProducerTopic{stand}-AuditТопик kafka для отправления сообщений аудита
audit.kafka.repeatslocalhost:9094Сервер kafka
TracesEnabledfalseФлаг, определяющий нужно ли отправлять трейсы
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT-Endpoint для отправки трейсов

Модели данных​

Модели данных сервиса лицензирования Платформы.

Параметры выборки поля данных лицензии​

Наименование поляТип поляОписание поля
productIDstring($uuid)идентификатор продукта
keystringключ поля данных лицензии

Данные о лицензии​

Наименование поляТип поляОписание поля
licensorIDstring($uuid)идентификатор лицензиара
licensorNamestringнаименование лицензиара
licenseeIDstring($uuid)идентификатор лицензиата
licenseeNamestringнаименование лицензиата
licenseIDstring($uuid)идентификатор лицензии
licenseDatestring($date-time)дата выдачи лицензии

Параметры поля данных лицензии​

Наименование поляТип поляОписание поля
keystringключ поля данных лицензии
valuestringзначение поля данных лицензии
typestringтип значения поля данных лицензии (допустимые значения ARRAY, BINARY, BOOLEAN, NULL, NUMBER, OBJECT, STRING)

Параметры добавления лицензии​

Наименование поляТип поляОписание поля
jwsstringлицензия
keystringключ проверки лицензии

Данные о продукте​

Наименование поляТип поляОписание поля
productIDstring($uuid)идентификатор продукта
namestringнаименование продукта

Идентификатор продукта​

Наименование поляТип поляОписание поля
idstring($uuid)идентификатор продукта

Управление лицензиями​

Управление лицензиями: добавление лицензии, выборка данных лицензии, удаление лицензии — осуществляется с помощью методов API.

Пример файла лицензии
Пример файла лицензии
{
"ProductInfo": {
"Id": "CA9419A4-8A7B-410B-9FAE-84A85E953630",
"Name": "Продукт v2.0"
},
"LicenseInfo": {
"Issuer": {
"Id": "4EDE00AA-C7BF-4724-8AE7-50AD49778677",
"Name": "Платформа"
},
"Customer": {
"Id": "7A14B3A3-2F1A-454B-B45C-D7D93DA67A64",
"Name": "ООО \"Разработка ПО\""
},
"License": {
"IssueDate": "2021-01-11T18:25:43+03:00",
"Id": "1EE7A378-56B3-4773-B470-5F379C17FDA3"
}
},
"LicenseData": [
{
"Key": "Value1",
"Value": 115
},

...

]
}