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

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

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

Сервис реализован на языке 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
},

...

]
}