ToolJet/docs/versioned_docs/version-2.18.0/data-sources/grpc.md
Shubhendra Singh Chauhan 9f2ff94a12
[docs] platform 5.x (#7427)
* whtie label revamp

* minor changes

* updated beta info in copilot docs

* renamed gds to ds in overview doc of v2.15 onwards

* updated multienv: renamed gds to ds, updated screenshot

* updated multienv: app state description

* updated superadmin wrt new licensing updates

* licensing update: free trial

* updates in licensing

* changes after review

* [docs]updated restapi with bearer auth

* Update kubernetes-aks.md

* Update openshift.md

* Update ecs.md

* Update ecs.md

* Update kubernetes-gke.md

* Update kubernetes.md

* Update docker.md

* Update docker.md

* Update ecs.md

* Update google-cloud-run.md

* Update kubernetes-aks.md

* Update kubernetes-gke.md

* Update kubernetes.md

* Update openshift.md

* Update kubernetes-gke.md

* Update kubernetes-aks.md

* fixed ecs, removed heroku from 2.15 onwards

* updated digitalocean doc

* licensing doc changes and location

* Update digitalocean.md

* Update digitalocean.md

* added v2.18.0

---------

Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
2023-09-27 12:24:39 +05:30

88 lines
No EOL
2.1 KiB
Markdown

---
id: grpc
title: gRPC
---
<div className='badge badge--primary heading-badge'>Self-hosted only</div>
:::caution
only self-hosted deployments will have access to a gRPC datasource that is capable of handling unary requests and responses.
:::
- [Setup](#setup)
- [Querying gRPC](#querying-grpc)
## Setup
### Step 1: Upgrade ToolJet to the version 2.5 or above
Find instructions on how to do this in the setup guides located here: https://docs.tooljet.com/docs/setup/.
### Step 2: Add proto files
At the root, create a directory named "**protos**" and add a "**service.proto**" file inside it.
### Step 3: Mount Volumes
In the `docker-compose.yml` add
```bash
./protos:/app/protos
```
to the 2 volume sections for **plugins** and **server**
<div style={{textAlign: 'center'}}>
<img className="screenshot-full" src="/img/datasource-reference/grpc/proto1.png" alt="gRPC: datasource" width='500' />
</div>
<div style={{textAlign: 'center'}}>
<img className="screenshot-full" src="/img/datasource-reference/grpc/proto2.png" alt="gRPC: datasource" width='500'/>
</div>
### Step 4: Reboot the instance
```bash
docker-compose up -d
```
## Querying gRPC
After setting up your proto files, you should be able to establish a connection to gRPC by going to the [global datasource](/docs/data-sources/overview) page.
### Connect the gRPC datasource
ToolJet requires the following to connect to gRPC servers:
- **Server URL**
- **Authentication type** (None, Basic, Bearer, and API key)
<div style={{textAlign: 'center'}}>
<img className="screenshot-full" src="/img/datasource-reference/grpc/connection.png" alt="gRPC: connection" />
</div>
Once you have added the gRPC from the global datasource page, you'll find it on the query panel of the application.
<div style={{textAlign: 'center'}}>
<img className="screenshot-full" src="/img/datasource-reference/grpc/grpcgds.png" alt="gRPC: connection" />
</div>
### Creating query
You can now query a particular RPC method of the added services.
<div style={{textAlign: 'center'}}>
<img className="screenshot-full" src="/img/datasource-reference/grpc/query.png" alt="gRPC: connection" />
</div>