Skip to content

Commit c3e2c14

Browse files
micheleRPJakeSCahillkbatuigas
authored
DOC-1160 single source SM for Cloud cluster config (#1041)
Co-authored-by: Jake Cahill <[email protected]> Co-authored-by: Kat Batuigas <[email protected]> Co-authored-by: JakeSCahill <[email protected]>
1 parent 4b53a4a commit c3e2c14

34 files changed

+538
-133
lines changed

modules/ROOT/nav.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@
180180
*** xref:manage:topic-recovery.adoc[Topic Recovery]
181181
*** xref:manage:whole-cluster-restore.adoc[Whole Cluster Restore]
182182
** xref:manage:iceberg/index.adoc[Iceberg]
183-
*** xref:manage:iceberg/topic-iceberg-integration.adoc[About Iceberg Topics]
183+
*** xref:manage:iceberg/about-iceberg-topics.adoc[About Iceberg Topics]
184184
*** xref:manage:iceberg/use-iceberg-catalogs.adoc[Use Iceberg Catalogs]
185185
*** xref:manage:iceberg/query-iceberg-topics.adoc[Query Iceberg Topics]
186186
*** xref:manage:iceberg/redpanda-topics-iceberg-snowflake-catalog.adoc[Query Iceberg Topics with Snowflake]
Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,46 @@
1-
= Manage Data Transforms in Redpanda Console
2-
:description: You can use Redpanda Console to monitor the status and performance metrics of your transform functions. You can also view detailed logs and delete transform functions when they are no longer needed.
1+
= Manage Data Transforms in {ui}
2+
:description: Use {ui} to monitor the status and performance metrics of your transform functions. You can also view detailed logs and delete transform functions when they are no longer needed.
3+
// tag::single-source[]
34

45
{description}
56

67
== Prerequisites
78

89
Before you begin, ensure that you have the following:
910

11+
ifndef::env-cloud[]
1012
- Redpanda Console must be xref:console:config/connect-to-redpanda.adoc[connected to a Redpanda cluster].
1113
- Redpanda Console must be xref:console:config/connect-to-redpanda.adoc#admin[configured to connect to the Redpanda Admin API].
14+
endif::[]
1215
- xref:develop:data-transforms/configure.adoc#enable-transforms[Data transforms enabled] in your Redpanda cluster.
1316
- At least one transform function deployed to your Redpanda cluster.
1417

1518
[[monitor]]
1619
== Monitor transform functions
1720

18-
To monitor transform functions in Redpanda Console:
21+
To monitor transform functions:
1922

2023
. Navigate to the *Transforms* menu.
21-
. Click on the name of a transform function to view detailed information:
24+
. Click the name of a transform function to view detailed information:
2225
- The partitions that the function is running on
2326
- The broker (node) ID
2427
- Any lag (the amount of pending records on the input topic that have yet to be processed by the transform)
2528

2629
[[logs]]
2730
== View logs
2831

29-
To view logs for a transform function in Redpanda Console:
32+
To view logs for a transform function:
3033

3134
. Navigate to the *Transforms* menu.
3235
. Click on the name of a transform function.
3336
. Click the *Logs* tab to see the logs.
3437

35-
Redpanda Console displays a limited number of logs for transform functions. To view the full history of logs, use the xref:develop:data-transforms/monitor.adoc#logs[`rpk` command-line tool].
38+
{ui} displays a limited number of logs for transform functions. To view the full history of logs, use the xref:develop:data-transforms/monitor.adoc#logs[`rpk` command-line tool].
3639

3740
[[delete]]
3841
== Delete transform functions
3942

40-
To delete a transform function in Redpanda Console:
43+
To delete a transform function:
4144

4245
1. Navigate to the *Transforms* menu.
4346
2. Find the transform function you want to delete from the list.
@@ -50,4 +53,6 @@ Deleting a transform function will remove it from the cluster and stop any furth
5053

5154
- xref:develop:data-transforms/how-transforms-work.adoc[]
5255
- xref:develop:data-transforms/deploy.adoc[]
53-
- xref:develop:data-transforms/monitor.adoc[]
56+
- xref:develop:data-transforms/monitor.adoc[]
57+
58+
// end::single-source[]

modules/console/pages/ui/edit-topic-configuration.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
= Edit Topic Configuration in the {ui}
1+
= Edit Topic Configuration in {ui}
22
:page-aliases: manage:console/edit-topic-configuration.adoc
3-
// tag::single-source[]
43
:description: Use {ui} to edit the configuration of existing topics in a cluster.
4+
// tag::single-source[]
55

66
{description}
77

modules/console/pages/ui/programmable-push-filters.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
= Filter Messages with JavaScript in {ui}
22
:page-aliases: console:features/programmable-push-filters.adoc, reference:console/programmable-push-filters.adoc
33
// Do not put page aliases in the single-sourced content
4-
// tag::single-source[]
54
:description: Learn how to filter Kafka records using custom JavaScript code within {ui}.
5+
// tag::single-source[]
66

77
You can use push-down filters in {ui} to search through large Kafka topics that may contain millions of records. Filters are JavaScript functions executed on the backend, evaluating each record individually. Your function must return a boolean:
88

modules/console/pages/ui/record-deserialization.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
= View Deserialized Messages in {ui}
22
:page-aliases: console:features/record-deserialization.adoc, manage:console/protobuf.adoc, reference:console/record-deserialization.adoc
3-
// tag::single-source[]
43
:description: Learn how {ui} deserializes messages.
4+
// tag::single-source[]
55

66
In Redpanda, the messages exchanged between producers and consumers contain raw bytes. Schemas work as an agreed-upon format, like a contract, for producers and consumers to serialize and deserialize those messages. If a producer breaks this contract, consumers can fail.
77

modules/console/pages/ui/schema-reg.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
= Use Schema Registry in {ui}
22
:page-aliases: manage:schema-reg/schema-reg-ui.adoc
33
:page-categories: Management, Schema Registry
4-
// tag::single-source[]
54
:description: Perform common Schema Registry management operations in the {ui}.
5+
// tag::single-source[]
66

77
In {ui}, the *Schema Registry* menu lists registered and verified schemas, including their serialization format and versions. Select an individual schema to see which topics it applies to.
88

99
[NOTE]
1010
====
11-
The Schema Registry is built into Redpanda, and you can use it with the Schema Registry API or with {ui}. This section describes Schema Registry operations available in {ui}.
11+
The Schema Registry is built into Redpanda, and you can use it with the Schema Registry API or with the UI. This section describes Schema Registry operations available in the UI.
1212
====
1313

1414
ifndef::env-cloud[]

modules/develop/pages/data-transforms/build.adoc

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
= Develop Data Transforms
22
:description: Learn how to initialize a data transforms project and write transform functions in your chosen language.
33
:page-categories: Development, Stream Processing, Data Transforms
4+
// tag::single-source[]
45

56
{description}
67

78
== Prerequisites
89

910
You must have the following development tools installed on your host machine:
1011

12+
ifdef::env-cloud[]
13+
* The xref:manage:rpk/rpk-install.adoc[`rpk` command-line client] installed.
14+
endif::[]
15+
ifndef::env-cloud[]
1116
* The xref:get-started:rpk-install.adoc[`rpk` command-line client] installed on your host machine and configured to connect to your Redpanda cluster.
17+
endif::[]
1218
* For Golang projects, you must have at least version 1.20 of https://go.dev/doc/install[Go^].
1319
* For Rust projects, you must have the latest stable version of https://rustup.rs/[Rust^].
1420
* For JavaScript and TypeScript projects, you must have the https://nodejs.org/en/download/package-manager[latest long-term-support release of Node.js^].
@@ -46,9 +52,7 @@ For example, if you choose `tinygo-no-goroutines`, the following project files a
4652
The `transform.go` file contains a boilerplate transform function.
4753
The `transform.yaml` file specifies the configuration settings for the transform function.
4854

49-
See also:
50-
51-
- xref:develop:data-transforms/configure.adoc[]
55+
See also: xref:develop:data-transforms/configure.adoc[]
5256

5357
== Build transform functions
5458

@@ -284,7 +288,7 @@ See also:
284288
- xref:develop:data-transforms/monitor#logs[View logs for transform functions]
285289
- xref:develop:data-transforms/monitor.adoc[Monitor data transforms]
286290
- xref:develop:data-transforms/configure.adoc#log[Configure transform logging]
287-
- xref:reference:rpk/rpk-transform/rpk-transform-logs.adoc[]
291+
- xref:reference:rpk/rpk-transform/rpk-transform-logs.adoc[`rpk transform logs` reference]
288292

289293
=== Avoid state management
290294

@@ -458,3 +462,5 @@ xref:develop:data-transforms/configure.adoc[]
458462
- xref:develop:data-transforms/how-transforms-work.adoc[]
459463
- xref:reference:data-transforms/sdks.adoc[]
460464
- xref:reference:rpk/rpk-transform/rpk-transform.adoc[`rpk transform` commands]
465+
466+
// end::single-source[]

modules/develop/pages/data-transforms/configure.adoc

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
= Configure Data Transforms
22
:description: pass:q[Learn how to configure data transforms in Redpanda, including editing the `transform.yaml` file, environment variables, and memory settings. This topic covers both the configuration of transform functions and the WebAssembly (Wasm) engine's environment.]
33
:page-categories: Development, Stream Processing, Data Transforms
4+
// tag::single-source[]
45

56
{description}
67

@@ -41,7 +42,7 @@ env:
4142

4243
You can set the name of the transform function, environment variables, and input and output topics on the command-line when you deploy the transform. These command-line settings take precedence over those specified in the `transform.yaml` file.
4344

44-
See xref:develop:data-transforms/deploy.adoc[].
45+
See xref:develop:data-transforms/deploy.adoc[]
4546

4647
[[built-in]]
4748
=== Built-In environment variables
@@ -62,19 +63,20 @@ This section covers how to configure the Wasm engine environment using Redpanda
6263

6364
To use data transforms, you must enable it for a Redpanda cluster using the xref:reference:properties/cluster-properties.adoc#data_transforms_enabled[`data_transforms_enabled`] property.
6465

65-
[[resources]]
66+
ifndef::env-cloud[]
6667
=== Configure memory resources for data transforms
6768

6869
Redpanda reserves memory for each transform function within the broker. You need enough memory for your input record and output record to be in memory at the same time.
6970

70-
Set the following properties based on the number of functions you have and the amount of memory you anticipate needing.
71+
Set the following based on the number of functions you have and the amount of memory you anticipate needing.
7172

7273
- xref:reference:properties/cluster-properties.adoc#data_transforms_per_core_memory_reservation[`data_transforms_per_core_memory_reservation`]: Increase this setting if you plan to deploy a large number of data transforms or if your transforms are memory-intensive. Reducing it may limit the number of concurrent transforms.
73-
7474
- xref:reference:properties/cluster-properties.adoc#data_transforms_per_function_memory_limit[`data_transforms_per_function_memory_limit`]: Adjust this setting if individual transform functions require more memory to process records efficiently. Reducing it may cause memory errors in complex transforms.
7575

7676
The maximum number of functions that can be deployed to a cluster is equal to `data_transforms_per_core_memory_reservation` / `data_transforms_per_function_memory_limit`. When that limit is hit, Redpanda cannot allocate memory for the VM and the transforms stay in `errored` states.
77+
endif::[]
7778

79+
ifndef::env-cloud[]
7880
[[binary-size]]
7981
=== Configure maximum binary size
8082

@@ -88,25 +90,31 @@ Increase this setting if your Wasm binaries are larger than the default limit. S
8890
You can set the interval at which data transforms commit their progress using the xref:reference:properties/cluster-properties.adoc#data_transforms_commit_interval_ms[`data_transforms_commit_interval_ms`] property.
8991

9092
Adjust this setting to control how frequently the transform function's progress is committed. Shorter intervals may provide more frequent progress updates but can increase load. Longer intervals reduce load but may delay progress updates.
93+
endif::[]
9194

9295
[[log]]
9396
=== Configure transform logging
97+
The following properties configure logging for data transforms:
9498

95-
Redpanda provides several properties to configure logging for data transforms:
96-
99+
ifndef::env-cloud[]
97100
- xref:reference:properties/cluster-properties.adoc#data_transforms_logging_buffer_capacity_bytes[`data_transforms_logging_buffer_capacity_bytes`]: Increase this value if your transform logs are large or if you need to buffer more log data before flushing. Reducing this value may cause more frequent log flushing.
98101

99102
- xref:reference:properties/cluster-properties.adoc#data_transforms_logging_flush_interval_ms[`data_transforms_logging_flush_interval_ms`]: Adjust this value to control how frequently logs are flushed to the `transform_logs` topic. Shorter intervals provide more frequent log updates but can increase load. Longer intervals reduce load but may delay log updates.
103+
endif::[]
100104

101105
- xref:reference:properties/cluster-properties.adoc#data_transforms_logging_line_max_bytes[`data_transforms_logging_line_max_bytes`]: Increase this value if your log messages are frequently truncated. Setting this value too low may truncate important log information.
102106

107+
ifndef::env-cloud[]
103108
[[runtime-limit]]
104109
=== Configure runtime limits
105110

106111
You can set the maximum runtime for starting up a data transform and the time it takes for a single record to be transformed using the xref:reference:properties/cluster-properties.adoc#data_transforms_runtime_limit_ms[`data_transforms_runtime_limit_ms`] property.
107112

108113
Adjust this value only if your transform functions need more time to process each record or to start up.
114+
endif::[]
109115

110116
== Next steps
111117

112-
xref:develop:data-transforms/deploy.adoc[].
118+
xref:develop:data-transforms/deploy.adoc[]
119+
120+
// end::single-source[]

modules/develop/pages/data-transforms/deploy.adoc

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
= Deploy Data Transforms
22
:description: Learn how to build, deploy, share, and troubleshoot data transforms in Redpanda.
33
:page-categories: Development, Stream Processing, Data Transforms
4+
// tag::single-source[]
45

56
{description}
67

@@ -10,7 +11,12 @@
1011
Before you begin, ensure that you have the following:
1112

1213
- xref:develop:data-transforms/configure.adoc#enable-transforms[Data transforms enabled] in your Redpanda cluster.
14+
ifndef::env-cloud[]
1315
- The xref:get-started:rpk-install.adoc[`rpk` command-line client] installed on your host machine and configured to connect to your Redpanda cluster.
16+
endif::[]
17+
ifdef::env-cloud[]
18+
- The xref:manage:rpk/rpk-install.adoc[`rpk` command-line client].
19+
endif::[]
1420
- A xref:develop:data-transforms/build.adoc[data transform] project.
1521

1622
[[build]]
@@ -120,7 +126,14 @@ rpk transform delete <transform-name>
120126

121127
For more details about this command, see xref:reference:rpk/rpk-transform/rpk-transform-delete.adoc[].
122128

129+
ifndef::env-cloud[]
123130
TIP: You can also xref:console:ui/data-transforms.adoc#delete[delete transform functions in Redpanda Console].
131+
endif::[]
132+
133+
ifdef::env-cloud[]
134+
TIP: You can also delete transform functions in Redpanda Cloud.
135+
endif::[]
136+
124137

125138
== Troubleshoot
126139

@@ -144,5 +157,6 @@ Invalid WebAssembly - the binary is missing required transform functions. Check
144157
All transform functions must register a callback with the `OnRecordWritten()` method. For more details, see xref:develop:data-transforms/build.adoc[].
145158

146159
== Next steps
160+
xref:develop:data-transforms/monitor.adoc[Set up monitoring] for data transforms.
147161

148-
xref:develop:data-transforms/monitor.adoc[Set up monitoring] for data transforms.
162+
// end::single-source[]

modules/develop/pages/data-transforms/how-transforms-work.adoc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
= How Data Transforms Work
22
:page-categories: Development, Stream Processing, Data Transforms
3-
include::develop:partial$data-transforms-ga-notice.adoc[]
43
:description: Learn how Redpanda data transforms work.
4+
// tag::single-source[]
55

66
Redpanda provides the framework to build and deploy inline transformations (data transforms) on data written to Redpanda topics, delivering processed and validated data to consumers in the format they expect. Redpanda does this directly inside the broker, eliminating the need to manage a separate stream processing environment or use third-party tools.
77

@@ -22,7 +22,9 @@ To execute a transform function, Redpanda uses just-in-time (JIT) compilation to
2222
When you deploy a data transform to a Redpanda broker, it stores the Wasm bytecode and associated metadata, such as input and output topics and environment variables. The broker then replicates this data across the cluster using internal Kafka topics. When the data is distributed, each shard runs its own instance of the transform function. This process includes several resource management features:
2323

2424
- Each shard can run only one instance of the transform function at a time to ensure efficient resource utilization and prevent overload.
25+
ifndef::env-cloud[]
2526
- Memory for each function is reserved within the broker with the `data_transforms_per_core_memory_reservation` and `data_transforms_per_function_memory_limit` properties. See xref:develop:data-transforms/configure.adoc#resources[Configure memory for data transforms].
27+
endif::[]
2628
- CPU time is dynamically allocated to the Wasm runtime to ensure that the code does not run forever and cannot block the broker from handling traffic or doing other work, such as Tiered Storage uploads.
2729

2830
== Flow of data transforms
@@ -74,6 +76,8 @@ This section outlines the limitations of data transforms. These constraints are
7476

7577
== Suggested reading
7678

77-
- xref:reference:data-transform-golang-sdk.adoc[]
78-
- xref:reference:data-transform-rust-sdk.adoc[]
79+
- xref:reference:data-transforms/golang-sdk.adoc[]
80+
- xref:reference:data-transforms/rust-sdk.adoc[]
7981
- xref:reference:rpk/rpk-transform/rpk-transform.adoc[`rpk transform` commands]
82+
83+
// end::single-source[]

0 commit comments

Comments
 (0)