// kafka-connector options: START
[[camel-grpc-kafka-connector-sink]]
= camel-grpc-kafka-connector sink configuration

When using camel-grpc-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:

[source,xml]
----
<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-grpc-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>
----

To use this Sink connector in Kafka connect you'll need to set the following connector.class

[source,java]
----
connector.class=org.apache.camel.kafkaconnector.grpc.CamelGrpcSinkConnector
----


The camel-grpc sink connector supports 25 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Priority
| *camel.sink.path.host* | The gRPC server host name. This is localhost or 0.0.0.0 when being a consumer or remote server host name when using producer. | null | HIGH
| *camel.sink.path.port* | The gRPC local or remote server port | null | HIGH
| *camel.sink.path.service* | Fully qualified service name from the protocol buffer descriptor file (package dot service definition name) | null | HIGH
| *camel.sink.endpoint.flowControlWindow* | The HTTP/2 flow control window size (MiB) | 1048576 | MEDIUM
| *camel.sink.endpoint.maxMessageSize* | The maximum message size allowed to be received/sent (MiB) | 4194304 | MEDIUM
| *camel.sink.endpoint.lazyStartProducer* | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | MEDIUM
| *camel.sink.endpoint.method* | gRPC method name | null | MEDIUM
| *camel.sink.endpoint.producerStrategy* | The mode used to communicate with a remote gRPC server. In SIMPLE mode a single exchange is translated into a remote procedure call. In STREAMING mode all exchanges will be sent within the same request (input and output of the recipient gRPC service must be of type 'stream'). One of: [SIMPLE] [STREAMING] | "SIMPLE" | MEDIUM
| *camel.sink.endpoint.streamRepliesTo* | When using STREAMING client mode, it indicates the endpoint where responses should be forwarded. | null | MEDIUM
| *camel.sink.endpoint.userAgent* | The user agent header passed to the server | null | MEDIUM
| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
| *camel.sink.endpoint.authenticationType* | Authentication method type in advance to the SSL/TLS negotiation One of: [NONE] [GOOGLE] [JWT] | "NONE" | MEDIUM
| *camel.sink.endpoint.jwtAlgorithm* | JSON Web Token sign algorithm One of: [HMAC256] [HMAC384] [HMAC512] | "HMAC256" | MEDIUM
| *camel.sink.endpoint.jwtIssuer* | JSON Web Token issuer | null | MEDIUM
| *camel.sink.endpoint.jwtSecret* | JSON Web Token secret | null | MEDIUM
| *camel.sink.endpoint.jwtSubject* | JSON Web Token subject | null | MEDIUM
| *camel.sink.endpoint.keyCertChainResource* | The X.509 certificate chain file resource in PEM format link | null | MEDIUM
| *camel.sink.endpoint.keyPassword* | The PKCS#8 private key file password | null | MEDIUM
| *camel.sink.endpoint.keyResource* | The PKCS#8 private key file resource in PEM format link | null | MEDIUM
| *camel.sink.endpoint.negotiationType* | Identifies the security negotiation type used for HTTP/2 communication One of: [TLS] [PLAINTEXT_UPGRADE] [PLAINTEXT] | "PLAINTEXT" | MEDIUM
| *camel.sink.endpoint.serviceAccountResource* | Service Account key file in JSON format resource link supported by the Google Cloud SDK | null | MEDIUM
| *camel.sink.endpoint.trustCertCollectionResource* | The trusted certificates collection file resource in PEM format for verifying the remote endpoint's certificate | null | MEDIUM
| *camel.component.grpc.lazyStartProducer* | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | MEDIUM
| *camel.component.grpc.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
|===
// kafka-connector options: END
