ЭТО ALFA Версия. Проект в разработке и возможны ошибки в работе.
КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ использовать в промышленной эксплуатации
Использование приложения на свой страх и риск, по принципу AS IS. Разработчики не несут ответственности за возможный ущерб
RAS GRPC gateway (ras-grpc-gw) - прокси сервер для службы RAS 1С Предприятие
Предполагаемое использование, разворачивание рядом со службой RAS в виде docker-контейнера или отдельной службы
Особенности:
- Подключение к RAS только при первом запросе
- Если соединение было закрыто то делается
однапопытка переподключения, при этом все точки сбрасываются
- Сервис авторизации
AuthService- AuthenticateCluster - установка авторизации администратора на кластере
- AuthenticateInfobase - установка авторизации на кластере для информационной базы
- AuthenticateAgent - установка авторизации администратора на агенте
- Сервис кластера
ClustersService- GetClusters - получение списка кластеров
- GetClusterInfo - получение информации о кластере
- RegCluster - регистрация нового кластера
- UnregCluster - отмена регистрации на кластере
- Сервис информационных баз
InfobasesService- GetShortInfobases - получение списка информационных баз на кластере
- GetInfobaseSessions - получение списка сессий информационной базы
- Сервис сессий кластера
SessionsService- GetSessions - получение списка сессий кластера
- Установить из
releases - Использовать готовый образ
dockerdocker pull v8platform/ras-grpc-gw:latestdocker pull ghcr.io/v8platform/ras-grpc-gw:latest
Для работы с точками обмена используются заголовки (метаданные) сообщений
Если в заголовке (или метаданные) не передать в ключе endpoint_id тогда операция выполниться в новой точке,
И в ответном сообщении будет указан endpoint_id - новой открытой точки, для дальнейшей работы с этом отрытой точкой обмена
Для grpcurl указание происходить через флаг -H. Например, -H endpoint_id:1
Для других клиентов надо передавать заголовок (метаданные)
Запуск сервера для службы RAS локального кластера 1С по адресу localhost
ras-grpc-gw localhost:1545Запуск сервера для службы RAS кластера 1С по адресу ras
docker run -d --name ras-grpc-gw -p 3002:3002 v8platform/ras-grpc-gw ras:1545Для использования клиента необходим скомпилированные файлы proto
Уже собранный файл лежит ./protos/protoset.bin
``
Docker
# Download image
docker pull fullstorydev/grpcurl:latest
# Run the tool
docker run fullstorydev/grpcurl localhost:3002CLI
go get github.com/fullstorydev/grpcurl/...
go install github.com/fullstorydev/grpcurl/cmd/grpcurlПолучение списка кластеров
CLI
grpcurl -protoset ./protos/protoset.bin -plaintext -H endpoint_id:1 -d '{}' localhost:3002 ras.service.api.v1.ClustersService/GetClustersor
Docker
docker run -it -v $PWD/protos/protoset.bin:/protos/protoset.bin fullstorydev/grpcurl -protoset /protos/protoset.bin -plaintext -d '{}' localhost:3002 ras.service.api.v1.ClustersService/GetClustersУстановка авторизации на кластере
grpcurl -protoset ./protos/protoset.bin -plaintext -H endpoint_id:1 -d '{\"cluster_id\": \"e9261ed1-c9d0-40e5-8222-c7996493d507\"}' localhost:3002 ras.service.api.v1.AuthService/AuthenticateClusterПолучение списка сессий кластера
grpcurl -protoset ./protos/protoset.bin -plaintext -H endpoint_id:1 -d '{\"cluster_id\": \"e9261ed1-c9d0-40e5-8222-c7996493d507\"}' localhost:3002 ras.service.api.v1.SessionsService/GetSessionsПолучение списка информационных баз
grpcurl -protoset ./protos/protoset.bin -plaintext -H endpoint_id:1 -d '{\"cluster_id\": \"e9261ed1-c9d0-40e5-8222-c7996493d507\"}' localhost:3002 ras.service.api.v1.InfobasesService/GetShortInfobasesЛицензия LICENSE