Skip to content

Commit

Permalink
docs: label event sourcing as tech preview feature, clean up (#3673)
Browse files Browse the repository at this point in the history
  • Loading branch information
smccarthy-ie authored and EricWittmann committed Sep 19, 2023
1 parent dcf313f commit 5e48515
Showing 1 changed file with 28 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -1,27 +1,45 @@
[id="registry-cloud-events_{context}"]
= Configuring {registry} event sourcing

You can configure {registry} to send events when changes are made to the registry. For example, {registry} can trigger events when schema and API artifacts are created, updated, deleted, and so on. You can configure {registry} to send events to your applications and to third-party integrations in this way.
ifdef::apicurio-registry[]
IMPORTANT: This is a Technology Preview feature only, which might evolve in future releases. Before using this feature in production, make sure to test that your deployment works as expected. Review the Release Notes in future releases for updates on this feature.
endif::[]

There are different protocols available for transporting the events. The currently implemented protocols are HTTP and Apache Kafka. However, regardless of the protocol, the events are sent using the CNCF CloudEvents specification.
ifdef::service-registry[]
[IMPORTANT]
====
This is a Technology Preview feature only.
Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete.
Red Hat does not recommend using them in production.
All of the event types are defined in `io.apicurio.registry.events.dto.RegistryEventType`. For example, the event types include:
These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview.
====
endif::[]

You can configure {registry} to send events when changes are made to registry content. For example, {registry} can trigger events when schema or API artifacts, groups, or content rules are created, updated, deleted, and so on. You can configure {registry} to send events to your applications and to third-party integrations for these kind of changes.

There are different protocols available for transporting events. The currently implemented protocols are HTTP and Apache Kafka. However, regardless of the protocol, the events are sent by using the CNCF CloudEvents specification. You can configure {registry} event sourcing by using Java system properties or the equivalent environment variables.

[discrete]
== {registry} event types
All of the event types are defined in `io.apicurio.registry.events.dto.RegistryEventType`. For example, these include the following event types:

* `io.apicurio.registry.artifact-created`
* `io.apicurio.registry.artifact-updated`
* `io.apicurio.registry.artifact-state-changed`
* `io.apicurio.registry.artifact-rule-created`
* `io.apicurio.registry.global-rule-created`
* `io.apicurio.registry.group-created`

You can configure cloud events in {registry} using Java system properties or equivalent environment variables.

.Prerequisites

* You must have an application that you want to send {registry} cloud events to. For example, this can be a custom application or a third-party application.

[discrete]
== Configuring {registry} event sourcing using HTTP
== Configuring {registry} event sourcing by using HTTP

The example in this section shows a custom application running at `\http://my-app-host:8888/events`.
The example in this section shows a custom application running on `\http://my-app-host:8888/events`.

.Procedure

Expand All @@ -35,7 +53,7 @@ The example in this section shows a custom application running at `\http://my-ap


[discrete]
== Configuring {registry} event sourcing using Apache Kafka
== Configuring {registry} event sourcing by using Apache Kafka

The example in this section shows a Kafka topic named `my-registry-events` running on `my-kafka-host:9092`.

Expand All @@ -44,15 +62,15 @@ The example in this section shows a Kafka topic named `my-registry-events` runni
. When using the Kafka protocol, set your Kafka topic as follows:
** `registry.events.kafka.topic=my-registry-events`

. You can set the configuration for the Kafka producer using the `KAFKA_BOOTSTRAP_SERVERS` environment variable:
. You can set the configuration for the Kafka producer by using the `KAFKA_BOOTSTRAP_SERVERS` environment variable:
** `KAFKA_BOOTSTRAP_SERVERS=my-kafka-host:9092`
+
Alternatively, you can set the properties for the kafka producer using the `registry.events.kafka.config` prefix, for example:
Alternatively, you can set the properties for the kafka producer by using the `registry.events.kafka.config` prefix, for example:
`registry.events.kafka.config.bootstrap.servers=my-kafka-host:9092`

. If required, you can also set the Kafka topic partition to use to produce events:
** `registry.events.kafka.topic-partition=1`

[role="_additional-resources"]
.Additional resources
* For more details, see the link:https://cloudevents.io/[CNCF CloudEvents specification]
* For more details, see the link:https://cloudevents.io/[CNCF CloudEvents specification].

0 comments on commit 5e48515

Please sign in to comment.