How to: Monitoring an endpoint using gRPC
You can monitor gRPC services by prefixing `endpoints[].url` with `grpc://` or `grpcs://`.
Gatus executes the standard `grpc.health.v1.Health/Check` RPC against the target.

```yaml
endpoints:
  - name: my-grpc
    url: grpc://localhost:50051
    interval: 30s
    conditions:
      - "[CONNECTED] == true"
      - "[BODY].status == SERVING"  # BODY is read only when referenced
    client:
      timeout: 5s
```

For TLS-enabled servers, use `grpcs://` and configure client TLS if necessary:

```yaml
endpoints:
  - name: my-grpcs
    url: grpcs://example.com:443
    conditions:
      - "[CONNECTED] == true"
      - "[BODY].status == SERVING"
    client:
      timeout: 5s
      insecure: false          # set true to skip cert verification (not recommended)
      tls:
        certificate-file: /path/to/cert.pem      # optional mTLS client cert
        private-key-file: /path/to/key.pem       # optional mTLS client key
```

Notes:
- The health check targets the default service (`service: ""`). Support for a custom service name can be added later if needed.
- The response body is exposed as a minimal JSON object like `{"status":"SERVING"}` only when required by conditions or suite store mappings.
- Timeouts, custom DNS resolvers and SSH tunnels are honored via the existing [`client` configuration](#client-configuration).