> ## Documentation Index
> Fetch the complete documentation index at: https://docs.streamnative.io/llms.txt
> Use this file to discover all available pages before exploring further.

> JR Source Connector for Apache Kafka Connect. JR (jrnd.io) is a CLI program that helps you to stream quality random data for your applications.

# Kafka connect jr source

`kafka-connect-jr-source` is a Kafka Connect connector for generating mock data for testing and is not suitable for production scenarios. It is available in the StreamNative Cloud.

<Note title="✅ Available on StreamNative Cloud">
  This connector is available as a built-in connector on StreamNative Cloud.
</Note>

### Quick Start

1. Setup the kcctl client: [doc](https://docs.streamnative.io/docs/kafka-connect-setup)
2. Create a json file like below:
   ```json theme={null}
   {
       "name": "jr-quickstart",
       "config": {
           "connector.class": "io.jrnd.kafka.connect.connector.JRSourceConnector",
           "template": "net_device",
           "topic": "net_device",
           "frequency": 5000,
           "objects": 5,
           "tasks.max": 1
       }
   }
   ```
3. Run the following command to create the connector:
   ```
   kcctl apply -f <filename>.json
   ```

### Configuration

The JR Source Connector can be configured using the following properties:

| Parameter                             | Description                                                                                                                                                                                                                                                         | Default                                          |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `template`                            | A valid JR existing template name. Skipped when `embedded_template` is set.                                                                                                                                                                                         | net\_device                                      |
| `topic`                               | Destination topic on Kafka                                                                                                                                                                                                                                          |                                                  |
| `frequency`                           | Repeat the creation of a random object every 'frequency' milliseconds.                                                                                                                                                                                              | 5000                                             |
| `duration`                            | Set a time bound to the entire object creation. The duration is calculated starting from the first run and is expressed in milliseconds. At least one run will always been scheduled, regardless of the value for 'duration'. If not set creation will run forever. | -1                                               |
| `objects`                             | Number of objects to create at every run.                                                                                                                                                                                                                           | 1                                                |
| `key_field_name`                      | Name for key field, for example 'ID'. This is an *OPTIONAL* config, if not set, objects will be created without a key. Skipped when `key_embedded_template` is set. Value for key will be calculated using JR function `key`.                                       |                                                  |
| `key_value_interval_max`              | Maximum interval value for key value, for example 150 (0 to key\_value\_interval\_max). Skipped when `key_embedded_template` is set.                                                                                                                                | 100                                              |
| `value.converter`                     | One between `org.apache.kafka.connect.storage.StringConverter`, `io.confluent.connect.avro.AvroConverter`, `io.confluent.connect.json.JsonSchemaConverter` or `io.confluent.connect.protobuf.ProtobufConverter`                                                     | org.apache.kafka.connect.storage.StringConverter |
| `value.converter.schema.registry.url` | Only if `value.converter` is set to `io.confluent.connect.avro.AvroConverter`, `io.confluent.connect.json.JsonSchemaConverter` or `io.confluent.connect.protobuf.ProtobufConverter`. URL for Schema Registry.                                                       |                                                  |
| `key.converter`                       | One between `org.apache.kafka.connect.storage.StringConverter`, `io.confluent.connect.avro.AvroConverter`, `io.confluent.connect.json.JsonSchemaConverter` or `io.confluent.connect.protobuf.ProtobufConverter`                                                     | org.apache.kafka.connect.storage.StringConverter |
| `key.converter.schema.registry.url`   | Only if `key.converter` is set to `io.confluent.connect.avro.AvroConverter`, `io.confluent.connect.json.JsonSchemaConverter` or `io.confluent.connect.protobuf.ProtobufConverter`. URL for Schema Registry.                                                         |                                                  |

### Available templates on StreamNative Cloud

* csv\_product
* csv\_user
* finance\_stock\_trade
* fleet\_mgmt\_sensors
* fleetmgmt\_description
* fleetmgmt\_location
* fleetmgmt\_sensor
* gaming\_game
* gaming\_player
* gaming\_player\_activity
* insurance\_customer
* insurance\_customer\_activity
* insurance\_offer
* inventorymgmt\_inventory
* inventorymgmt\_product
* iot\_device\_information
* marketing\_campaign\_finance
* net\_device
* payment\_credit\_card
* payment\_transaction
* payroll\_bonus
* payroll\_employee
* payroll\_employee\_location
* pizzastore\_order
* pizzastore\_order\_cancelled
* pizzastore\_order\_completed
* pizzastore\_util
* shoestore\_clickstream
* shoestore\_customer
* shoestore\_order
* shoestore\_shoe
* shopping\_order
* shopping\_purchase
* shopping\_rating
* siem\_log
* store
* syslog\_log
* user
* user\_with\_key
* users
* users\_array\_map
* util\_ip
* util\_userid
* webanalytics\_clickstream
* webanalytics\_code
* webanalytics\_page\_view
* webanalytics\_user
