From 4de191fcc6716051d014be2e010b0573ee3151eb Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Mon, 21 Jul 2025 16:55:47 -0400 Subject: [PATCH 01/11] update-debezium-mysql-server-example-data --- .../sources/debezium-mysql/sample-data.adoc | 44 ++++++++++++++----- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc b/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc index b2c7172..c542a82 100644 --- a/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc +++ b/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc @@ -1,16 +1,38 @@ [source,json] ---- -{ - "database.dbname": "somedb", - "database.hostname": "localhost", - "database.password": "gfgfgf", - "database.port": "3306", - "database.server.id": 123, - "database.server.name": "dbserver1", - "database.user": "debezium", - "database.whitelist": "inventory", - "json-with-envelope": "true", +"configs": { + "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", + "database.dbname": "cdc_test", + "database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory", + "database.history.name": "cdc_test_history", + "database.history.pulsar.service.url": "pulsar+ssl://pulsar-azure-westus2.streaming.datastax.com:6651", + "database.history.pulsar.token": "sensitive_data_removed", + "database.history.pulsar.topic": "dbz-stream672-history-topic", + "database.hostname": "kalash-server-stream672.database.windows.net", + "database.include.list": "cdc_test", + "database.names": "cdc_test", + "database.password": "sensitive_data_removed", + "database.port": 1433, + "database.server.name": "kalash-server-stream672", + "database.ssl": true, + "database.ssl.mode": "required", + "database.tcpKeepAlive": true, + "database.user": "debezium_user", + "decimal.handling.mode": "double", + "driver.encrypt": true, + "driver.trustServerCertificate": true, + "include.schema.changes": true, "key.converter": "org.apache.kafka.connect.json.JsonConverter", + "name": "dbz-stream672", + "pulsar.auth.token": "sensitive_data_removed", + "pulsar.service.url": "pulsar+ssl://pulsar-azure-westus2.streaming.datastax.com:6651", + "snapshot.mode": "always", + "table.include.list": "dbo.accounts", + "task.class": "io.debezium.connector.sqlserver.SqlServerConnectorTask", + "task.id": "0", + "topic.namespace": "kalash-stream672/default", + "topic.prefix": "kalash-server-stream672", + "typeClassName": "org.apache.pulsar.common.schema.KeyValue", "value.converter": "org.apache.kafka.connect.json.JsonConverter" -} + }, ---- \ No newline at end of file From 80d763083c70aa7595d409d3add8697630dc06db Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Mon, 21 Jul 2025 17:11:17 -0400 Subject: [PATCH 02/11] wrong-debezium --- .../sources/debezium-mysql/sample-data.adoc | 47 ++++++------------- .../debezium-sqlserver/sample-data.adoc | 47 +++++++++++++------ 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc b/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc index c542a82..9837e16 100644 --- a/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc +++ b/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc @@ -1,38 +1,19 @@ [source,json] ---- -"configs": { - "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", - "database.dbname": "cdc_test", - "database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory", - "database.history.name": "cdc_test_history", - "database.history.pulsar.service.url": "pulsar+ssl://pulsar-azure-westus2.streaming.datastax.com:6651", - "database.history.pulsar.token": "sensitive_data_removed", - "database.history.pulsar.topic": "dbz-stream672-history-topic", - "database.hostname": "kalash-server-stream672.database.windows.net", - "database.include.list": "cdc_test", - "database.names": "cdc_test", - "database.password": "sensitive_data_removed", - "database.port": 1433, - "database.server.name": "kalash-server-stream672", - "database.ssl": true, - "database.ssl.mode": "required", - "database.tcpKeepAlive": true, - "database.user": "debezium_user", - "decimal.handling.mode": "double", - "driver.encrypt": true, - "driver.trustServerCertificate": true, - "include.schema.changes": true, - "key.converter": "org.apache.kafka.connect.json.JsonConverter", - "name": "dbz-stream672", - "pulsar.auth.token": "sensitive_data_removed", - "pulsar.service.url": "pulsar+ssl://pulsar-azure-westus2.streaming.datastax.com:6651", - "snapshot.mode": "always", - "table.include.list": "dbo.accounts", +{ + "database.hostname": "localhost", + "database.port": "1433", + "database.user": "sa", + "database.password": "MyP@ssw0rd!", + "database.dbname": "MyTestDB", + "database.server.name": "mssql", + "snapshot.mode": "schema_only", + "topic.namespace": "'$TENANT'/'$NAMESPACE'", "task.class": "io.debezium.connector.sqlserver.SqlServerConnectorTask", - "task.id": "0", - "topic.namespace": "kalash-stream672/default", - "topic.prefix": "kalash-server-stream672", + "value.converter": "org.apache.kafka.connect.json.JsonConverter", + "key.converter": "org.apache.kafka.connect.json.JsonConverter", "typeClassName": "org.apache.pulsar.common.schema.KeyValue", - "value.converter": "org.apache.kafka.connect.json.JsonConverter" - }, + "database.tcpKeepAlive": "true", + "decimal.handling.mode": "double" +} ---- \ No newline at end of file diff --git a/modules/pulsar-io/examples/connectors/sources/debezium-sqlserver/sample-data.adoc b/modules/pulsar-io/examples/connectors/sources/debezium-sqlserver/sample-data.adoc index 9837e16..c542a82 100644 --- a/modules/pulsar-io/examples/connectors/sources/debezium-sqlserver/sample-data.adoc +++ b/modules/pulsar-io/examples/connectors/sources/debezium-sqlserver/sample-data.adoc @@ -1,19 +1,38 @@ [source,json] ---- -{ - "database.hostname": "localhost", - "database.port": "1433", - "database.user": "sa", - "database.password": "MyP@ssw0rd!", - "database.dbname": "MyTestDB", - "database.server.name": "mssql", - "snapshot.mode": "schema_only", - "topic.namespace": "'$TENANT'/'$NAMESPACE'", - "task.class": "io.debezium.connector.sqlserver.SqlServerConnectorTask", - "value.converter": "org.apache.kafka.connect.json.JsonConverter", +"configs": { + "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", + "database.dbname": "cdc_test", + "database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory", + "database.history.name": "cdc_test_history", + "database.history.pulsar.service.url": "pulsar+ssl://pulsar-azure-westus2.streaming.datastax.com:6651", + "database.history.pulsar.token": "sensitive_data_removed", + "database.history.pulsar.topic": "dbz-stream672-history-topic", + "database.hostname": "kalash-server-stream672.database.windows.net", + "database.include.list": "cdc_test", + "database.names": "cdc_test", + "database.password": "sensitive_data_removed", + "database.port": 1433, + "database.server.name": "kalash-server-stream672", + "database.ssl": true, + "database.ssl.mode": "required", + "database.tcpKeepAlive": true, + "database.user": "debezium_user", + "decimal.handling.mode": "double", + "driver.encrypt": true, + "driver.trustServerCertificate": true, + "include.schema.changes": true, "key.converter": "org.apache.kafka.connect.json.JsonConverter", + "name": "dbz-stream672", + "pulsar.auth.token": "sensitive_data_removed", + "pulsar.service.url": "pulsar+ssl://pulsar-azure-westus2.streaming.datastax.com:6651", + "snapshot.mode": "always", + "table.include.list": "dbo.accounts", + "task.class": "io.debezium.connector.sqlserver.SqlServerConnectorTask", + "task.id": "0", + "topic.namespace": "kalash-stream672/default", + "topic.prefix": "kalash-server-stream672", "typeClassName": "org.apache.pulsar.common.schema.KeyValue", - "database.tcpKeepAlive": "true", - "decimal.handling.mode": "double" -} + "value.converter": "org.apache.kafka.connect.json.JsonConverter" + }, ---- \ No newline at end of file From 62c0ccc2d5797c4f54786af6928916b77bc04483 Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 08:47:45 -0400 Subject: [PATCH 03/11] add-config-steps --- .../sources/debezium-sqlserver.adoc | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc index 30b12ff..78cc23e 100644 --- a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc +++ b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc @@ -12,6 +12,26 @@ https://debezium.io/releases/{debezium-version}/[Debezium documentation]. == Get Started +To create a Debezium SQL Server source connector, do the following. +Your deployment's values may differ. + +. Create an Azure SQL Server named `kalash-server-stream672` with a database `cdc_test`, containing the table `dbo.accounts`. +. Name your connector `dbz-stream672`. +. Create the required topics under the namespace `kalash-stream672/default`, following the correct Debezium naming conventions. + + * `-debezium-history-topic` + * `-debezium-offset-topic` + * `` + * `..` + +These topics must be created manually, as topic autocreation is not available. +Data should be consumed from the `events` topic. +The `topic.prefix` configuration value must match `database.server.name`. In this configuration, both are set to `kalash-server-stream672`. + +Ensure `task.id` is passed as a string (`"0"`), not an integer (0), otherwise the connector will throw a `NullPointerException`. + +For more on Debezium topic naming conventions, refer to the https://debezium.io/documentation/reference/stable/connectors/sqlserver.html#sqlserver-topic-names[Debezium documentation]. + include::partial$connectors/sources/get-started.adoc[] == Managing the Connector From 46a1bd4d1cad9ed7a23202b76be1256ef98eecc6 Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 08:47:53 -0400 Subject: [PATCH 04/11] bump-pulsar-version --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index 6eb3481..07823f3 100644 --- a/antora.yml +++ b/antora.yml @@ -18,7 +18,7 @@ asciidoc: pulsar: 'Apache Pulsar' pulsar-short: 'Pulsar' pulsar-reg: 'Apache Pulsar(TM)' - pulsar-version: '2.10' #DO NOT INCLUDE PATCH VERSION .. + pulsar-version: '3.1' #DO NOT INCLUDE PATCH VERSION .. debezium-version: '1.7' astra-streaming-examples-repo: 'https://raw.githubusercontent.com/datastax/astra-streaming-examples/master' kafka-for-astra: 'Starlight for Kafka' From 150c221741486affb9dbaff4a61eb58389b39329 Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 09:02:59 -0400 Subject: [PATCH 05/11] cleanup --- .../sources/debezium-sqlserver.adoc | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc index 78cc23e..fe28c07 100644 --- a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc +++ b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc @@ -15,20 +15,20 @@ https://debezium.io/releases/{debezium-version}/[Debezium documentation]. To create a Debezium SQL Server source connector, do the following. Your deployment's values may differ. -. Create an Azure SQL Server named `kalash-server-stream672` with a database `cdc_test`, containing the table `dbo.accounts`. -. Name your connector `dbz-stream672`. -. Create the required topics under the namespace `kalash-stream672/default`, following the correct Debezium naming conventions. +. Create an Azure SQL Server or compatible SQL Server instance with a database and table you want to capture changes from. +. Choose a connector name. +. For Debezium SQL Server source connectors, you must manually create the required topics in your Pulsar namespace, following Debezium's topic naming conventions: - * `-debezium-history-topic` - * `-debezium-offset-topic` - * `` - * `..` + * `CONNECTOR_NAME-debezium-history-topic` + * `CONNECTOR_NAME-debezium-offset-topic` + * `SERVER_NAME` + * `SERVER_NAME.DB_NAME.TABLE_NAME` These topics must be created manually, as topic autocreation is not available. -Data should be consumed from the `events` topic. -The `topic.prefix` configuration value must match `database.server.name`. In this configuration, both are set to `kalash-server-stream672`. - -Ensure `task.id` is passed as a string (`"0"`), not an integer (0), otherwise the connector will throw a `NullPointerException`. +. In the source connector configuration, set the `topic.prefix` configuration value to match `database.server.name`. +In the example configuration, both are set to `kalash-server-stream672`. +. In the source connector configuration, ensure `task.id` is passed as a string (`"0"`), not an integer (`0`), otherwise the connector will throw a `NullPointerException`. +. Set your consumers to subscribe to the `events`` topic in your Pulsar namespace to receive change data capture (CDC) events. This topic contains the change data capture (CDC) events emitted by Debezium for the configured tables. For more on Debezium topic naming conventions, refer to the https://debezium.io/documentation/reference/stable/connectors/sqlserver.html#sqlserver-topic-names[Debezium documentation]. From 7030e50fa4cdeaa59e2c31c532f9205a1db20152 Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 09:05:47 -0400 Subject: [PATCH 06/11] revert-mysql-config --- .../sources/debezium-mysql/sample-data.adoc | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc b/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc index 9837e16..471e2bd 100644 --- a/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc +++ b/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc @@ -1,19 +1,13 @@ -[source,json] ----- { + "database.dbname": "somedb", "database.hostname": "localhost", - "database.port": "1433", - "database.user": "sa", - "database.password": "MyP@ssw0rd!", - "database.dbname": "MyTestDB", - "database.server.name": "mssql", - "snapshot.mode": "schema_only", - "topic.namespace": "'$TENANT'/'$NAMESPACE'", - "task.class": "io.debezium.connector.sqlserver.SqlServerConnectorTask", - "value.converter": "org.apache.kafka.connect.json.JsonConverter", + "database.password": "gfgfgf", + "database.port": "3306", + "database.server.id": 123, + "database.server.name": "dbserver1", + "database.user": "debezium", + "database.whitelist": "inventory", + "json-with-envelope": "true", "key.converter": "org.apache.kafka.connect.json.JsonConverter", - "typeClassName": "org.apache.pulsar.common.schema.KeyValue", - "database.tcpKeepAlive": "true", - "decimal.handling.mode": "double" -} ----- \ No newline at end of file + "value.converter": "org.apache.kafka.connect.json.JsonConverter" +} \ No newline at end of file From 7a1113215b9a535c4469906c46cbe856d62d6014 Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 09:08:44 -0400 Subject: [PATCH 07/11] space --- .../pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc index fe28c07..c88a4c2 100644 --- a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc +++ b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc @@ -25,6 +25,7 @@ Your deployment's values may differ. * `SERVER_NAME.DB_NAME.TABLE_NAME` These topics must be created manually, as topic autocreation is not available. + . In the source connector configuration, set the `topic.prefix` configuration value to match `database.server.name`. In the example configuration, both are set to `kalash-server-stream672`. . In the source connector configuration, ensure `task.id` is passed as a string (`"0"`), not an integer (`0`), otherwise the connector will throw a `NullPointerException`. From b6826acd26c308fd112ce57a6e4ff15feea97a6d Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 09:19:13 -0400 Subject: [PATCH 08/11] passthru --- .../pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc index c88a4c2..9b4e8f7 100644 --- a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc +++ b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc @@ -25,7 +25,7 @@ Your deployment's values may differ. * `SERVER_NAME.DB_NAME.TABLE_NAME` These topics must be created manually, as topic autocreation is not available. - ++ . In the source connector configuration, set the `topic.prefix` configuration value to match `database.server.name`. In the example configuration, both are set to `kalash-server-stream672`. . In the source connector configuration, ensure `task.id` is passed as a string (`"0"`), not an integer (`0`), otherwise the connector will throw a `NullPointerException`. From 9118fd054904e16a531a3266d7296efcce2f8c6f Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 09:47:50 -0400 Subject: [PATCH 09/11] remove-passthru --- .../pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc index 9b4e8f7..c88a4c2 100644 --- a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc +++ b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc @@ -25,7 +25,7 @@ Your deployment's values may differ. * `SERVER_NAME.DB_NAME.TABLE_NAME` These topics must be created manually, as topic autocreation is not available. -+ + . In the source connector configuration, set the `topic.prefix` configuration value to match `database.server.name`. In the example configuration, both are set to `kalash-server-stream672`. . In the source connector configuration, ensure `task.id` is passed as a string (`"0"`), not an integer (`0`), otherwise the connector will throw a `NullPointerException`. From 9162d106e30e60979aa2d7e2ffcfa8027d16c24d Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 09:56:09 -0400 Subject: [PATCH 10/11] config-block --- .../connectors/sources/debezium-mysql/sample-data.adoc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc b/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc index 471e2bd..b2c7172 100644 --- a/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc +++ b/modules/pulsar-io/examples/connectors/sources/debezium-mysql/sample-data.adoc @@ -1,3 +1,5 @@ +[source,json] +---- { "database.dbname": "somedb", "database.hostname": "localhost", @@ -10,4 +12,5 @@ "json-with-envelope": "true", "key.converter": "org.apache.kafka.connect.json.JsonConverter", "value.converter": "org.apache.kafka.connect.json.JsonConverter" -} \ No newline at end of file +} +---- \ No newline at end of file From f3f10c4971e64c4c83a76b413e399601ae84ff91 Mon Sep 17 00:00:00 2001 From: Mendon Kissling <59585235+mendonk@users.noreply.github.com> Date: Tue, 22 Jul 2025 14:27:13 -0400 Subject: [PATCH 11/11] Apply suggestions from code review Co-authored-by: brian-f --- .../sources/debezium-sqlserver.adoc | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc index c88a4c2..81e307a 100644 --- a/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc +++ b/modules/pulsar-io/pages/connectors/sources/debezium-sqlserver.adoc @@ -19,19 +19,24 @@ Your deployment's values may differ. . Choose a connector name. . For Debezium SQL Server source connectors, you must manually create the required topics in your Pulsar namespace, following Debezium's topic naming conventions: - * `CONNECTOR_NAME-debezium-history-topic` - * `CONNECTOR_NAME-debezium-offset-topic` - * `SERVER_NAME` - * `SERVER_NAME.DB_NAME.TABLE_NAME` + * `**CONNECTOR_NAME**-debezium-history-topic` + * `**CONNECTOR_NAME**-debezium-offset-topic` + * `**SERVER_NAME**` + * `**SERVER_NAME**.**DB_NAME**.**TABLE_NAME**` -These topics must be created manually, as topic autocreation is not available. + +You must create these topics manually. +Autocreation is not available. . In the source connector configuration, set the `topic.prefix` configuration value to match `database.server.name`. In the example configuration, both are set to `kalash-server-stream672`. -. In the source connector configuration, ensure `task.id` is passed as a string (`"0"`), not an integer (`0`), otherwise the connector will throw a `NullPointerException`. -. Set your consumers to subscribe to the `events`` topic in your Pulsar namespace to receive change data capture (CDC) events. This topic contains the change data capture (CDC) events emitted by Debezium for the configured tables. +. In the source connector configuration, ensure `task.id` is passed as a string (`"0"`), not an integer (`0`); otherwise, the connector will throw a `NullPointerException`. + +. Set your consumers to subscribe to the `events` topic in your Pulsar namespace to receive change data capture (CDC) events. +This topic contains the change data capture (CDC) events emitted by Debezium for the configured tables. + +For more on Debezium topic naming conventions, see the https://debezium.io/documentation/reference/stable/connectors/sqlserver.html#sqlserver-topic-names[Debezium documentation]. -For more on Debezium topic naming conventions, refer to the https://debezium.io/documentation/reference/stable/connectors/sqlserver.html#sqlserver-topic-names[Debezium documentation]. include::partial$connectors/sources/get-started.adoc[]