diff --git a/Home.md b/Home.md index 93a012c..4c6461f 100644 --- a/Home.md +++ b/Home.md @@ -1,21 +1,42 @@ -# Deploy the Project on CamelX Platform +# Kafka not secured with Apicurio Registry secured with Keycloak for JSON schema support Source -Deploy on CamelX Platform in three steps +Receive data from Kafka topics on an insecure broker combined with Apicurio Registry secured with Keycloak for JSON Schema support. -## Step 1: Create a release -From the project space, click on **"Create a release"** +## Metadata -The new version is automatically available in the list +| Property | Value | +|----------|-------| +| Type | source | +| Group | Kafka | +| Namespace | Kafka | +| Support Level | Preview | +| Provider | Apache Software Foundation | -## Step 2: Deploy -Click on **"Deploy"** +## Properties -- **Version:** Select the desired release -- **Environment:** Choose `Development`, `Staging`, or `Production` -- **Configuration:** Select the configuration source -- **Resources:** Set CPU and Memory +| Name | Type | Required | Default | Description | +|------|------|----------|---------|-------------| +| `topic` | string | ✓ | | Comma separated list of Kafka topic names | +| `bootstrapServers` | string | ✓ | | Comma separated list of Kafka Broker URLs | +| `autoCommitEnable` | boolean | | `true` | If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer | +| `allowManualCommit` | boolean | | `false` | Whether to allow doing manual commits | +| `pollOnError` | string | | `ERROR_HANDLER` | What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of DISCARD, ERROR_HANDLER, RECONNECT, RETRY, STOP | +| `autoOffsetReset` | string | | `latest` | What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none | +| `consumerGroup` | string | | | A string that uniquely identifies the group of consumers to which this source belongs | +| `deserializeHeaders` | boolean | | `true` | When enabled the Kamelet source will deserialize all message headers to String representation. | +| `valueDeserializer` | string | | `io.apicurio.registry.serde.jsonschema.JsonSchemaKafkaDeserializer` | Deserializer class for value that implements the Deserializer interface. | +| `apicurioRegistryUrl` | string | ✓ | | The Apicurio Schema Registry URL | +| `apicurioAuthServiceUrl` | string | ✓ | | The URL for Keycloak instance securing the Apicurio Registry | +| `apicurioAuthRealm` | string | ✓ | | The Realm in Keycloak instance securing the Apicurio Registry | +| `apicurioAuthClientId` | string | ✓ | | The Client ID in Keycloak instance securing the Apicurio Registry | +| `apicurioAuthClientSecret` | string | ✓ | | The Client Secret in Keycloak instance securing the Apicurio Registry | +| `apicurioAuthUsername` | string | ✓ | | The Username in Keycloak instance securing the Apicurio Registry | +| `apicurioAuthPassword` | string | ✓ | | The Password in Keycloak instance securing the Apicurio Registry | +| `topicIsPattern` | boolean | | `false` | Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. | -## Step 3: Expose -Enable **"Expose"** +## Dependencies -Choose an **API Gateway** (Internal, Public, etc.) +- `camel:kafka` +- `camel:core` +- `camel:kamelet` +- `mvn:io.apicurio:apicurio-registry-serdes-jsonschema-serde:2.5.11.Final`