ЭТО 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
- Использовать готовый образ
docker
docker pull v8platform/ras-grpc-gw:latest
docker 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:3002
CLI
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/GetClusters
or
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